01 语言痛
一台苹果电脑,两个27英寸的显示器,这是程序员的标配。外加一个机械键盘和一对索尼耳机,一个跳动在指尖,一个环绕在耳边。
曾几何时,语言不再是汉语和英语这种交流的工具,而成了C++,Java,Python,Golang, JavaScipt这些奇奇怪怪的词语。
时间终于把一群青春年少的孩子,变成了一个个木讷无趣的程序员。他们对语言从来没有欢呼雀跃的喜欢,有的只是发自内心的疼痛。
如果你没有学习python,大概率不知道这个单词是蟒蛇的意思。如果你没有学习Java,你也不太可能知道这竟然是一种咖啡。
你在大学,可能学习过C语言,也考过计算机二级,但是你不知道C语言之前还有Basic语言。这些东西,都是程序员每天交流的工具,也影响了他们的思维。于是你经常可以在脉脉上看到这样的话语:Java才是世界上最好的语言,其他语言的都是垃圾。接着这句话的评论就热闹了,每个语言的掌门人都来找他算账,程序员的世界里又充满了活跃的气氛。
语言的痛,是不专注的痛。今天你想学C++,明天又想换Java,后天又觉得Python简单。你害怕世界变化太快,而自己没有最好足够的心理准备。于是你的担忧,就成了语言上来回抉择的痛苦。说你贪图一劳永逸的努力也好,说你恐惧未来世界的变化也罢,程序员终究是逃不过持续学习的宿命。
都说语言都是想通的,只有经历过语言更替的人才知道。语言对思想的塑造是持久的,就像我普通话里永远夹杂着浓重的家乡味,这种不完美是极难转变过来的。在反复磨合后才能慢慢的接受,但是始终改不过来。
02 技术痛
当代程序员最大的技术痛,不是技术不够深,而是技术转变的太快。每隔两三年就有新的技术冒出来,然后引领潮流。如果你不掌握,你就要被淘汰。越工作,技术的深度越被剥夺。大量的时间浪费在了写业务上,浪费在了与产品沟通上,浪费在了老代码的迁移上。你根本没有机会从头设计一个项目,发挥出你的领域驱动设计思想,设计模式大法,以及熟练又精通的数据结构。
技术的痛,遍布在工作的各个阶段。刚入职时,你技术不对口,什么都要现学,苦不堪言。
入职一年,已经对公司的业务如数家珍,并且大部分项目都是由你亲自完成。此时,你面临了系统升级,技术迁移,项目重构等问题。你需要完全推掉以前的代码,重新选择语言和框架,用现有的人力,短时间内开发出一套更强大的系统。
你知道怎么做,但是太多了,你一个人根本做不完。你要带新人,他们总是遇到很琐碎的问题,你恨不能自己一个人做完。总在给他们讲解需求,讲了一遍,两遍,还是不会。你的技术在言传身教中陷入了前所未有的痛苦。
入职三年,你想着自己的技术已经成熟了。对于各种系统都有了落地的项目,该填的坑,也都填了一遍,你把目光投向了亮眼的大厂。打开官网招聘一看,你发现技术变化得太快了。全是新技术,还要考编程算法题,你完全没有信心再去和应届生拼一遍。
技术更替的痛才是真正的痛。
03 治愈痛
有人说程序员的痛是无解的,又想高薪,又想没有痛苦。好事都让你占了,这个世界剩下的职业都不用活了。
是的,程序员的痛是贪婪的痛。普通的药只能治标,不能治本。只有经历过家庭的变更,新生命的到来,或者旧生命的消逝,才懂得人生如梦。
程序员大多没有体会过温暖的港湾,从小就热爱追逐流离的幻影。当可爱的她向你走来时,你才懂得,语言的伤,技术的痛,不过是为了和她有个温暖的家。
愿有故事的程序员都好好的生活着,未来总有一个她会治愈好你所有的痛。