一个好的程序员应该做什么

最近读了《教父》一书,看了知乎《停止学习框架》以及《年收入 15 万元左右的年轻人如何理财》等几篇文章,对此做了一些关于职业的反思。

一个好的程序员,或者说一个好的IT从业人员应该怎么提升自己?我不太喜欢自称程序员,自称程序员的时候多半是为自己这么多年混得不咋地而自嘲。在我眼里,程序员=IT民工=单身狗=穷。为什么说在中国,程序员这个字眼被打上了如此的标签?多半原因是因为中国太多的程序员以为只要在培训班学过JAVA、学过.Net,就敢自称自己会敲代码,是一个会写程序的程序员了。

很多人干这行无非就是冲着工资去的,但是这比从蓝翔技校学挖掘机毕业的又强多少呢? 不得不说的是,我当时干这行就是冲着工资去的,经过多年的打拼,我终于和开挖掘机的工资一样高了。没错,我以前就是这种人,没写过几行代码就敢号称写过上千行,其实都是IDE自动生成的。没做过几个项目就敢号称可以独立承担一个项目,其实都是别人写的,自己只不过在其基础上修修改改。所有的一切都是为了提高工资,最好的办法就是跳槽。五年内我换了五家公司,对于自己的频繁跳槽我竟不觉得羞耻,而且总有理由。

以前我也看过《程序员技术练级攻略》等文章,甚至还放到了我的收藏夹内,但是永远都是浅尝辄止。我沉不下心来看基础书籍,成天追逐于编程语言之争,仿佛只要学了Github排名第一的编程语言,我就是最牛的程序员,到哪里都饿不死。为此我学了JavaScript,因为JavaScript实在是太火了,尤其是Node.js刚出来的那几年,感觉脚踏前后端两条船,从前端到后端用一门语言的感觉真是太好了。曾经一度扬言要转做前端,而之前一直做的是.Net开发。

真正让我感到受挫的是,领导让我用JS写一个控件,我既没办法在别人开源的控件上修改,也无法用原生JS自己写一个。因为需求很奇葩,我也没这个能力办到。这件事使我明白,即使Github排名第一跟我又有什么关系,能力如此,认清自己的边界,我注定成不了大牛。什么靠软件致富的案例,是说给别人听的。后来,我对前端的热情没那么高了,我又学了Python和Go,简直是什么热门我就学什么。

我有过很长一段时间觉得上班很无趣,怀疑自己是不是选错了专业。甚至有一段时间我很排斥自己的工作,很后悔选择IT开发。一年挣不了多少钱,拼死拼活地挤地铁。眼见自己在这行业的天赋平平,看着以前的同学选择了金融行业,没几年车子房子都有了,还全他妈是靠自己挣的,满眼都是说不出的嫉妒和羡慕。

真正让我觉得自己还有点价值的是,是我自己亲手从一个开源的软件那里,从源代码读取,修改源代码,实现了我想要的功能。并且最终利用该软件,拍到了我人生中的第一张大牌。从这件事后,一发而不可收拾,我开始拥抱开源。

回过头来说说知乎上的《停止学习框架》一文,我觉得自己像极了文章里所说的框架奴,或者说语言奴更贴切,什么热门追什么。今天大家都在学Angular.js,明天又出来了个Vue.js,后天说React.js才是更好的,比不完的框架,学不完的语言,看不完的说明文档,追不完的技术脚步。扪心自问,我们是否在学习一门框架的时候,试图去了解其背后的原理,就拿jQuery而言,有几个人看过jQuery的源码,又有几个人读懂了jQuery作者的思想。我没有。这点我必须坦诚,因为我有我更想做的事情。我要去学习数据结构和算法,哪怕我的天赋平平,哪怕我的数学基础一般,哪怕短期而言我没法提出涨工资的需求。我要打基础,我的基础太差了,我从事的是计算机行业,那么就得把计算机行业的基础书籍都给看一遍。这本该是大学里做的事情,但是又有几个人能在18岁的时候看透自己人生的选择呢?我只能以“苏老泉,二十七,始发奋,读书齐”来安慰自己,没事,我也就比他当年大了一岁而已。

再来说说《年收入 15 万元左右的年轻人如何理财》一文给我的感想,在这个时代里,想要积累财富,我觉得一个是克制自己的欲望,也就是懂得自律。还有一个就是投资自己,不断地补充知识,并且保持身体健康。六个字概括,勤锻炼,多读书。我现在从一个不爱读书的人,变成喜欢上读书的人,一部分归功于电子阅读器Kindle,更大部分当然是书本身。阅读,让我静下心来,听前人的教诲,找自己的共鸣。教父第二部中,唐柯里昂对迈克教诲道,我并不羡慕英雄,因为活着才是更重要的事。对于这句话的理解,放在现在的意义就是,我不羡慕那些有钱人,那些名人,对于年纪尚轻的我而言,好好活着才是重要的事,有些人为了财富丢了身体,没了性命,那才是不值得的事。而好好活着的意思就是,投资自己。

最后来说说,为什么我依然选择从事于IT这条路。一是我们人活在这世界上不可能只靠自己,我们也需要他人的帮助。为什么教父柯里昂能成为纽约最大的黑手党教父?原因之一就在于人情。只要是拜托教父帮助的人,未来某一天如果教父让你帮忙,你就没法拒绝。同样的道理,我们生来就不是一个个体,我们需要融入集体,这就是社会。现在这个社会什么样的人最吃的开?答案是有人脉的人。什么是人脉?人脉就是信息交换。我有求于你,但是你为什么要帮助我,因为我手里也有你想要的信息,所以你才会帮助我。这么说似乎很现实,但事实就是如此。没有哪个高层领导会突然提拔你,因为你没有他想要的东西。而这个东西,就是你的职业能力。所以,提升自己的IT能力是我和别人进行信息交换的筹码,也是我获得人脉的一个手段。成年人的世界里,到处都是交易。而从事IT这条路,我已经走了7年了,并没有一事无成,甚至我还能感受到一丝成就感,成就感是我继续走下去的源动力。所以,回到最后来回答一个好的程序员应该做什么,我觉得是,多读书,勤锻炼,打牢基础,选择自己感兴趣的方向。

avatar

chilihotpot

You Are The JavaScript In My HTML