111

我想成为一个真的程序员

 6 years ago
source link: http://mp.weixin.qq.com/s/R_K3YS9wrbEq7jZv-k-dCg
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我想成为一个真的程序员

Original 何磊 大愚Talk 2017-10-25 12:00 Posted on

最近看了 左耳朵耗子 写的一段话:

所以,我和一些人开玩笑说,我们可能都是在写一样的 for(int i=0; i<n; i++) 语句,但是,你写在那个地方一文不值,而我写在这个地方,这行代码就值 2000 元。不要误会,我只是想用这种“鲜明的方式”来加强我的观点。

读到时,脑袋一阵晕眩。为了让自己往后的日子不被嫌弃,现在自己必须抓紧时间沉下来。

编程时间越久,越觉得需要回头看,啃基础。写业务的时间再久,天花板的高度也不会被你撑高。

业务的编码,为我带来的一些成长是:如何更好的代码复用;如何将具体的业务进行拆分成代码模块;如何组织项目的结构,方便快速开发与维护;如何进行日常的运维;如何配置相关的系统、环境等等。

那么这些技巧学会之后,该如何往深入走?特别是当前云技术的发展,让很多基础的运维工作变得相当简单。如果仅仅是掌握了基础的编码工作,随着时间的增长,5年、10年程序员的竞争力如何体现?每当想起这些,不能不让人焦虑。

但是过份的焦虑,会让人丧失学习能力。我们需要在认识到自己局限的同时,脚踏实地的耕耘自己这一方水土。不要想着速成,现在知识付费很流行,但是你花钱买别人嚼过的东西,提高不了自己。问渠那得清如许?为有源头活水来。特别是做为程序员我觉得更应该自己去研究、去尝试、去思考。
社会并不会嫌弃变老变慢的程序员,而是会嫌弃哪些年龄变老了,技能却依然没有变化的人。

当别人问我的职业时,我会骄傲的说:程序员。可是仔细想想感觉自己不是程序员。为什么?并不是仅仅因为月薪没上5万,而是:

程序 = 数据结构 + 算法

我在想我写的代码中,哪些包含了数据结构,哪些又包含了算法呢?都不好意思继续往下想了,我一定是个假的程序员。

为了让自己成为一个真正的程序员,不是薪水上而是能力上的。需要改变自己的学习、工作策略。多去学习需要不断练习与思考的技能,特别是需要思考的东西。因为大部分人不愿意思考,多思考一份就比别人多一份优势。将重复性的工作最大程度自动化,不要浪费自己宝贵的时间。

学习,需要先找到目标

学习需要具有目标性,要不然就是芝麻西瓜都在捡。当前很多公司都在强调全栈工程师,但是根据个人发现,真正的全栈一定是某个方面很牛,其它方面则比较平均。而很多公司要全栈的原因(特别是小公司),仅仅是为了要一个什么都能够做点的工程师,让你今天做做h5,明天搞搞小程序,后天再写个api。

上面的情况不会让你发展成为全栈,会让你发展成为三不像,没有自己的核心能力区。现在的技术不管是前端还是后端,都变得越来越细致,都需要投入大量的时间才可能成为专家。

你是想在某个领域成为专家,还是成为爱好者,会让结果千差万别。在开始前,先定位自己当前所处位置以及目标。找出二者之间的差距进行弥补。

我一边觉得庆幸自己在现在意识到了这一切,另一方面又对自己以前的种种无知表示后悔。知识应该由点极面的逐步展开。用php来讲,我肯定第一步是写好php代码,学好面向对象与设计模式,这一部分工作在业务阶段可以很好掌握,那么之后php相关的性能问题、扩展开发问题就需要逐步去深入了解,这就需要去学数据结构、算法、c语言等等知识。这是由php带来的深入方向,对于横向的,就需要去了解linux、mysql、nginx相关的知识点。这样一步步下来完成自己的深度与广度。

好的知识与技能都不可能短时间学成。让自己变得具有专业性、稀缺性很重要。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK