不做单一技术输出

近期看了一篇文章,大意是软件开发者即将成为下一代的蓝领工人。查了一下wikipedia,蓝领工人的含义是:

In English-speaking countries, a blue-collar worker is a working class person who performs non-agricultural manual labour. Blue-collar work may involve skilled or unskilled manufacturingmining, sanitation, custodial work, oil field work, constructionmechanical maintenancewarehousingfirefighting, technical installation and many other types of physical work. Often something is physically being built or maintained.

想象一下,就是在生产线上的装配工人,建筑工地的水泥工,油漆工。这一群工种不需要创造力,只需掌握某一种技能(如:给iPhone上一颗螺丝钉),而这种技能有很强的可替代属性。现在Tesla工厂很少使用汽车装配工人,完全机器化的厂房预示了这些“Blue-collar”可能会很快消亡。

好了,程序员怎么会成为下一代的蓝领呢?提起程序员这个词,可能首先会想到《社交网络》中的扎克伯格,打小就把软件卖给IBM的比尔盖茨,堪称创造了商业神话的天才们。然而,书本上的,电影中的只愿告诉我们最戏剧化的故事,现实却是那么平淡和无趣。之前媒体上经常提到一个词汇:范式转移(Paradigm Shift)。从工业时代到信息时代,程序员很可能就是新生的“工人”群体。

首先,大家的受教育程度普遍增加,与计算机相关的领域知识不再像过去那样难以理解,加上对于软件开发的市场需求有增无减,那么,有大批量新生力量涌入这个市场。不管是美国对于STEM(Science, Technology, Engineering, Maths)的政策扶持,还是大量打着“30天速成移动开发”的机构涌现,“程序员群体”在数量上即将壮大为一个“工人群体”。

其次,程序员所做的事情真的那么神秘?真的难以理解吗?像Mr. Robot美剧中,主角仅凭一己之力,在一个屏幕上敲打很多神秘字符,一场网络入侵就这么平息了。现实中,随着软件开发供给端人数越来越多,分工必然越来越细,伴随着越来越细的分工,一个程序员的工作可能就是保证一个登录页面正常运行,如果有问题,直接百度啊。也许这就能解释HackerNews中有人会问:Do we really need a CS degree to get a Software Developer job? (我们真的需要一个计算机科学学位来为软件开发工作做准备吗?) 从这个意义上来讲,这就和“蓝领工作”太相似了,学好一门技能,然后养家糊口。

在现在的互联网商业社会,技术是一种实现商业目的的工具,在量级比较小的公司,靠技术本身不太可能创造壁垒,换言之,我们都在学习和应用技术,只要找到学习能力好,对商业愿景稍微认同的人,这事情都能做成。“蓝领工人”和“码农”大部分都处在执行层。

这意味着:软件开发的工作更多会和“重复性劳动”,“步骤化”以及“结构化”联系在一起。当然了,这些属性意味着这种工作在不久的将来是可以被替代的。这种迹象,在“第X代编程语言”和“Serverless”等概念身上看到些影子。真正热爱这个行业的人,我们应该怎么提升自己的价值,保证高“不可替代性”?

1. 有广度;“广”意味着基本功扎实,基本功肯定不是“30天速成”能教给自己的,技能的学习无非是照猫画虎,而基本功需要长时间琢磨理解以及反复尝试,我理解的基本功包括:算法与数据结构,计算机网络,计算机系统,数据库等。静下心来想想,这个市面上出现了很多流行的技术词汇,有了这些基本功,面对这些新鲜词汇至少心不慌。

2. 有深度;“深”意味着在这个市场中的相对优势,从市场机制来讲,也只有你的某项能力优于市场平均水平才有议价的可能性。任何一个技术方向,我敢说只要一个学习能力差不多,也有一定好奇心的人,Google几个关键词,总能很快入门。真正的专家和小白的区别就在于经验,而经验这东西就是在一个问题领域不断折腾后才有的,肯定不能速成。

上面说的是一些硬实力,当然还有很多软实力,这些软实力不分行业,比如:交流沟通能力,有效计划和执行的能力,成熟的心智模式(瞬间重温了一下Teaching As Leadership)。举个例子:之前做老师的时候,我分享过一个老师一天可能要作出上百个微决策,而做决策是需要花精力的,而不断决策不断反思会帮助一个老师更好地成长;同样作为程序员,我们应该给自己更多作出独立决策的机会,决策 -> 执行 -> 反思。这种在复杂环境下的决策和权衡能力,是很难被某项技术替代的。

事实上,软件开发行业会变得门槛越来越低,但同时天花板越来越高,但在数量上呈一个三角形。能够被替代的永远都是底层的单一技术输出者。不由得给自己立下一个小目标:夯实自己的广度,精深某一方面的技能,刻意培养自己的软实力。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,674评论 25 709
  • 《太湖传奇》启幕已有段时日,昨日终得见,是沾了西施的光。走进剧场才想起未曾买花束,谨作此文献给陆仔大美人儿...
    写作先生阅读 9,770评论 3 3
  • 001.小火慢炖 瓦罐汤,一种孕育滋生养颜各种功效的养生汤。 它的制造过程就是小瓦罐内放入材料再置于硕大瓦罐中,慢...
    玉儿说阅读 2,976评论 0 1
  • 情窦初开的年华,H遇上了让她沉迷的他,比她大6岁。H主动约对方看电影,吃饭,甚至为了他去学做烘焙,只为博得他的关注...
    安清儿阅读 2,166评论 2 1