为什么做码农

173 阅读6分钟

卡尔维诺《看不见的城市》书中有这么一句话:“It was to slough off a burden of nostalgia that you went so far away.”(你走了那么远的路,只是为了摆脱怀旧的负重)。

人为什么要怀念过去?很多研究都发现,人们会在日常生活中频繁地产生怀旧的情绪,80%的被调查者每周都至少有过一次怀念过去的体验。

正值中秋月圆花开放,团圆喜庆热闹闹,酒足饭饱之余,小编也不可免俗怀旧一番,一顿胡思乱想之后,思绪毫无征兆的停留到为什么走上编程这条不归路?闭上眼睛,犹如昨天历历在目,一帧一帧的浮现。

  1. 求生存,自学编程

就业迷茫:看过地图背后的那些事儿的同学知道,小编所学专业非计算机相关而是GIS,对口的岗位通常是测绘、城市规划、国土等企事业单位,一方面本专业学习也不是非常扎实,且无门路,可以预见走不到体制内,另一方面对于循规蹈矩,一眼望到头的工作着实提不起兴趣(然而现在并不这么看了😂)。

到了大三下学期,眼看临近毕业,还没有任何实习经验,只能匆忙参加学校的专场招聘,跑社会招聘,简历扔出去石沉大海。心里焦虑到总不能毕业就失业吧。万般无奈,选择了先考研缓冲一下,当然还是原专业,毕竟有限的复习时间换专业更不靠谱。

研一修完学分之后,就开始琢磨就业方向。当时正好导师和中科院合作了一个项目,里面有部分软件开发的事情,犹如抱住救命稻草似的赶紧和导师申请,同时从师兄姐那里得知,需要掌握数据库开发(oracle,写sql,视图,存储过程等)和网页开发(Asp.net,包括前后端,当时还没有单独的前端),凭着大学期间取得的C语言二级资格证书,开始踏上了漫长的自学编程之路。

image.png

自学编程:零基础学习一头雾水,过程中时长陷入自我怀疑,半路学编程是不是晚了?能不能上岸找到工作?但是为了争口气,不能半路放弃(也没有退路),所以努力是唯一能做的事情,毫不意外经历枯燥、混沌、开悟、解惑阶段。在获得社会认可之前,先完成自我认可,发掘自己更多可能性,过程中逐步发掘自己能做到什么程度,哪种方法更高效。

有幸的是完整经历了近十年互联网发展的黄金阶段,加上每一步变化都相对精准踩对风口,有机会接触各种语言和技术架构。基于这些年学习和工作内容,整理了一份编程地图(如下图),算不上什么学习线路,仅供参考。

image.png

  1. 活不累,钱多

三十六行为啥偏偏选择程序员这个行业?那个时候互联网还远不如如今这么普及,大部分的信息都是被动输入甚至缺失,人生的不同阶段,选择大于努力,有机会接触一些领域引路人,哪怕是八卦信息,也能帮助打开一扇窗。

言归正传,结合当时个人性格,转型选择的时候,想从事不用出差,不用跑外勤,害怕谈判应酬,且趋于稳定,只需要闷头干活的职业。了解到程序员这个行业几乎只跟计算机打交道,并且活不累还钱多,只不过放当下肯定要被舆论的口水淹没,沧海桑田,市场经历了从蓝海到红海甚至血海的转变,程序员们也逐步适应从955到996狼性节奏变化,抛开纵向时代的变化带来的体验落差,至少横向上看这个赛道依然是更多人的择优选择。

image.png

  1. 行业赋能,不局限

随着技术的积累,逐步认识到编程不仅仅是一种技术,更是一种能力和思维方式,也是一种用来创造工具的工具。所以选择编程乃至持续编程,就可以尝试任何行业,任何行业都可以应用编程。

大部分程序员并不知道自己要去哪个行业发展,也不想一辈子局限在一个行业里面,做不了别的,而编程几乎就是一个所有行业都能用到的技术**,**只需要知道什么问题,就能把东西做出来。

image.png

  1. 培养解决问题能力

Coding is really just problem-solving. Don't be a programmer, be a problem-solver

写代码并不难,难的是如何解决问题,如何用简单高效的方案解决问题,编程其实就是一个工具,一个把任务自动化的工具,学习编程是为了解决现实中的问题,学习新语言也是为了更高效更便捷的解决问题,在问题解决之前,往往需要不断的调研,重写,所以编程是培养自己去发现问题,解决问题的能力,这个能力也可以运用到生活的方方面面,永不过时。

image.png

  1. 持续学习

保持学习新技术的能力,科技领域能力每天都充满着创新和迭代,每天所接触到的新闻,话题都是各种技术最前沿。带来创意变现和效率提升,这也促使大家去探索各种新语言,新系统,新框架,才能努力赶上技术更新不落后,所以程序员这个行业的每个人都在不断学习,不管给自己添加新技能。

做程序员能一直保持高速,高效学习新技术的能力,而这种学习新技术的技能,不正是保持自己不被淘汰,各个公司都很重视的技能吗?

image.png

  1. 夯实综合能力

程序员也不是整天只写代码,现实工作中有很多时间需要进行多方沟通,了解来自各种背景,不同立场人的想法,有助于做成更完善的产品。

比如需要和产品经理沟通产品需求,和设计师沟通界面和用户体验,和市场部的人沟通营销策略,和其他工程师沟通系统设计,同时在产品上需要平衡所有stakeholder(利益相关方)的要求,而程序员写的软件或者系统,往往会影响成千上万的用户,甚至改善用户的生活方式,比起存粹学理论,实实在在做一些有影响力的产品,非常让人非常振奋的。

image.png

结束语:怀旧曾被认为是一种生理疾病,可是从正面视角看,理性且积极的怀旧能获得肯定的自我认知,建立并维持社会联结,同时也能对抗一种“存在无意义”的感觉。