新时代的coder如何成为专业程序员
在移动互联网“泛滥”的今天,越来越多非专业(这里的非专业指的是非计算机专业毕业的程序员)程序员加入到了IT行业中来了,可能是因为移动互联网的火爆导致程序员容易就业而且工资很高,可能实体行业不景气,可能这确实是互联网+的时代,越来越多的人加入到程序员的行列当中来,使这个行业鱼龙混杂。现在这个程序员行业普遍的问题就是:人数多,底子薄,基础差,人均技术水平就是有问题,找百度,顺手Ctrl+C和Ctrl+V就把代码来写。管它什么算法,什么性能呢。如何从非专业走向专业程序员呢?
1、扎实基础,不断学习
基础的重要性其实不言而喻,基础是你扩展的资本,不了解基础,不扎实基础,你想进一步学习,了解高精尖是不可能呢,那得多吃力啊,这个基础对于不管是科班出身的还是非科班出身的程序员都很重要,毕竟兴趣才是自己最大的动力,跟科班不科班没关系。可能科班学的比较全面和系统,所以基础上有可能略胜一筹,可是有兴趣的人比科班可能更可怕,说不定懂得更多。
我们生活在一个很有趣的时代,互联网的存在几乎使我们到了免费学习的时代,技术分享遍布网络,想学习并非以前那么困难了。在百度上谷歌一下,相关资料满屏都是,随着移动互联网的火爆,越来越多的人跻身这个行列当中,如果你不学习,你就会落伍,停滞不前,直到有一天,这份工作不再需要你,或者外包给一些更廉价的劳动力,甚至被淘汰,所以我们需要不断的努力学习新技术,以保持有力的竞争力。我们要摆正心态,对自己最好的负责就是不断学习。
学习的地方有很多,比如:
阅读相关的杂志,技术博客,书籍和网站,看那些技术大牛的分享,肯定会让你受益不少。比如:非著名程序员公众号里的内容就不错嘛!哈哈……
深入了解源码,阅读源码可以让你真正的感受到那些大牛对待代码的严谨与思维的缜密,看看人家是如何运用架构模式的。
参加一些技术分享的沙龙,和高手面对面的交流学习。
想学习,方法多得是,就看自己努不努力。
2、要有强烈的责任心
专业程序员的一个最重要的特点,也是核心,就是有责任心。专业程序员会为他们的职业生涯、预算、日程安排承诺、错误、技能技巧负责。一个专业的程序员不会将责任推卸给别人。实事求是地说,现在的程序员都对工作非常消极,没有人督促就慢慢悠悠的做,代码也是写的乱糟糟的,没有任何优化,别人看你写的代码看的头都大了。一个好的程序员是对自己的代码有追求的,不仅能完成功能,还能写的一手好代码,跟写的一手好字似的。优美的代码才能让人赏心悦目,负责的态度才能提高自己的责任感。
有了责任感才能让自己更好的成长。
3、关心和反复检查代码
一个好的程序员是对自己的代码有追求的,漂亮的代码就是你的脸面,代码优化的好,你的脸就比较干净,像个白面书生,如果代码杂乱无章,效率低下,感觉这个程序员的脸就像长满了青春痘,不忍直视
。
关心自己的代码,那是负责任的表现,如果一个程序员代码写完了,之后就不管了,那是不负责任的表现,关心自己的代码,多读读,多看看,比较一下和别人的差别,化繁为简,逐步优化,这样不仅让你的代码娇小可人,亭亭玉立,更重要的是还能提高自己的能力。把代码当做自己的女朋友,才是正确的做法。不要老是想着coder,coder,因为coder那么多有毛用,代码依旧难看,自己依旧还是没有女朋友。好程序员最起码还是有自己的女朋友的,是吧,代码。
反复检查自己的代码,就犹如读书百遍其义自见。不要老是在别人说你代码有问题的时候,你就信誓旦旦的说:不可能。就犹如测试对着程序员说,这里有bug一样,第一反应肯定是不可能,在我这里没这个问题啊,最后还不是老么实的自己去改bug。责怪自己的环境有问题,责怪编译器有问题,就是不责怪自己写的代码烂,这绝对不是一个专业程序员应该做的。在你责怪别人之前,先检查自己的代码,这才是正解。
4、不惧怕别人的烂代码
专业的程序员肯定遇到过很多人写的烂代码。非专业的程序员肯定会惧怕别的代码,感觉看完他写的代码,再去修改,会不会牵一发而动全身呢?补一个bug,冒出一个bug,还不如自己重新写的快呢。相信有这样想法的程序员肯定占大多数。
比如:系统很糟糕,并且改变这边总是会破坏另一边不相关的功能。每次添加模块,程序员只能想着尽可能少地改变代码,每次发布都胆战心惊。这座软件的摩天大楼随时有坍塌的可能。之所以改动代码会如此伤脑筋是因为系统太糟糕了。但是即使你知道系统出了问题,却又因为投鼠忌器,而不得不听之任之。任何一个外科医生都懂得,伤口要想愈合就必须得切除腐肉。虽然手术会带来痛苦,但绝对比任伤口发炎溃烂要好。
不要害怕,没有人会在乎当你捣鼓代码的时候有没有暂时破坏了什么东西。只要你做的改变不会让项目重新回到开始状态,就不会令人崩溃。投入时间重构,能让你受益于项目整个生命周期。这样做还有一个额外的好处是,由于你有过这种处理病危系统的经验,所以你对它应该如何工作非常内行。要善于应用这些知识,千万不要反感这些宝贵的财富。重新定义内部接口,重构模块,重构复制粘贴代码,并通过减少依赖来简化设计。
5、学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,只能说他是一名熟练的代码民工(码农),他永远都不会有质的提高
。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
著名的移动互联网专家,自媒体人,运营的公众号“非著名程序员”,每天一篇原创技术分享和移动互联网知识分享,微信公众号:smart_android ,头条号和百度百家账号都是“非著名程序员”。