程序员:开始编程生涯的5个建议

2010-10-18 14:13:17来源:伯乐在线作者:

如果想成为一名程序员,你需要通过一些有创造性的方式来获取经验并且并推销自己。本文作者分享了一些引导性的实用对策。有位会员在我们的论坛上提交的一个问题,问到他是否可以开始他的程序员生涯了。他已经花了大量

如果想成为一名程序员,你需要通过一些有创造性的方式来获取经验并且并推销自己。本文作者分享了一些引导性的实用对策。有位会员在我们的论坛上提交的一个问题,问到他是否可以开始他的程序员生涯了。他已经花了大量的时间自学C#。他现在在学习WPF。此外,他是从事互 联网领域的工作,因此,他对IT业已有了解。根据他的情况,我想,他已经准备好了去挑战职业开发生涯。就他如何实现目标,我有如下建议。

1. 基础学习

当涉及基础学习时,很多自学编程的朋友都有一个错误的认识。促使某人自学编程的心态是一种“现在就做些事”的动力和渴望。有这种心态非常好!但不幸的 是,在学习新东西时,一旦涉及基础,很多人都急于求成(还没学会走路就想跑)。这是我的个人经验。这也就是为什么自学的程序员有时候名声不大好的原因。

确信你学到了编程基础。这包括变量名、合适结构体、有时候需要查找库而不是应用程序等等。《如何学习用某某语言编程》,这类典型的书籍往往忽略了成为 一名编程高手所具备的能力:解决问题的能力。在这里,我向大家推荐Abelson和Sussman的《计算机程序设计与解释》一书,此书对你快速提升能力 大有帮助。

编者注:《计算机程序设计与解释》一书于1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年修订为第2版。在过去的二十多年里,此书对于计算机科学的教育计划产生了深刻的影响。


2. 多参与项目

编程经验,多多益善。我推荐你加入一个开源项目,或者加入当地非盈利组织,帮他们编写软件。

你将有如下收获:

    * 你将接触到如何将一个应用程序更加规范;
    * 你将经历研发的整个流程,包括产品维护;
    * 你将学到团队合作经验;
    * 你将学到基础知识,比如版本控制和编写文档;
    * 你将得到的成就感让你远离失落;
    * 你将可以把这段项目经历写在简历上。


3. 接受减薪

如今经济的颓势已经不再是什么秘密。一直以来,我听到的说法是:虽然有很多空闲的职位,但是工资着实很低。很多雇主把目标锁定在可以接受更低工资或者重新评定工资等级的人身上。

大学应届毕业生(他们当中的很多人发现毕业后便失业)是入门级的竞争力。另外,绝大多数应届毕业生没有像已在职员工那样的经济负担,同时,和那些毕业多年的、有贷款、有家室和车贷的人相比,他们可以接受更低的薪水。

入门级的职位同样也是最容易外包出去。但不幸的是,开发行业的总体趋势是:在职业生涯中,头五年左右的日子正变得越发艰难。


4. 关注非程序研发职位

在研发团队中,有很多职位并不参与研发工作,可是它们也会让你向目标进一步迈进。比如像品质保证/检测、维护、技术支持等。必要的话,从中选取一个作 为进入研发行业的敲门砖。接着,从容地寻找通向编程之门。举个例子,你现在是一名质检员,除了单纯地寻找错误并报告外,你还可以仔细检查代码,找出错误出 现的位置并以用标签加以标记。研发人员会很感激你的帮助在证明自己能力之后,开发行业的大门也向你敞开了。


5. 给老板做兼职

以你现在的经验来讲,找到一份兼职工作不太靠谱,但如果是为你现在的老板多做些分外事的话,也许可以。和你的老板还有同事们沟通一下,看看有没有一些 简单的程序可以替他们完成,来减轻他们的负担。接下来,便是编写程序。如果你身边有一个内部的开发团队,你可以为他们提供一些帮助。一些经理会让你在工作 时间内来做,另一些则让你在自由支配时间内完成。当然,你也可以尝试从外部接些兼职项目,参考这篇《成功接项目需要注意的几个要点》。

不管是哪种方式,你都会得到开发经验,你在目前老板面前更有价值,甚至可能在目前的公司中为自己开启一个新的职业方向。在我的职业生涯中,我一次又一次地发现,当面临事业成长、事业发展和新方向时,“多做些分外的事”可以扭转局面。

编者注:WPF(Windows Presentation Foundation)是美国微软公司推出.NET Framework 3.0的组成部分之一,它是一套基于XML、.NET Framework、向量绘图(vector graphic)技术的展示层(presentation layer)开发框架,微软视其为下一代使用者介面(user interface)技术,将广泛被用于下一代Windows平台(Windows Vista)的界面开发。

关键词:程序员编程