软件专业人士该怎么将年轻的毕业生提升到专业水准上?

生气的散人 发布于 2012/11/26 11:24
阅读 680
收藏 1

计算机科班毕业生的质量一直令我颇感失望。究其原因,并不是这些毕业生不够聪明或缺乏天份,而是由于大学并没有教授真正的编程之道。


那么软件专业人士该怎么样将年轻的毕业生提升到专业水准上呢?他们该遵循哪些步骤?他们会遭遇哪些挑战?他们需要达成哪些目标?让我们从后往前看一下这个过程。


1. 大师

他们是那些已经领导过多个重要软件项目的程序员。一般说来,他们已经拥有10年以上的从业经验,曾在多个不同类型的系统、语言和操作系统上工作过。他们懂得如何领导和协调多个团队,他们是熟练的设计师和架构师,能够游刃有余地编程。组织曾为他们提供管理职位,但是他们不是拒绝就是在接受管理职位后又回去了,或是将管理职位和主要承担的技术角色整合在了一起。他们通过阅读、研究、练习、实践和教学来维持自身的技术水平。公司会把项目在技术方面的主要职责交由大师承担。想象一下,大师就像“Scotty[1]”。

2. 熟练工

他们还处在受训期中,不过已能胜任工作,而且精力充沛。在职业生涯的当前阶段,他们将会学习如何在团队中卓越工作和成为团队的领导者。他们对当前的技术都十分了解,但是对其他许多系统尚缺乏经验。他们一般只了解一种语言、一个系统、一种平台,但是他们正在不断学习的过程中。他们彼此间的经验水平差异可能很大,但是平均经验水平大约在5年左右。往上是成长十分迅速的大师,往下则是刚刚进来不久的学徒工。

熟练工在大师或者其他资深熟练工的督导下工作。很少会让资历尚浅的熟练工独立工作。他们在严格的督导下进行工作。他们的代码会被人仔细复查。随着经验不断积累,他们的自主能力也会不断增长。对其直接介入指导的地方也会变得越来越少,指导内容也会越来越趋向那些微妙之处。最终,督导活动会转为以“同行评审”的方式进行。

3. 学徒/实习生

毕业生会从学徒这一步开始他们的职业生涯。学徒没有“自治权”,他们需要在熟练工的紧密督导下工作。在一开始,他们不会单独承接任何任务,而只能作为助手为熟练工打下手。在这个阶段,应该十分密集地进行结对编程。这一时期是学习纪律并强化各项实践的阶段。各项价值观的基础也都是在这个阶段塑造成型。

熟练工会担任他们的导师。他们要确保学徒们能够了解设计原则、设计模式、各种纪律和固定的操作环节。熟练工会向他们传授TDD、重构、估算等各种技艺。他们会为学徒安排阅读、练习和实践任务,还会检查学徒们的任务进展情况。

学徒期至少应持续一年。期满之时,如果熟练工愿意接受学徒上升到他们这个层级,就会把学徒推荐给大师们。大师们则通过面谈和水平检测,对学徒们进行考核检验。如果能够取得大师们的认可,那么学徒便可晋升为熟练工。

本文摘自《程序员的职业素养》

注:Scotty也是电影《星际迷航》中的一个角色。他在星舰“企业号”上担任总工程师的角色,能解决几乎所有遭遇到的工程问题。

加载中
0
姑妄听之
姑妄听之

不同意你这个看法。

大学教育的目的,本来就不是培养马上就能上手干活儿的技术工人的。那个是街头培训班的功能。如果你用能不能上手干活儿,来评价大学生的质量。那肯定是要失望的。

寂寞沙洲
寂寞沙洲
从功能上说:职业教育=现在的大学 明显是定位错误,也是国情所致,都为了赚钱!
echor
echor
不能干活的大学生有什么用?
0
狂奔蜗牛
狂奔蜗牛
现在的企业需要的就是大学生刚毕业就马上能上手干活的,从就业的角度来看,当今的大学教育是失败的,而我就是这个失败教育的荼毒者之一
0
无声之声
无声之声
对毕业生来说,有时什么样的能力就进什么公司;对企业来说能给出什么样的待遇,就招什么样的人。能干活的可选择公司,不能干活的被选择。一个企业抱怨找不到人,也要自思待遇如何。抱怨工作难找的,多是能力不足。教育有问题,不代表教育一点作用也没有,多少还是培养出了一些人。。
返回顶部
顶部