原文链接:
程序员首先是员工,其次是工程师;对于这个职位来说,工程技能比创造力更重要。
为什么有些人要在科技上创造神?
大家应该都感觉到,这两年科技圈的氛围变得和创业圈相似了。这其实是有原因的。
主要原因是创业公司和创业媒体越来越多,需要大量的程序员投身于创业这种高风险的行业,而造神就是自动跳入火坑的绝佳方式。 。并不是说程序员不能创业,我是说创业媒体刻意模糊了创作与创业的界限,曲解了程序员的创作冲动,鼓励了太多不适合的人去创业。
另一个原因是招聘成本飙升。为了增加影响力,CTO们不得不频繁参加各种会议来刷脸。如果你擅长写作,多参与自媒体和技术社区,不仅可以强化个人品牌,增加你的身价,还能提高你融资时的成功率。
总之,这个行业涌现了各种技术高手。
在普通人类和初级程序员眼中,这些大神无所不能,是他们所向往的目标;在中高级程序员眼中,这些大神就是他们自己,只是还没有流行起来……
于是,攀比心理开始蔓延。全国排名第三的建筑师很多,整个圈子逐渐浮躁起来。
然而绝大多数程序员仍然是员工
包装的时候,媒体喜欢按照独立开发者的路线来包装。 “我从小就有技术天赋”、“大学时在编程比赛中一鸣惊人”、“我写了一个APP,一个月就有几千万用户”、“我辞职了”公司并开始自己创业并在三年内上市”。
好吧,这确实是一个程序员的职业路线图。但媒体不愿意告诉你的是,第一,只有极少数程序员通过这条路取得了成功;其次,这条线其实需要太多非程序员岗位的技能,比如产品设计能力、销售能力。
这次事件造成了两个结果。一是比较冲动的程序员跑去创业。另一种是不太冲动的程序员觉得自己可以天天创业、干大事,但在现在的公司,自己的才华却减少了。于是就有了这样的画面:员工每天都抱怨雇主无法为他们提供高管或独立开发人员级别的待遇。
如果你不经营自己的公司,那么作为一名员工,你的价值取决于你对公司的贡献。
大多数互联网公司程序员岗位没有技术门槛
不幸的是,绝大多数互联网公司都不是技术驱动的公司。果然是鸟哥说的。事实上,大多数技术岗位的技术门槛并不高(门槛在于工程,稍后会详细讨论)。技术对于这些企业来说是保驾护航,而不是破冰船。
还不先打我。冷静下来想一想。有多少你知道而你的同行不知道的技术?不多,对吧?
几年前,十亿级搜索仍然是一个问题,但现在通用解决方案无处不在;几年前,几千万到上亿的网站、APP解决方案还掌握在大公司手里,但现在每次架构会议都讲得很糟糕,而且其实都差不多;甚至带有API接口的框架也开始出现,使用REST时只需要传递图片就可以得到结果。
很多事情不再困难,只是需要不断的投入。是的,对于绝大多数程序员来说,他们不需要成为科学家,但他们需要成为工程师,从科学家手中接过火种,放火焚烧草原的人。
是什么造就了一名优秀的工程师
工程的本质不是创造,而是消除风险。
工程就是如何低成本、高效率、按时、按量完成既定的任务。所以,判断一个工程师是否优秀,不是看他有多大的创造力、有多大的名气,而是看他的稳定性如何,能做什么。在中文里,它的意思是“可靠”。
有时候一个好的解决方案不一定采用最新的技术和框架,但可能看起来简单朴实,技巧都蕴藏在背后的细节中。就像顶尖高手打的斯洛克台球一样,每一杆都平淡无奇,只是因为上一杆的回球太好了。
有同学问,如果我工科成绩这么好,是不是就没有机会遇到一些困难的挑战了?不用担心,大多数公司都会聘请产品经理来帮助您创建高风险事件。
同样,优秀的工程师会选择最适合需求和团队的解决方案,考虑开发效率和系统效率的平衡,从而达到最优的效果;而不是整天和别人争论哪种语言最好,哪种框架过时。
该项目的另一个要求是进度控制和质量控制。
项目批准后、开工前,对需要做的事情制定详细的计划,并给出未来一到两周内工作的详细时间表。这是进度控制的基础。
代码的及时入库和合并、自动化测试和日常构建、文档编写,这些看似微不足道的习惯却决定了项目的质量。
不幸的是,许多程序员认为这些对工程至关重要的东西是垃圾,是对他们“创造力”的压制。
他们总是以创造力为借口,寻求自己的自由,比如上班不戴名牌、不打卡、午休时间在公司看视频、玩游戏等。最好是远程工作,并在项目到期之前回来检查进度。公司不使用统一框架,只有白痴写文档。
对职业的误解和工程能力的缺乏,培养了一大批会写代码却不会写代码的“码农”。相反,那些工程能力强、习惯好的程序员却成了稀缺品。
最后,我们来说说程序员无处可去的创造力。
用锤子找钉子是很正常的原始冲动,但我们必须认识到,创造力才是程序员职业生涯的锦上添花。如果你没有很强的工程技能,创造力就毫无意义。因此,为项目奠定坚实的基础是最根本的。
在此基础上,我建议程序员内外兼修。对公司内部的项目采取相对保守的策略,尽量做到最好的稳定性,培养自己优秀的工程能力;然后在公司外的开源项目和自己的独立项目上采用一些新的技术和做法一些新的想法,充分发挥你的创造力,你还是得有梦想吧?
这样做最明显的好处是,您可以了解新技术和激进解决方案的优缺点,使您在选择解决方案时更有依据;还有一个职业发展的好处:如果你不是负责人,公司的项目往往不能代表你的能力;但独立项目可以出现在你的简历中,作为非常好的能力证明。
你可以做一名手艺精湛的工匠,在自己家里就可以尝试个人作品的各种技法和风格;但当你参与颐和园级别的项目时,你可以雕刻你作为总设计师负责的石头。有求必应——毕竟这个时代很难一个人负责整个项目。这就是我理解的程序员的工匠精神。