还记得开篇词中我画了一个程序员的成长路径图,其中在图的左侧部分展示了程序员成长路径上一些主要阶段的定义,在我们从初级走向资深的过程中,会面临一条支路,在这条路上不仅普遍称呼的名称不同了,工作内容可能也发生了变化,角色的转换会带来不少的困惑。 这条路就是从 “程序员” 到 “技术主管” 再到 “架构师” 的路径,下面我们就来看看这条路径上的三个角色有何不同?
程序员与寻路
当我刚进入软件行业成为一名程序员时,我的理想就是成为一名架构师。
“架构师”这个词的英文叫 Architect,原意是建筑师,因为软件行业参照借鉴了很多建筑行业的概念,所以就借用这个词。我是在学校读书时知道“架构师”这个名词的,当时很多软件方面的书都是翻译过来的,也不知道是谁最早把 Architect 翻译成了“架构师”的。总之从那时起,“架构师”这个名词对于我这个刚准备走出校门的学生来说就特别高大遥远,自然当成了最初的一个职业目标。
但遗憾的是在我从业前几年的好几家公司,都没有架构师这个职位,直到后来进入了互联网公司。到了京东后,不仅有架构师职位,还有架构师团队;在这里,不仅有了方向,还可以放心地作为一名程序员发力狂奔:不停地写程序,优化代码,追求更优、更简洁的代码,重构了一遍又一遍,解决了一个又一个问题。