想必,你们一定看过很多关于程序员的自我修养的文章。
我呢,也不洗展露小才,来聊一聊自己对“程序员的自我修养”这个命题的看法和见解。
21世纪最缺的是什么类型的人才?是销售?不是,
是建筑工程师?不是,
是财务师?不是,
是医生?更不是,
笔者认为,在经过第三次工业革命后,全球正处于一个“地球村”的演变过程,换句话说,
移动互联走进了人们的生活,我们再也不需要飞鸽传书,或是驻岸观火,互联网和计算机大大提高了我们作息的效率,每个行业都逐渐依赖这个新技能。举个例子,每位年轻人出门或者不出门,起床或者不起床,脑袋里想的第一个念头是什么,什么?答案是“手机在哪里”,
没错,手机,一个集结了第三次工业革命所有成果的仙物,最好证实了计算机在这个时代至高无上的重要性。
那么,就来谈谈这个时代最缺的人才——程序员。
切入正题,什么是程序员的自我修养?
首先来谈谈程序员每天所做工作的意义:
程序员有着他们固有的一些思维,他们可以透过现象看本质,他们不注意美观,他们只注重功能,这些既是优点,也是缺点,程序员应该有着一定的审美,同时也应该对业务进行适当的了解。
现在全栈工程师很流行,没有严格的定义,但是全栈工程师更多地是指那些在后台和前端方面都能独当一面的全面的工程师。全是广的意思,栈是技术栈的意思,就是有着能够独立开发一个App,独立开发一个网站的能力,要成为一个全栈工程师,就需要时刻培养自己的思维,跳出五行外,看到产品的全貌,从设计,从运营,从产品多个角度去构建一个app或者网站。
命令行现在可不是仅仅运维人员需要掌握,后端程序员,前端程序员都是需要掌握的,比npm的使用,就需要你能够在命令行中进行一定的操作。同样git的操作,在命令行中有着更高效地使用。
一个系统就像一辆汽车一样,我们需要经常保养,而相对车的保养,软件需要做的就是重构。重构不会缩短系统的开发周期,但是会大大减少系统的维护时间。代码重构,微服务重构,自动化测试,这些都是我们重构时要注意的事项。
不要过度设计
在这么多年的软件开发过程中,速度可能是最重要的,你比对手多一天上线,可能你活下来的几率就多了一分。所以不要一开始想得过于复杂,设计过多不重要的功能在产品上,我们要适可而止,做到够用就好,淘宝的技术发展就是一个例子,他们每次的前进都是够用就好。
我们学过很多设计模式,也经常把他们用在软件开发上,这些都是可取的。但是有些时候,我们要学会变通,所为招式是死的,人是活的,我们可以有时候违背一些规则,可能会取得更好地效果
每个人都想写出优雅地代码,可是这是不现实的,有时候我们会发现,当我们看着一个非常差的没有署名的代码的时候,很可能那份代码就是我们自己编写的。我们的代码是给机器使用的,它和文章还有所不同,文章可以一次一次地去推敲,而我们的代码只要实现了功能,逻辑不复杂,我们很少回去多次修改它。
为了高效地工作,我们需要有自己的工具箱,里面应该有适合自己的编辑器,有着丰富的设计软件,有记录心得的软件,有图标软件,有交互软件,总之,我们的工具箱越丰富,我们在进行开发和设计的过程中越能游刃有余。
编程一开始可能只是一项技能,随着年龄的成长,技术的成长,编程成了你解决问题的思路,再后来,你把编程当作了创作,你不仅仅是在表达,更是在创作一个个歆羡的作品,他们让世界变得更好,同样编程也是我们给自己的人生留下的印迹,它时刻激励着我们不断前行,一份好的代码会让我们刻骨铭心。
笔者认为,一个合格的程序员不仅要懂编程的价值,还应当具备一个良好的自我修养,
1、程序员小张某天非常不高兴,因为他的项目经理和项目组的产品人员又变更需求了,新的需求又要对整个结构进行大的调整,小张很郁闷,到一个QQ里发泄情绪,说了这个事,于是立马,QQ群里面炸开锅了,程序员小李说,对,产品就是狗日的!程序员小王说,对,他妈的项目经理整天高枕无忧,就知道压榨开发人员!程序员小孙说,是的是的,我上一家公司也是这样,压榨程序员,幸好我走了。就这样,在一片骂声中,几个程序员心情舒畅了,小张开心的去玩王者荣耀去了。
2、程序员小陈正在写一个功能模块,需要进行某种加密,到百度搜到了一个编码模块,看不明白具体写了什么,但是放到程序里刚好适用,于是就这么原封不动放进去了。
3、程序员小周学.NET已经工作3年了,工资还是10000,和公司提涨工资也没答应,想跳槽又犹豫,这时某个前辈对他说,你去看书吧,多看一些书,例如 《Visual C# 从入门到精通》,《CLR via C#》《Javascript权威指南》等等,于是小张买回来了, 随手翻了翻发现有些东西是他已经会的,有些看不懂的好像又用不到,而且书这么厚,要不要浪费时间去看呢?小张就这样反复纠结了半年,依然每天上班工作,下班LOL,偶尔还抱怨一下工资低。
程序员小张,小王,小李,小孙虽然解了一时之气,却给外界带来了对程序员形象不好的认知,给编程界也带来了恶劣的反响,他们良心有安么,下一代孩子会怎么想,老一代革命家会怎么看待,社会也不容吧。
摘抄虽然一劳永逸,可复制他人的辛苦换来的成果,对别人是一种尊重么?
而且,复制,能让你学识得到增加,心情得到愉悦么,显然不能,保持一个良好的自律,对一个程序员来说,至关重要。
工资和努力是成正比的,不努力,天上不会掉馅饼的,所谓书山有路勤为经,学海无涯苦作舟,只有实践才能得真知,就像上面说的编程的意义一样,不要试图去省略过程。勿以善小而不为,勿以恶小而为之。
所以,总结一下三个案例,作为一个程序员,因当具备良好的价值观,做好自律,不去给他人带来麻烦,努力给社会创造价值。
笔者认为,程序员的自我修养,需要维持,打江山容易,守江山难,别做出格的事,好好做人,才能成为一个优秀的程序员。
1.陈逸鹤写的《程序员的自我修养》
2.张柔的《程序员的自我修养》文章
致谢 陈逸鹤 张柔 前辈