网站建设初步策划方案,seo实战培训班,html5开发工程师是做什么的,wordpress招商加盟主题程序员的发展观#xff08;摘自凤凰架构#xff09;
程序员#xff0c;字面意思是指编写程序代码的人。但在不少程序员的认知里#xff0c;今天去写代码#xff0c;目的却是为了日后可以不必再写代码。程序员的”进阶职业“中#xff0c;无论是对“顶层设计”、“战略架…程序员的发展观摘自凤凰架构
程序员字面意思是指编写程序代码的人。但在不少程序员的认知里今天去写代码目的却是为了日后可以不必再写代码。程序员的”进阶职业“中无论是对“顶层设计”、“战略架构”侃侃而谈的架构师和资深专家还是“从技术走向管理”的研发部门管理者似乎都已脱离了字面意义上的“写程序代码的人”作为程序员这个群体的领导者或管理者理应以治下的程序员能有更高的效率更好的产出作为工作目标和考核依据。
按职业经理人的视角来看以上是合情合理的但这种视角下的程序员恐怕也算得上是最难以管理的职场群体了工作的过程无法标准化和流水线化编码的产出指标与质量指标都很难量化地衡量和对比偏偏写代码这种工作还是一种创造性的脑力劳动性质决定了程序员必须是一群能独立思考带有一点天生洁癖有一点习惯性找茬纠错抬杠的人领导交办的任务动辄“这个需求不合理”要么是这个功能实现不了”天哪怎么会有如此难缠难管的员工
与此相对的另外一面业界普遍都认可程序员是相对单纯不必琢磨复杂人际心思的职场群体这群人天生带有一种工匠式的图腾崇拜精神本质上与旧时的小手工业者并没有什么区别都奉行达者为师不迷信管理他们的人但充分尊重能够指导他们的人都带着些许理工钢铁直男式的直线思维爱讲逻辑爱讲道理万一讲不通起码还能“Talk is cheap, Show me the code”从这个角度来看一个对事不对人的、爱讲道理的群体又怎么可能会难缠难管呢 Talk is cheap. Show me the code. 屁话少说放码过来。 —— Linus Torvalds, Re: SCO: “thread creation is about a thousand times faster than onnative”, 2000 以上这些是希望无论日后你的职业目标是永远做一名程序员还是架构师抑或是成为一名研发管理者都不要轻易地离开技术领域的一线前沿离开技术、放弃编码的决定很可能会像你高考之后放下的数学、生物、地理等知识那样一旦放手毕生就很难有机会再重新捡起来。
久而久之你对代码、技术、产品状态与团队研发状态的理解渐渐和团队成员产生了偏差错位丧失了细节上给予指导的能力丧失了专业问题上提出接地气解决方案的能力只能在无法“Show me the code”短期难以校验对错的大战略方向提意见在会议、流程及团队管理措施上下功夫在职业经理人式的宣讲与汇报上寻找存在感此刻你便从团队的导师变成了管理者最终你与团队的关系从携手并肩奋斗的伙伴完全演变成只能靠公司制度与管理职位的权力来维系雇佣关系。 《架构整洁之道》第 15 章 Software architects are the best programmers, and they continue to take programming tasks. Software architects may not write as much code as other programmers do, but they continue to engage in programming tasks. They do this because they cannot do their jobs properly if they are not experiencing the problems that they are creating for the rest of the programmers. 软件架构师本身就是最好的程序员他们会一直编写代码虽然可能不会像其他程序员输出的代码量那样多但是只有持续地编程才能确保他们遇见其他程序员所面对的问题体会其他程序员心中的感受因此如果不编程他们亦将无法胜任软件架构这项工作。 —— Robert C. Martin, 《Clean Architecture》, 2018 我很清楚在目前的 IT 业界只有少量极客文化浓厚的公司会允许少量高端程序员以“独立贡献者Individual Contributor”的角色做到高端的职位绝大多数企业都还是“技而优则仕”去做管理或者做战略方向的务虚工作往往是由屁股决定的问题而非由脑袋决定的问题。
我也相信假如能够轻松地做好技术没有人愿意随便放弃。我所听过的离开技术一线最常见的原因是“年纪大了时间不够用了”或要“聚焦精力去做管理了”。对这种现象我的看法是确实很难轻松地做好技术但是做在好技术工作的前提下却有可能较为轻松地做好架构和管理工作。
我自己也是一名架构师和管理者在作自我介绍的场合用的头衔却从来都是“兼职一些管理工作的程序员”这是一种人设标签。如果你问我为什么管理几十人、几百人的团队的同时还能抽出时间去编码、去写作、去关注具体的细节与技术的潮流发展我会理所当然地回答“因为我是一名程序员”啊。这句话的第一层意思是我是程序员去编码是天经地义的。另一层意思是我是程序员与一群最讲道理、最直来直往、最不需要琢磨小心思的程序员协同工作管理才不需要耗费太多的精力因此“兼职管理”才是可行的。