Skip to content

Latest commit

 

History

History
66 lines (52 loc) · 4.11 KB

程序员发展路线.md

File metadata and controls

66 lines (52 loc) · 4.11 KB

现在的软件技术体系已经极其庞大,个人已经不可能成为全才,所以选择正确的前进路线就显得非常重要。

在程序员的道路上,最重要的一句话叫做:一专多能。一定要选择一个自己感兴趣的路线,然后专心往前走。在这个前提下,再尽力拓展自己的视野。不过,拓展视野也仍然要在兴趣的导引下,不要强迫自己学习自己选定路线之外的任何技能。

根据自己的理解,我简要列出一些主流的发展路线,以及这些不同的路线所需要的个人特质。

技术专家

适合喜欢深钻技术的人。

  • 你需要精通很多种语言、开发工具、维护工具等。
  • 你需要对新技术亦步亦趋,随时盯着技术发展的前沿,并进行技术储备。
  • 你需要有敏锐的技术眼光,能够选择出最有前途的技术,投入大量精力去精通它。
  • 你需要能用各种角度、技术、工具去解决其他程序员遇到的各种问题,至少为他们提供参考建议。

架构师

适合富有抽象能力的人。

  • 你需要有很高的抽象能力,要擅长分析事物的本质,通过面向本质来把复杂问题简约化。
  • 你需要有丰富的项目经验,很清楚一个项目会如何老化,为何会老化,特别是如何防止它老化。
  • 你需要了解很多种技术的优缺点(但不要追求每个都精通),知道他们的适用场景。
  • 你需要能读懂很多种语言,能够从纷繁复杂的代码中识别出可以提升到架构层面的模块。
  • 你需要分析很多成功产品,对它们的架构有自己的深入见解。
  • UML对你来说是必不可少的技能。

产品经理

适合追求完美和善解人意的人。

  • 你不需要有多高的技术,甚至可以不会写程序。
  • 你需要有一种对完美的不懈追求,并且能坚定地走向目标。
  • 你需要富有想象力,能在一个产品出现第一版原型之前就大体看到它一年后甚至几年后的样子。
  • 你需要非常了解消费者的心理,能把自己模拟成一个最“笨”的消费者来设计产品。
  • 你需要了解社会的大趋势,能看到哪些需求即将出现,哪些需求即将消失。
  • 你需要富有技术眼光,能看到一项新技术将如何走向实用。
  • 你需要有很强的沟通能力,成为技术团队和消费者之间的桥梁。
  • 如果你做企业软件,那么你需要有一定的谈判能力,能够和客户共同制定分阶段目标。

项目经理

适合意志坚定,富有领导气质的人。

  • 不要追求完美,你的关键词是“权衡”。
  • 你需要有必胜的决心和克服一切困难的勇气。
  • 你需要有感召力和广泛的人脉,能组建和激励自己的团队,能在必要时引入任何所需的外援。
  • 你需要能与各色人等相处,在用严格标准要求他们的同时还能让他们信赖你。
  • 你需要能有效的管理上级,驳回不合理需求并争取资源。
  • 你需要富有伯乐的眼光,发现下属被掩埋的价值。
  • 你需要有举荐贤才的胸襟。曾经的下属成为你如今的上级,这是让任何人对你趋之若鹜的最佳理由。

QA

QA不是测试!而是项目经理的最佳拍档。适合善于总结分析的人。

  • 首先,你需要有一颗平常心。QA不是彰显权力的岗位,而是开发团队的支撑平台。
  • 你需要有丰富的项目经验,有过多种成功和失败的项目经历。
  • 你需要富有长远眼光和务实主义精神,用长期来讲最经济的方式调整研发流程。
  • 你需要有知人之明,及时砍掉合理但对当前团队来说确实不必要的研发环节。
  • 你需要熟悉各类研发辅助工具、集成环境的优缺点,并且帮助团队建立和调整自动化开发环境。

圣骑士

呃,其实也没啥,就是各种各样的“团队增益”光环而已,团队总能量的一个倍增系数。 如果你是一个优秀的技术专家+架构师+产品经理+项目经理+QA,那你就有机会成为一位圣骑士了。