资深<span>程序员</span>给新人<span>程序员</span>的八点建议

标签: span 程序员 span | 发表时间:2011-10-22 11:33 | 作者:Apor Frank Cai
出处:http://blog.youdao.com/search?q=%E7%A8%8B%E5%BA%8F%E5%91%98&t=a

07年已经是陈皓在程序员行业里的第十个年头了。总结这十年,毕业的头两年,陈皓在银行中昏昏沉沉中度过,“这是我最失败的时候,两年的时间几乎完全白费了。”。后来在上海的两年,我拼命地学习看书,并不断总结所做的项目,这个阶段是我补课的阶段,也是我量变的阶段。到了北京的这五年,是我从量变向质变转换的阶段。

拼命看书

刚毕业的时候,陈皓也像很多刚毕业的学生一样,根本没有对自己的职业进行过比较好的规划。“还记得当时什么都没有想,就是想做一些实际的事情,好好的钻研一些技术。实在没有别的什么想法。”在毕业头三年中(1998年到2001年),不要说是对未来的职业有所规划,对所学的技术也是毫无规划。

离开银行后到上海加入了一家专做银行的系统集成的公司,发现自己和别人的差距非常的大,所以开始拼命地看书和学习,在到上海的头一年中,看了四、五十本书,研究的技术包括PB, delphi, SQL, HTML, CSS, DHTML, java, Perl, CGI, ASP, PHP, JSP, XML, UML, MFC, Lotus Notes, Unix, Oracle, Informix, C++, ActiveX, ODBC, ADO, .NET, COM, 乃至CISCO路由器的配置,Photoshop, 3DMAX……陈皓学得很杂很泛,完全没有目的,只是觉得别人懂的自己也要懂。

“看了许多许多的书,完全没有好好想想自己应该走什么方向。现在回头看来也不知道是好还是不好。”

也许是看的书太多,懂的东西太多,后来有机会参与了一次全国性质的项目。后台是AIX+Informix用C开发,前台是用PB的PFC做界面,通过IBM的CICS这个中间件连通前后台。在开发这个项目的一年时间里,陈皓对Unix/C/C++以及分布式系统有了非常深刻地认识,并深深地迷上了它们,同时对大型软件工程的流程和管理有了非常深刻的了解。

这个项目对陈皓的影响非常大,除了技术上的收获之外,更让陈皓逐渐确定了自己的规划。

技术之外

2002年底,北京一家做分布式计算/网格计算平台的加拿大公司对我产生了兴趣,经过5轮面试陈皓拿到了offer,又一次开始了我的奔走——从上海来到了北京。

新的公司让陈皓的Unix/C/C++得到了非常大的巩固,“这个公司也让我这个土狼学到了很多很多,特别是认识和观念上。”特别是在带领一个team对公司欧洲用户做Customer Service方面的工作时,陈皓学到了很多客户管理的知识,英语能力、与人沟通的能力以及对软件的认识得到了完全的升华。

陈皓开始使用一种和以前完全不一样的方法去思考问题——从用户的角度对问题进行思考。“此时,技术方向对我来说已不重要,技术对我来说已经变得非常简单,因为技术只需要看书看文档就可以获取。”陈皓开始用全新的方式思考如何管理一个团队,如何制造一个成功的软件,如何管理客户。并由此有了更进一步的职业规则——成为一个成功的技术主管、建立一个成功的团队、开发一个成功的软件产品。

给新人程序员的八点建议

走过弯路,有过迷茫,回首九年陈皓感慨万千。“今天,我对许多刚上路的朋友都会说,人生的规则很重要,从上大学时就要好好规划。”他结合自身经历,对许多刚踏入程序员行列的新人程序员,他给出了以下八点建议:

1.在大学的时候尽量多地进入公司参与实际工作,一方面积累工作经验,另一方面,提前认识工作和自己,以便毕业时更准确地把握自己的方向。

2.从毕业开始到毕业后至少5年内,踏踏实实地专研技术,这是一个积累过程,千万不要把心思放在钱和职位上。钱和职位只是能力的附属品,不要让其喧宾夺主。

3.从毕业后3年到7年的时间,注意学习工作当中的方法以及相关的管理和流程,不但要知其然,还要知其所以然。

4.30岁以前,踏踏实实地学习。学技术,学做人,学做事。30岁以后再谈自己的发展。

5.毕业后的前5年主要是量的积累,要不停地积累知识和方法。毕业后的5到10年主要是质变,应该着重于思维和想法的更新。后五年应该有很强的包容能力和接受新东西的能力,千万不要太过固执和坚持自己的想法。

6.换工作要“承前启后”,前面的工作会成为后面工作的一个基础,而后面的工作又会成为前面工作的一个很自然的延续。

7.不要只把心思放在技术上,技术是hard skill,只要下工夫就一定会掌握。更要注意与人沟通等为人处事的soft skill上。hard skill像一个大树的根,而soft skill则像一个大树的枝叶。树根是你的根基,能让你站得很稳,而枝叶能让你向天空伸展,获得发展。

8.对于程序员来说,应该始终记住,技术不是主要的,主要的是通过技术能够解决什么样的问题。一定经常想要解决什么的问题,要满足什么样的需求,而不是要用什么样的技术。

相关 [span 程序员 span] 推荐:

资深<span>程序员</span>给新人<span>程序员</span>的八点建议

- Frank Cai - 程序员 - 有道博客搜索
07年已经是陈皓在程序员行业里的第十个年头了. 总结这十年,毕业的头两年,陈皓在银行中昏昏沉沉中度过,“这是我最失败的时候,两年的时间几乎完全白费了. 后来在上海的两年,我拼命地学习看书,并不断总结所做的项目,这个阶段是我补课的阶段,也是我量变的阶段. 到了北京的这五年,是我从量变向质变转换的阶段.

惹恼<span>程序员</span>的10件事

- Frank Cai - 程序员 - 有道博客搜索
来源: CSDN  发布时间: 2011-08-30 13:36  阅读: 4145 次  原文链接   全屏阅读 [收藏]  . 摘要:让我来看看10种能把程序惹毛了的事情. 一方面我们可以看看程序员的共性,另一方面我们也可以看看程序员的缺点. 无论怎么样,我都希望他们对你的日常工作都是一种帮助.

[转载]有理想的<span>程序员</span>必须知道的15件事

- Frank Cai - 程序员 - 有道博客搜索
原文地址:有理想的程序员必须知道的15件事作者:一路程的思念. 有理想的程序员必须知道的15件事. 作为程序员,要取得非凡成就需要记住的15件事. 在有利于自己的市场中竞争,如果你满足于“泯然众人矣”,那恐怕就得跟那些低工资国家的程序员们同场竞技了. 以我在医院、咨询公司、物流企业以及大技术公司工作的经验来看,这一点所言不虚.

如果说中国的<span>程序员</span>技术偏低,原因可能在这里

- Frank Cai - 程序员 - 有道博客搜索
如果说中国的程序员技术偏低,原因可能在这里. 首先来说一个高级程序员并非靠自己读几本书写几万行代码就能练就的,我更关注于低层的环境,也就是程序员实实在在的工作环境. 因为程序员的高低还得从实际的工作来衡量,而非其它. 所以我想说的是,中国的软件公司的性质直接导致程序员的水平的高低. 而我所说的软件公司,不是指某个或者某几个,而是指主流的软件公司,大众型的软件公司.

<span>激励</span>员工的九大妙招

- weihao_L - 激励 - 有道博客搜索
成功的主管只有想方设法将员工的心里话掏出来,才能使部门的管理做到有的放矢,才能避免因主观武断而导致的决策失误. 主管鼓励员工畅所欲言的方法很多,如开员工热线、设立意见箱、进行小组讨论、部门聚餐等方式. 工作本身就是最好的兴奋剂,与其让员工揣测公司发展前景,不如让员工把心思放在工作上. 前程无忧专家认为,主管应该在工作中与员工“共同进退”,给员工提供更多工作中需要的信息和内容,如公司整体目标、部门未来发展计划、员工必须着重解决的问题等,并协助他们完成工作.

每天需要<span>激励</span>自己的成功名言

- weihao_L - 激励 - 有道博客搜索
 01.每天告诉自己一次,『我真的很不错』. 02.生气是拿别人做错01.每天告诉自己一次,『我真的很不错』  02.生气是拿别人做错的事来惩罚自己.   03.生活中若没有朋友,就像生活中没有阳光一样.   04.明天的希望,让我们忘了今天的痛苦.   05.生活若剥去理想、梦想、幻想,那生命便只是一堆空架子.

普通程序员、文艺程序员、2B程序员

- 可可 - 宇宙的心弦
希望能引起广大苦逼的正在学或者已经学过c++人的共鸣和会心一笑吧. 如何辨别自己在现实还是虚拟世界.

如何面试程序员?

- bluesnail - 阮一峰的网络日志
你要面试一个程序员,应该问他什么问题. 有人在Hacker News的讨论区里,请求指点,怎么才能在面试中发现合格的人. 众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章. 首先,最重要的是,你自己一开始就应该想清楚:. 哪些途径和方法可以发现这样的人. 只有明确这些根本性的问题,才能正确高效地完成面试.

程序员的本质

- Allen - 译言-电脑/网络/数码科技
来源What do programmers really do?.   很多人(包括我岳母)认为计算机变得如此智能,所以在不久的未来将不再需要程序员. 另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题. 甚至不少程序员对他们是做什么的都没有清晰的概念.   在这篇文章中,我想给不知情的人解释一下程序员到底是做什么的:.