搜狐首页 科技 刺客列传2

手机搜狐

SOHU.COM

程序员职业之路的选择是什么?

程序员的未来是什么样的?

对于这些路应有什么样的选择和期望?

在这篇文章中,我会拉开帷幕,介绍从一个从初级程序员到顶级CTO的潜在职业之路。

注意:很多伟大的职业生涯停留在了不同的职位上,直到退休。一些职业生涯却连连升级。但是管理和领导角色并不适合每一个人,几年以后你可能会发现你在管理上的兴趣改变了。二十几岁的时候你可能不喜欢做经理,但是四十岁时你可能不再喜欢写代码了。未来什么样,谁都很难说。然而,多了解一下你的选择和情况总是好的。http://www.haitunit.com

初级程序员

0-3年工作经验(一般是刚从大学毕业)

会写简单的脚本

初步了解整个应用程序的生命周期

初步了解数据库和应用程序的服务(队列,缓存等)

不需了解复杂的应用中的每一个部分http://www.haitunit.com

但是区别就在于初级程序员缺乏经验。即使是学习最快、最聪明的初级程序员,也没有接触到足够多的代码和边界情况,以胜任高级程序员的工作。在软件开发方面,软件设计模式也是一种智慧。虽然在这方面可以阅读相关的书籍,但还是需要写足够多的代码,将错误尽可能地暴漏出来,真正理解软件设计模式的价值。

高级程序员

至少四年工作经验

能写较复杂的程序

深入理解整个应用程序的生命周期http://www.haitunit.com

掌握数据库和应用服务(队列,缓存等)

要了解应用程序的每一个方面

这个职位也可以作为一个过渡。一旦你掌握了足够的技术,那么很可能就有能力担任一家技术创业公司的创始人或者CTO了。作为一个创始人或者CTO,写代码的就会就少了,更多的是需要处理事务的技巧。但是深入理解技术非常有必要,是做好这份工作必不可少的部分。http://www.haitunit.com

团队领导或架构师

七年以上开发经验

掌握高级程序员必备的技术

团队领导:向架构师过渡

架构师:没有更高的技术方面的职位http://www.haitunit.com

首席开发人员的工作是给其他初级的和高级的程序员指导和方向。虽然首席开发者通常不会做雇佣、解雇程序员的事情,但是他们的许多工作和经理无异。他们需做开发方面的协调,并在写代码的时候做出实现方面的决定。

中层领导

通常包含经理和负责人等职位(开发经理,项目经理,产品经理)

做发人员的老板(例如人事工作)

向高级主管汇报工作

但如果领导一个团队胜利了,也是非常有收获的。如果你想提高领导才能,准备做一个管理角色,可以读读 Phil Jackson 的书 《Eleven Rings: The Soul of Success》 。http://www.haitunit.com

高层领导

VP,CTO 或CEO

是中层领导的老板(例如 负责人事)

向另一个高层领导或者董事会报告

和中层领导显而易见的不同是,高层领导负责管理中层领导。然而经理通常是不需要管理的,他们需要的是指导。中层领导需要知道高层领导的方向并跟进,不会得到非常具体的指示。

高层领导的工作是,做重要的决定,并激励工作人员紧跟决策,增加对工作目标的信心。

高层领导的工作要求确保公司的每一个人都朝着相同的方向努力,确保方向的正确,确保每一个人知道他们朝这个方向努力的原因。这个工作难度非常大,而且充满着危险,心酸和陷阱。如果你想要一个高层领导,读一读Ben Horowitz的《The Hard Thing About Hard Things》.http://www.haitunit.com

高层领导从来都不是天生的,而是经过不断地努力达到的。Ben Horowitz的博客里有有关成为CEO的例子。

结论

今天,程序员的选择是丰富多彩的。而且对于程序员的职业要求比历史上任何时候都要高。对程序猿来说这是一个好的时代。但是任何时候规划你的职业都不算晚。希望本文能排得上用场,给你一些指导和精神食粮。

了解更多精彩内容,请关注:http://www.haitunit.com

精选