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

  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. c++负数下标

    如何使用负数下标呢? 让数组前面有东西 int y[100]; int *z = y + 50; 这样的话调用\(z[-50]\)就变成了调用\(y[0]\) z[-50] = y[0]; 然后这样就 ...

  2. Asp.Net Core AsyncLocal 异步上下文

    引子 阅读以下代码,并尝试分析 代码解析 在主线程中,线程Id为1,为线程变量赋值 变量==d6ff 开启一个新的task,此时线程Id为4,变量==d6ff,并调用Task1 开启一个同步Task3 ...

  3. 一文读懂前端技术演进:盘点Web前端20年的技术变迁史

    本文原文由作者“司徒正美”发布于公众号“前端你别闹”,即时通讯网收录时有改动,感谢原作者的分享. 1.引言 1990 年,第一个Web浏览器的诞生:1991 年,WWW诞生,这标志着前端技术的开始. ...

  4. paramiko 远程执行多个命令

    转发博客如下 https://blog.csdn.net/c_base_jin/article/details/86561445

  5. hdu-6071 Lazy Running

    In HDU, you have to run along the campus for 24 times, or you will fail in PE. According to the rule ...

  6. Kubernetes Ingress 部署

    Kubernetes Ingress 部署 Pod与Ingress的关系• 通过service相关联• 通过Ingress Controller实现Pod的负载均衡- 支持TCP/UDP 4层和HTT ...

  7. 拒绝CPU挖矿矿工有责

    长期以来CPU挖矿给挖矿行业带来持久的负面影响,因为CPU是电脑的核心设备,一挖矿就干不了别的了,大家是否可以达成共识拒绝CPU挖矿? 显卡挖矿刚好构建在不影响大众的日常工作生活对电脑的需求之上,家用 ...

  8. The underlying connection was closed: An unexpected error occurred on a send

    操作系统是Windows Server 2003 x64 SP2,使用Framework 4.0,在使用WebClient访问某些特定的HTTPS站点时,会引发异常: Unhandled Except ...

  9. Java生鲜电商平台-会员积分系统的设计与架构

    Java生鲜电商平台-会员积分系统的设计与架构 说明:互联网平台积分体系主要用于激励和回馈用户在平台的消费行为和活动行为,一个良好的积分体系可以很好的提升用户的粘性及活跃度. 一.互联网平台积分体系设 ...

  10. Java生鲜电商平台-高并发的设计与架构

    Java生鲜电商平台-高并发的设计与架构 说明:源码下载Java开源生鲜电商平台以及高并发的设计与架构文档 对于高并发的场景来说,比如电商类,o2o,门户,等等互联网类的项目,缓存技术是Java项目中 ...