专栏名称: CTO肉饼
robbin是前JavaEye网站创始人,现在是丁香园CTO。如果你是技术人员,正在创业或者希望加入创业,关注互联网产品、研发、运营、创业管理,请关注我。
目录
相关文章推荐
51好读  ›  专栏  ›  CTO肉饼

你想成为这个时代的极客还是码农呢?

CTO肉饼  · 公众号  · 程序员  · 2022-10-21 19:02

正文

请到「今天看啥」查看全文



又到了一年一度的 1024 程序员节。记得二十多年前,既没有程序员节,也没有「码农」这种看起来自嘲意味非常浓重的称呼。在那个时代,程序员的职业,还带有非常浓重的「极客」色彩。


其实程序员的职业群体,是伴随着PC时代出现的。在此之前,软件本身是附带大型主机一起售卖的。但是在1976年,比尔盖茨写了一封公开信:「致电脑爱好者的一封公开信」,首次提出软件应该是付费购买的。由此标志着商业软件时代的来临。


那是一个程序员极客单枪匹马的个人英雄主义年代:微软的比尔盖茨和保罗艾伦,苹果的斯蒂夫沃兹尼克,Linux的创始人Linus Torvalds等等。国内也曾经涌现了这样的极客,求伯君,王江民,雷军,张小龙等等。无不是以高超的软件开发能力著称。


进入互联网时代以后,也有一批程序员背景的创业者应运而生,例如Google的拉里佩奇和赛吉布林,雅虎的杨致远和大卫费罗;包括国内互联网公司中腾讯的马化腾张志东,网易的丁磊,360的周鸿祎,包括字节跳动的张一鸣,美团的王兴等等。


但是其实互联网时代以来优秀的极客程序员,已经和PC时代的极客程序员有很多差异了。对技术能力的要求,也许未必需要那么顶尖,反而对于商业意识的敏感度成为了更加重要的因素。同时也告别了几乎可以单枪匹马创造奇迹的可能,反而都需要通过团队协作来创新。


最近十几年,软件开发进入了云计算时代,特别是最近几年,全面进入了云原生时代。可以这样说,在云原生时代的程序员,已经从二十多年前的极客,逐渐一步步变成了如假包换的码农。而在云原生的时代,极客已经变得越来越稀罕。


PC时代的软件开发其实有点像「手工业时代」,程序员从操作系统之上完整的构建整个软件,并且还需要对操作系统有非常深入的了解;


而互联网时代的软件开发就进入了「工业时代」,程序员不需要了解太多操作系统的底层编程,但是要对网络编程,构建基于Web的程序架构有非常深的熟悉;


而在当今的云原生,就进入了「大规模工业化时代」。基本上程序员不再面对操心系统编程了,而是面向云服务编程。只要声明需要哪些云服务就可以,基本上在云厂商提供的平台上,或者在架构师精心构建的中台上,快速大量构建业务逻辑。既不需要关心基础架构,也不需要了解操作系统和网络处理。


这种非常专业的分工,固然提升整体团队的软件代码产出量,但是对于某一个编写业务代码的程序员来说,自身掌握的技能就不再是全面和完整的,而只是局限在单一的技能上,某种程度上,就沦为了大规模软件生产线上的码农。


这似乎是很多行业发展的必经阶段 :


在行业发展的早期,分工没有那么精细,个人的价值很容易体现,可替代性并不强;


而在行业发展的后期,进入了大规模的专业化分工时代,每个人仿佛都成了螺丝钉,整个系统的生产力固然是极大的增加,但是每个个体的价值就变得随时可被替代,这既是时代的进步,也是个体的悲哀。


那么在现在这个时代,我们还能成为优秀的极客,那个具备不可替代价值的程序员吗?


我觉得需要同时具备四个方面的能力,才能够让自己成为不可替代的极客:


01

DIY的动手能力


作为一个程序员,应该始终保持自己动手,可以快速实现一个产品功能的能力。这其实需要我们保持对技术的好奇心,具备快速的学习能力,以及不断去尝试新事物。


当你始终置身于技术第一线,可以亲自动手尝试,才能对技术行业的发展趋势保持足够的判断,与时俱进。而不是人云亦云随波逐流。


02

挖掘产品的用户价值和商业价值的能力


优秀的程序员从来都不仅仅是满足于写出优雅的代码,掌握高深的技术。比尔盖茨能够在PC时代成就微软,绝对不是因为编程能力,而是因为他对软件行业发展深刻的洞察和优秀的商业意识。


在这个时代,如果不希望自己沦为单纯的码农。一定要时时刻刻思考:自己开发的软件产品,背后的用户价值是什么?究竟满足了用户什么需求?为什么用户会使用我的产品。一个很好满足用户价值的软件产品才有起码的生命力。


同样,一个具有用户价值的产品还不够,还需要去探索产品的商业变现问题。能够同时满足用户价值和商业价值的产品,才能持续进入良性循环,具备长久的生命力。


03

沟通协作能力


2003年,当时的我还是一个程序员,我看到了开源软件在IT行业普及的趋势。于是我创办了JavaEye专门讨论开源软件开发。在将近20年后,开源软件已经统治了整个IT行业。


开源软件的普及,极大降低了软件开发的门槛,推动了软件行业的繁荣。但是不可避免的是,也极大降低了程序员的入门门槛,使应用软件开发的程序员,变成了一个可替代极高的职业。无论什么软件开发技能,都不再是竞争门槛。很多软件开发需要的功能,都有人开发好的开源库,触手可及,拿来即用了。


由于现代软件的复杂度和工程量,使得个人很难独立完成一个有规模的软件产品。因此沟通协作能力成为了极客必不可少的基本素质。 其实就算是Linus Torvalds能够维护庞大的Linux内核开发团队的有效工作,也离不开优秀的沟通协作能力。


04

影响力和推广能力


在软件行业的早期,软件产品相对是稀缺的,好的产品很容易脱颖而出,那个时代,更重要的是你比别人能够做出最优秀的产品。


而在当今时代,软件产品供给早就过剩了,如果你的产品没有卖点,没有足够的辨识度,是很难得到用户的关注度的,酒香也怕巷子深。


所以现在的极客,不仅仅要能够组建团队,要做出优秀的产品,更要具备影响力和推广能力,能够把自己的软件推广出去。


其实在这个方面能力最强的可能就是斯蒂夫乔布斯了。苹果公司早期固然有优秀的极客沃兹负责软硬件的开发,但是苹果的成功也离不开乔布斯的产品定义能力和推广能力。


05

结语


在这个软件行业进入高度分工的大规模工业化生产时代,大多数程序员不可避免沦为了码农。但是我想,每个优秀的程序员心里都装着一颗希望通过创新去改变世界的心。


因此,在这个时代,我们仍然要怀着一颗极客的心,不仅仅关注编程技能本身,更要关注动手能力;挖掘产品用户价值和商业价值的能力;提升团队沟通协作能力;通过影响力和推广能力去让产品成功。


我觉得当我们做到以上四点,即便在这个时代,也能成为改变世界的极客。


欢迎订阅「 CTO肉饼 」公众号(个人微信号: robinfankai )。


微信号 : robinfankai










请到「今天看啥」查看全文