写给程序员新手的话——(2)入门

写给程序员新手的话——(2)入门

2011年12月20日 陈志远


        如何快速入门了?很多人都会问这个问题,答案是:没有,是的没有捷径。所以我这里不讲“如果快速入门”,而是讲“如何入门”,引导你打好基础,少走弯路,最后水到渠成的成为一名合格的软件开发人员。“师傅领进门,修行靠个人”,入门后能作出多大的成绩就靠你自己了。在这里我假设你是一个计算机(或相关专业)的学生,如果你不是的话也可以参考着自学。
首先,在大学里要学好相关的基础课程,比如:微机原理、数据结构等等,这些东西就好比房子的地基,虽然在以后的开发过程中很少能直接用到它们,但是其实无时无刻不在影响这你,如果没有坚实的基础就好比在流沙上盖房子,越高越危险。很多人经常抱怨大学的课程老旧,技术落后,跟不上时代潮流。其实这种观点是错误的,没有明白大学教育的真正意义。大学就是教会你某领域的基础理论,培养你的自学能力。而在上班后具体用到的技术应该是靠自学来完成的。新技术层出不穷,但是根本的理论却是很稳定的。如果当前什么技术流行大学就教什么,那和职业培训学校有差别。当然,我国的大学教育有各种各样的问题,这个不属于本文讨论的范围。现在很多人、很多公司抱怨大学生毕业后无法在公司直接工作,这是一种急功近利的行为。新人进入公司本来应该有3个月到半年(有的甚至1年)的入职培训和实习期,这一段时间就是把一个通用型人才培养成为适合你们公司的专门人才。而我们的公司都急功近利的把这个省略了,希望招到人马上就能用,本来就是不合理的。最后还赖学生没有工作经验,就如网上一个人说的:诸葛亮出山前也没工作经验,你怎么要求我有工作经验呢?
上面东拉西扯的说了一大堆,总结起来就是大学的基础课程虽然很枯燥,但是很重要,一定要学好。在大四的时候可以开始自学一门当前流行的开发工具,并学习一种主流的数据库。对你将来找工作一定很有好处。学这些东西差不多半年应该就能入门,然后做几个小软件练习练习也就差不多了。当然目标不要设定太高,能把基本概念搞清楚,能写一下小程序就行了。
        说到自学,那么我们现在就讲讲如何自学。首先要明确我们自学的目的是为了学会一种技能而不是为了应付考试,所以划重点加死记硬背的那种传统的学习方式千万要不的。除非是为了应付入职考试、等级考试等等,在以后的自学中千万不要死记硬背。在实际的工作中,我们是可以看着书、查着网络来写程序的,而且现在的开发工具也很智能,能随时提醒你相关的语法。在明确了学习达到的目标后,我们开始讲学习的过程。
        要自学当然是买一本入门的书了,买一本薄薄的300-500页的书就行了,不要太厚。(关于如何选书我会在以后专门讲),书太厚了读了好久还没看完,会打击你的自信心的。如果你是在大学可以和三五个同学一起学,有问题也能一起讨论,避免钻牛角尖。如果是参加工作了,找个前辈拜师是个相当不错误主意,有人带着能让你少走很多弯路,并且事半功倍。其实师傅带徒弟是一个很好的模式,能让新人快速适应公司的工作环境(这里不是指天气、地理位置啊,是指开发工具、工作流程、管理模式等等),也能减少企业培训成本,使企业的业务顺利传承。据说(不知道是真是假)在日本好多大公司的老职员退休时,都会领着自己的继任者挨个去拜访自己负责的客户,说“我要退休了,以后就由XX负责与你联系,请多多关照”,这样就避免因为人事变动使公司的客户资源流失。而我们的公司有多少能做到这个了?只有少数大公司能做到给新职员配备师傅,至于离职的时候介绍继任者给客户估计很少有吧。不好意思又扯远了,忍不住发了几句牢骚。
        我们接着回来讲,自己过程中难免会遇到各种各样奇奇怪怪的问题,大部分问题其实很低级,这时候怎么办?1、思考,2、google,3、问人,就是这个顺序。不要一上来就问人,无论是谁,低级问题问多了都会烦,而且每个人都有本职工作要完成,没有太多时间给讲细枝末节,只能指指大方向。如果不经过思考直接上网搜索或问人也会失去自我提高的机会,得到的答案记的也不深刻。当然如果自己确实解决不了也不要硬扣,上网搜索一下或者问问人一般马上就能解决,因为你遇到的问题一般别人都遇到过,破天荒只有你遇到的问题很少。学习新知识的过程是一个艰难而痛苦的过程,一定要硬着头皮坚持下来,学习一段时间后慢慢的就会茅塞顿开豁然开朗。
学习过程中,要一边看书一边做示例程序,只看书不动手不行。示例程序一定要自己亲自一行一行的敲进去,不要直接下载示例代码编译运行一下了事。写代码和调试的过程也是一个学习的过程,学习一段时间后最好能进入一个使用这种技术的项目组实际参与一些工作,这样学习的更全面更牢靠,毕竟示例程序都太小而且都是有针对性的“规定动作”,而实际项目中什么问题都会遇到,更贴合实际。如果不能进入         项目组就自己想着编一个小应用练练也行。
      这一节洋洋洒洒写的有点多了,就先这样吧,其他的问题以后想到再写。


敬请期待下一节《写给程序员新手的话——(3)选书》

——————————————————————
欢迎转载,但请保持文章的完整性,并注明出处!
——————————————————————


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值