在移动互联网“泛滥”的今天,越来越多非专业(这里的非专业指的是非计算机专业毕业的程序员)程序员加入到了IT行业中来了,可能是因为移动互联网的火爆导致程序员容易就业而且工资很高,可能实体行业不景气,可能这确实是互联网+的时代,越来越多的人加入到程序员的行列当中来,使这个行业鱼龙混杂。现在这个程序员行业普遍的问题就是:人数多,底子薄,基础差,人均技术水平就是有问题,找百度,顺手Ctrl+C和Ctrl+V就把代码来写。管它什么算法,什么性能呢。如何从非专业走向专业程序员呢?

1、扎实基础,不断学习

基础的重要性其实不言而喻,基础是你扩展的资本,不了解基础,不扎实基础,你想进一步学习,了解高精尖是不可能呢,那得多吃力啊,这个基础对于不管是科班出身的还是非科班出身的程序员都很重要,毕竟兴趣才是自己最大的动力,跟科班不科班没关系。可能科班学的比较全面和系统,所以基础上有可能略胜一筹,可是有兴趣的人比科班可能更可怕,说不定懂得更多。

我们生活在一个很有趣的时代,互联网的存在几乎使我们到了免费学习的时代,技术分享遍布网络,想学习并非以前那么困难了。在百度上谷歌一下,相关资料满屏都是,随着移动互联网的火爆,越来越多的人跻身这个行列当中,如果你不学习,你就会落伍,停滞不前,直到有一天,这份工作不再需要你,或者外包给一些更廉价的劳动力,甚至被淘汰,所以我们需要不断的努力学习新技术,以保持有力的竞争力。我们要摆正心态,对自己最好的负责就是不断学习。

学习的地方有很多,比如:

阅读相关的杂志,技术博客,书籍和网站,看那些技术大牛的分享,肯定会让你受益不少。比如:非著名程序员公众号里的内容就不错嘛!哈哈……

深入了解源码,阅读源码可以让你真正的感受到那些大牛对待代码的严谨与思维的缜密,看看人家是如何运用架构模式的。

参加一些技术分享的沙龙,和高手面对面的交流学习。

想学习,方法多得是,就看自己努不努力。

2、要有强烈的责任心

专业程序员的一个最重要的特点,也是核心,就是有责任心。专业程序员会为他们的职业生涯、预算、日程安排承诺、错误、技能技巧负责。一个专业的程序员不会将责任推卸给别人。实事求是地说,现在的程序员都对工作非常消极,没有人督促就慢慢悠悠的做,代码也是写的乱糟糟的,没有任何优化,别人看你写的代码看的头都大了。一个好的程序员是对自己的代码有追求的,不仅能完成功能,还能写的一手好代码,跟写的一手好字似的。优美的代码才能让人赏心悦目,负责的态度才能提高自己的责任感。

有了责任感才能让自己更好的成长。

3、关心和反复检查代码

一个好的程序员是对自己的代码有追求的,漂亮的代码就是你的脸面,代码优化的好,你的脸就比较干净,像个白面书生,如果代码杂乱无章,效率低下,感觉这个程序员的脸就像长满了青春痘,不忍直视

关心自己的代码,那是负责任的表现,如果一个程序员代码写完了,之后就不管了,那是不负责任的表现,关心自己的代码,多读读,多看看,比较一下和别人的差别,化繁为简,逐步优化,这样不仅让你的代码娇小可人,亭亭玉立,更重要的是还能提高自己的能力。把代码当做自己的女朋友,才是正确的做法。不要老是想着coder,coder,因为coder那么多有毛用,代码依旧难看,自己依旧还是没有女朋友。好程序员最起码还是有自己的女朋友的,是吧,代码。

反复检查自己的代码,就犹如读书百遍其义自见。不要老是在别人说你代码有问题的时候,你就信誓旦旦的说:不可能。就犹如测试对着程序员说,这里有bug一样,第一反应肯定是不可能,在我这里没这个问题啊,最后还不是老么实的自己去改bug。责怪自己的环境有问题,责怪编译器有问题,就是不责怪自己写的代码烂,这绝对不是一个专业程序员应该做的。在你责怪别人之前,先检查自己的代码,这才是正解。

4、不惧怕别人的烂代码

专业的程序员肯定遇到过很多人写的烂代码。非专业的程序员肯定会惧怕别的代码,感觉看完他写的代码,再去修改,会不会牵一发而动全身呢?补一个bug,冒出一个bug,还不如自己重新写的快呢。相信有这样想法的程序员肯定占大多数。

比如:系统很糟糕,并且改变这边总是会破坏另一边不相关的功能。每次添加模块,程序员只能想着尽可能少地改变代码,每次发布都胆战心惊。这座软件的摩天大楼随时有坍塌的可能。之所以改动代码会如此伤脑筋是因为系统太糟糕了。但是即使你知道系统出了问题,却又因为投鼠忌器,而不得不听之任之。任何一个外科医生都懂得,伤口要想愈合就必须得切除腐肉。虽然手术会带来痛苦,但绝对比任伤口发炎溃烂要好。

不要害怕,没有人会在乎当你捣鼓代码的时候有没有暂时破坏了什么东西。只要你做的改变不会让项目重新回到开始状态,就不会令人崩溃。投入时间重构,能让你受益于项目整个生命周期。这样做还有一个额外的好处是,由于你有过这种处理病危系统的经验,所以你对它应该如何工作非常内行。要善于应用这些知识,千万不要反感这些宝贵的财富。重新定义内部接口,重构模块,重构复制粘贴代码,并通过减少依赖来简化设计。

5、学习和总结的能力

程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,只能说他是一名熟练的代码民工(码农),他永远都不会有质的提高

。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。

著名的移动互联网专家,自媒体人,运营的公众号“非著名程序员”,每天一篇原创技术分享和移动互联网知识分享,微信公众号:smart_android ,头条号和百度百家账号都是“非著名程序员”。

新时代的coder如何成为专业程序员的更多相关文章

  1. Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘

    Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:g7v1 作者简介 作为全球Python培训界的领军人物,<Python学习手册:第4版>作者M ...

  2. Python编程快速上手 让繁琐工作自动化 - 专业程序员的养成完整版PDF免费下载_百度云盘

    Python编程快速上手  让繁琐工作自动化 - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:7qm4 有关本书 累计销售超过10万册 零基础编程者的不二之选 基于Python3编写 通用 ...

  3. 笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘

    笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:xaln  怎样阅读本书 由于本书结构独特,你必须在学习时遵守几条规则 录入所有代码,禁止复制粘贴 一字不差地录入代码 ...

  4. 翻译"Python编程无师自通——专业程序员的养成"

    这本书在 畅销Python编程类入门书,美国亚马逊Kindle编程类排行榜榜一. 开始初学python,也有不少书了,不想在白花钱(买了就放那里不看了),看一个英文文档的原著,准备每天翻译一点,放到b ...

  5. 【程序员联盟】官网上线啦!coderunity.com

    内容简介 欢天喜地,[程序员联盟]官网上线咯(此处应该有鸡蛋丢过来...) [程序员联盟]官网 大家也许会问:“这几天小编都没出文章,跑哪里happy去啦?是不是偷懒去了?” 小编:“臣妾冤枉啊.” ...

  6. for程序员:这些你可能遇到的职场难题,我们帮你整理好了答案

    “迷茫”是当下青年谈论的最多的词汇之一,无论高矮胖瘦富穷美丑,每个人都有自己独特的难题.造成“迷茫”的原因有很多种,比如生存压力,情感问题,以及困扰着相当一部分人的职场焦虑.今天这篇关于“职场迷茫”的 ...

  7. [Mac A]为什么国外程序员爱用 Mac?

    from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...

  8. C++程序设计之四书五经[转自2004程序员杂志]--下篇

    C++程序设计之四书五经(下篇) 作者:荣耀 我在上篇中“盘点”了TCPL和D&E以及入门教程.高效和健壮编程.模板和泛型编程等方面共十几本C++好书.冬去春来,让我们继续C++书籍精彩之旅. ...

  9. [No000033]码农网-如何锻炼出最牛程序员的编码套路

    最近,我大量阅读了Steve Yegge的文章.其中有一篇叫"Practicing Programming"(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反 ...

随机推荐

  1. MYSQL管理之主从同步管理

    原文地址:MYSQL管理之主从同步管理 作者:飞鸿无痕 MYSQL管理之主从同步管理 MYSQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的管理也就显得非常重 ...

  2. php截取字符串函数

    public function sub_string($str, $len, $charset="utf-8") { if( !is_numeric($len) or $len & ...

  3. 按要求编写Java应用程序。 (1)建立一个名叫Cat的类: 属性:姓名、毛色、年龄 行为:显示姓名、喊叫 (2)编写主类: 创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输 出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

    package zuoye; public class Cat { String name="妮妮"; String color="灰色"; int age=1 ...

  4. html5+css3实现跑动的爱心/动态水滴效果[原创][5+3时代]

    大风起兮云飞扬,安得猛士兮走四方!html5+css3,不学不行. 做web开发已经有好几年了,见证了太多语言的崛起和陨落. 其实作为一个程序员最苦逼的事情莫过于每天要不停的追赶各大公司新出的框架和语 ...

  5. 走进云背后:微软Azure web 项目通过web service部署web site

    探索云那不为人知的故事(一):Web Services部署web site 前奏:Windows Azure是微软基于云计算的操作系统,现在更名为“Microsoft Azure”,和Azure Se ...

  6. Linux dd

    一.简介 二.实例 1)复制二进制文件指定章节 iflag=skip_bytes bs= count= of=test 2)修改二进制文件指定章节 oflag=seek_bytes bs= count ...

  7. js获得昨天前天明天时间以及setDate()

    <script type="text/javascript"> function GetDateStr(AddDayCount) { var dd = new Date ...

  8. 单机搭建Android开发环境(四)

    单机搭建安卓开发环境,前三篇主要是磨刀霍霍,这一篇将重点介绍JDK.REPO.GIT及编译工具的安装,下载项目代码并编译.特别说明,以下操作基于64位12.04 Server版Ubuntu.若采用其他 ...

  9. 线程实现方式以及序列化 反序列化.java

    一.序列化与反序列化       把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上, ...

  10. eclipse打不开,报错 "java was started with exit code=13"

    刚才打开eclipse时,出现如上的报错窗口. 1.查看java 版本,发现是1.8版本,记得自己之前手动安装的java应该是1.7或者更低的版本.让我想起之前系统总是会提醒java有更新,最近就没有 ...