随着互联网时代的飞速发展,越来越多的人投身于软件开发行业,大家都称他们为程序员,或者码农。
  这些程序员的水平也是参差不齐的,有些人从比较好的学校毕业,水平却一般般;也有些人从一般搬的学校毕业,但是水平很高,因为他们付出了比其他人更多的努力;也有些人,不管是好学校还是差学校,毕业了都跑去培训班培训了,出来的也是良莠不齐的。
  今天这篇文章,我们不从这些客观因素上去分析,就如题,同样是程序员,为什么别人比你更优秀?我结合自己的一些经历和经验,以及从身边优秀的人身上学 到的经验,从主观上去总结几点,与所有人共勉。

  1. 不要吝啬投资自己
  和朋友一起搓一顿大概人均几十或者百把块钱,基本上我们都很随意,根本不会觉得这很贵或者很浪费。但是每当我们去买书或者去买一些优质的视频教程的时候,很多人会觉得很贵,甚至不太愿意出这个钱。

  的确,技术书籍都很贵,动不动就50-100的,我想说的是什么呢?永远不要吝啬给自己投资,我研究生读的是通信专业,在学校自学的Java,我看过网上很多的免费视频教程,免费的教程有两个特点:一是入门的,二是质量不高的。但是要想真的提升自己,这些入门的教程是不够的,网上有些收费的教程确实不错,我读书那会儿也买过好几个项目视频跟着认认真真学 ,收获颇丰。
  而且现在也是知识付费时代了,入门资料一大堆,真正能提升自己Level的东西,哪怕花点钱,给自己投资

  永远是稳赚的生意。不要在乎那点钱。你和别人的差距,往往真的就是这一两百、两三百块钱给拉开的。因为知识创造的价值要比这几百块钱来的更猛。

  2. 站在巨人的肩膀上
  我们平时在开发的时候,会遇到一些功能上的东西要实现,当然咯,如果开发经验丰富,基本知道用什么技术去实现,但是对于开发经验不足的朋友来说,首先不要想着自己去造轮子,除非是非常冷门的一些技术,否则绝大多数现在互联网上都有了较多的解决方案,我们可以用来参考改进。软件开发,说的诙谐一点,就是 copy+改。因为工作不是学 ,它是有deadline的。

  还有一点,我们开发一般都会有很多类库,同一个功能可能有多个类库都可以实现。就像移动、联通和电信都可以满足你通信的需求一样,但是你选择哪一个,就看你自身的需要了。我们在实现某个功能的时候也是,如果能够选择一个很好的开源类库,那么必将是事半功倍,不管是从效率和稳定性上来说,都比我们自己实现要好得多。所以我们要站在巨人的肩膀上。

  3. 了解数据结构和算法
  就像武侠小说里说的那样,招式只是形式,要练神功,必须懂心法。数据结构和算法就是所谓的心法。我不是说要去掌握所有的数据结构和算法的原理以及实现,这也不太现实,但是那些基本的、经典的我们需要去掌握,甚至可以自己实现。这是内功。

  现在好多面试也会问这些东西,特别是针对于应届生,不管你是本科还是硕士,基本上数据结构和算法的东西是必问的,如果你还不知道什么是二叉树、什么是快速排序,如果你还不知道什么是时间复杂度的话,那么确实要给自己充充电了。

  4. 用熟练一款开发工具
  我在学校的时候,一直在用 Eclipse 这个编辑器来写代码,基本的操作我也都会了,但是有一点就是 Eclipse 有点卡,而且动不动就卡,一言不合就卡。不过用 惯了,就懒得换了。

  工作了后,我同事在用 IDEA,我也用了,两个一对比也是天壤之别,我就不说开发效率了,无疑是提升了好几倍,最起码不卡顿。我就说说使用心情,那也绝对是比 Eclipse 爽的。但是 IDEA 我没有那么的熟练,也在继续使用中。

  所以选择一款好的开发工具很重要,不仅提升开发效率,最重要地,是你的心情好了,心情一好,干什么都来劲。

  5. 写代码要规范
  也许我一开始自学编程的时候,就跟着一些视频教程的缘故,受到那些大牛的影响,所以一开始我写代码就比较规范。我特别看不惯下面这种代码:

  redisUtil.setInfo(s_user,0,-1);
  }
  这几行代码没有任何意义,我就是举个例子而已。如果是我写,我会写成下面这样:

  if(null != sUser && 0 == sUser.getNum()){
  redisUtil.setInfo(sUser, 0, -1);
  }
  不管是空格上,还是命名规范上,甚至是空指针异常上,这些都是举个小例子,我们写代码一定要规范,这也是一个人有没有一个良好的 惯和态度的体现。最起码,可能你同事也会看你代码,请善待同事,程序员何苦难为程序员。

  6. 不停地给自己充电
  我们不能一直啃老本,干软件这一行,技术更新非常快,今年上半年学的技术,估计下半年就有了新的版本,我们要一直不停地给自己充电,不停地学 。哪怕是不停的总结自身不足,也比停滞不前要好,最起码自己没闲着。

  我们还要有一定的忧患意识,公司每年都会输入新的年轻血液,有初学者,也有牛逼人物,我们不要让雇主逼着自己去学 ,自己要有主动充电意识,这样才不会被周围的人给超越,才不会给后来者给超越。但是这都不是最根本的原因和出发点,最根本地,还是为了提升自己的能力。

  7. 计划、坚持与执行力
  我一直认为,一个优秀的人都应该是好的时间管理者,不管我们现在的能力如何,如果我们能合理的安排时间,分清主次,步步为营地去执行,坚持下来,我们肯定能收获很多,而且进步很快。

  坏 惯养成很简单,好 惯养成很难,但是不管哪个,养成之后,都是蝴蝶效应。是良性循环还是恶性循环,就看自己了。

  8. 放低自己的姿态
  是在分享还是在吹逼,这点我们一下子就能辨别出来,我也有所谓的朋友经常在我面前吹牛逼,可能这是一个人的本性,每次跟我聊天都要海吹一波,我只能苦笑一番。这是做人的一种方式。

  我是同济大学硕士毕业,可能相比于大部分人来说,我这个背景还算可以了,但是我一直为人低调,真心待人,从来不会因为你是大专或者一个不起眼的学校毕业的,我就在你面前吹牛逼,说一些大话,站在高处俯视你。我觉得人与人之间靠的是真诚,我真诚待人,别人肯定也会真诚待我。而不是我让别人觉得我有多牛逼,那样换来的也不是真正的友谊。

  任何人都是从0开始往上爬的,你的背景好,可能快一点,别人差点,可能就会慢点,但是这不能说明别人就不够努力,我很佩服那些先天条件差,但是却非常努力的想要提升自己的人,我特别愿意给这些人帮助。我的粉丝当中,有很多很多还在学校读书的学生,也有很多大专生,这些粉丝在微信里跟我聊天,让我指点指点(当然,指点不敢当,我一般都是建议和分享),我都会耐心的把自己的想法结合他们的处境,给一个我觉得比较好的建议。别人来问我是看得起我,我能帮上忙的,基本上都义不容辞。

  所以,如果哪天,我们牛逼了发达了,一定不要趾高气昂。人,不能有太多的棱角。这个社会,还是要靠朋友的。善待周围的朋友,放低自己的姿态,是对别人的一种尊重,同时,也是自己修养的体现。它也是决定一个人能否成功,能走多远的关键因素之一。

新手Java在华为的几点建议?的更多相关文章

  1. 这是一名Java学者关于学习方向的建议

    无可厚非,编程是一门艺术.但是辉煌的背后必须是一段辛苦的奋斗过程,而过程的引导方向就是最重要的一环.Java语言可谓是引领了编程的潮流,你会是怎样去学的呢? 这是一名Java学者的学习方向的建议 注: ...

  2. 新手向:Vue 2.0 的建议学习顺序

    新手向:Vue 2.0 的建议学习顺序 尤雨溪   1 年前 注:2.0 已经有中文文档 .如果对自己英文有信心,也可以直接阅读英文文档.此指南仅供参考,请根据自身实际情况灵活调整.欢迎转载,请注明出 ...

  3. 在JAVA中记录日志的十个小建议

    JAVA日志管理既是一门科学,又是一门艺术.科学的部分是指了解写日志的工具以及其API,而选择日志的格式,消息的格式,日志记录的内容,哪种消息对应于哪一种日志级别,则完全是基于经验.从过去的实践证明, ...

  4. Java代码编写的30条建议

    1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.例如: ThisIsAClassName thisIsM ...

  5. 管理Java垃圾回收的五个建议

    [编者按]本文作者是Niv Steingarten,是Takipi 的联合创始人,热衷于编写优雅简洁的代码.作者通过对垃圾收集器的介绍和梳理,在管理垃圾回收方面提出了五个建议,降低收集器开销,帮助大家 ...

  6. Java安全编码:糟糕的在线建议和令人困惑的APIs

    对于程序员和软件开发人员来说,网络论坛提供了一个交流知识和寻找具体编码难题答案的好地方.遗憾的是,他们并不总是准确信息的来源. 弗吉尼亚理工大学的一组研究人员分析了数百篇关于Stack Overflo ...

  7. 给Java程序员的几条建议

    对于Java程序猿学习的建议 这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是LZ你是如何学习Java的,能不能给点建议? 今天LZ是打算来点干货,因此咱们就不说一些学 ...

  8. 关于java性能优化细节方面的建议

    在Javva程序中,性能问题的大部分原因并不在于Java语言,而是程序本身,养成一个良好的编码习惯非常重要,能够显著地提升程序性能.下面来聊聊该方面的建议: 1.尽量在合适的场合使用单例: 所谓单例, ...

  9. Java 8 Optional 良心指南,建议收藏

    想学习,永远都不晚,尤其是针对 Java 8 里面的好东西,Optional 就是其中之一,该类提供了一种用于表示可选值而非空引用的类级别解决方案.作为一名 Java 程序员,我真的是烦透了 Null ...

随机推荐

  1. SVG开发注意事项

    SVG Scalable Vector Graphics 可缩放的矢量图形 起源 在 2003 年一月,SVG 1.1 被确立为 W3C 标准,在过去很长一段时间,网页注重文字和图片的展示, SVG就 ...

  2. LOJ6029 [雅礼集训2017]市场

    看到区间整除操作,直觉是不会除太多次就变成全 \(1\). 然而现在还有加操作. 我也不知道为什么,当一个节点的 \(\lfloor\frac{mx}{d}\rfloor=\lfloor\frac{m ...

  3. c# lock 锁

    lock语句 lock 语句获取给定对象的互斥 lock,执行语句块,然后释放 lock. 持有 lock 时,持有 lock 的线程可以再次获取并释放 lock. 阻止任何其他线程获取 lock 并 ...

  4. 解决 Github 图片加载慢的问题

    一.前言 本文主要介绍一种解决 Github 图片加载慢的方法,亲测有效. 笔者博客是使用 Github 作为图床,每次打开博客时的图片加载很慢或者根本加载不出来.这是因为 GitHub 的 CDN ...

  5. mac pe简单安装方法

    1.工具下载 TechTool Pro for mac V11.0.4:http://www.pc6.com/mac/112462.html 2.准备16g u盘 3.安装工具并按照注册码注册 在Te ...

  6. git操作记录(如何回退到某个历史版本,如何提交部分文件等方法)

    当前项目使用git管理代码,在使用的过程中会遇到一些问题,这里记录下 1.合并代码后 在合并组员的代码后会出现下面的界面,开始的时候都会关闭,重新打开,乐此不疲到忍无可忍 解决方法: 出现这种界面是要 ...

  7. ssh工具推荐MobaXterm 可能是你遇到过的比较出色的一款

    之前一直用xshell,现在推荐一个更好用的工具. 一站式的解决你的需求,而且画风个人也比较喜欢,而且随便一百度就能找得到green PJ 的版本

  8. SSM手动实现分页逻辑---非PageHelper方式

    第一种方法:查询出所有数据再分页 分析: 分页时,需要获得前台传来的两个参数,分别为pageNo(第几页数据),pageSize(每页的条数); 根据这两个参数来计算出前端需要的数据是查出数据list ...

  9. ELK学习笔记之Elasticsearch和Kibana数据导出实战

    0x00 问题引出 以下两个导出问题来自Elastic中文社区. 问题1.kibana怎么导出查询数据?问题2:elasticsearch数据导出就像数据库数据导出一样,elasticsearch可以 ...

  10. VS Code 自动修改和保存 代码风格 == eslint+prettier

    最近因为用到VS Code,需要统一所有人的代码风格(前端语言js/html/css等,或者后端语言 go/python等也可以这么用). 所以参考了一些网络资料,记录下设置步骤,以便后续查阅. St ...