新手程序员的困惑

  这个寒假,过得感受很是漫长。寒假里制定了一些学习计划,看一些书,都在有条不紊的进行着。在这期间,帮助一些刚入门的小伙伴如何踏入程序员职业生涯,也和一些老程序员聊聊程序员的职业规划。内心有一些体会,仍是蛮有感触的。因此,费老大的劲把尘封多年的博客帐号找出来,准备写一些东西,和你们分享一下。
  开始吧!有一个小伙伴小Z问我,不知道本身适不适合作程序员,工做了半年,发现本身独立解决问题的能力很弱。经过和他沟通,发现小Z半年在单位一直处于代码搬运工的角色。因为所在单位的代码质量比较好,小Z能够直接将vue桌面端的代码拷贝过来到手机端,而后也完成了手机端的开发。当时,我以为还不错,因此问了问他vue一些知识。关于vue的v-if,v-show都不清楚,vuex也不懂,甚至连简单的js代码都不知道什么意思。说实话,当时我就很是震惊了。因此,我就问他还学习了哪些知识。他学了java,springboot,echarts,mysql等等。对于一个程序员刚入职半年来讲,其实学习得还不错。可是这一次的远程在家的办公,没有使用公司的代码,也没有公司的知识库做为参考,在家独立推动小例子的原型和小demo。他几乎一点代码都写不出来。这正是他如今苦恼的地方,信心逐渐丧失,工做效率和效果很低,压力很大。后来,咱们聊了好久,总算大概知道出现这个状况的缘由所在。
  一、程序员不是代码的搬运工
  程序员的工做不是代码的搬运工,而是一个有着创造力的工做。小Z在半年的工做,基本只是成天在公司里面拷贝这代码,而不去了解代码为何这么写,不去研究这么写的好处,对于代码中涉及到不懂的技术,也不去仔细学习。也许你一开始还能勉强应付工做的事情,可是后期没有造成本身的知识体系,这样的你很难成为真正的程序员。
  二、须要持续努力,韧性很重要
  小Z,在刚入职第一个月里面,很认真。在第一阶段的公司内部考验中顺利经过(当时另外和小Z一块儿入职的还有另一个小伙伴,而这个小伙伴没有经过考核,所以这一点的自满的感受,让他低估了程序员这个工种)。可是后来的五六个月的工做中,就开始放松本身,再也不认真了,之后的惰性又出来,真是以为有一点惋惜。另外碰到代码的难问题,不去仔细解决,总以为公司有高手帮他搞定,因此在后来的提升不多。从而在这一次远程独立办公的时候,发现知识和技术问题愈来愈多。在此,从我的经从来讲,我的以为当你选择程序员这个职业方向时,但愿你能作好一个持续性长期学习的内心准备。
  三、困难多,bug多,心好累
  想必,这个是新手程序员,常常有疑惑和有挫败感的地方。可是,我想说的,对于老程序员,这种感受也是一直存在的,并且甚至于苦恼的感受比起新手们,更有过之而无不及。因此,心态平和点,由于这个状况会伴随你的整个职业生涯。不少时候职业信心,不是别人对你赞誉而带来的,而是你在克服一个又一个困难的成就感给与的。而职业信心这一点很是重要。
  四、如何解决碰到的代码问题
  谈到这个问题,第一点,网上资源很是丰富,对于碰到的常规问题,网上通常都有解决办法。这时候你们确定首先想到的是百度。可是我的观点,以为google更好一些。另一些技术网站和有价值的技术文档要记得收藏,一些大牛的博客积累关注,一些技术社区,你也能够提出你的问题。这里的一些知识每每更全面更有价值。第二点,另外能够寻求身边的小伙伴帮忙,可是记住,先去尝试本身解决,拿出你的分析状况和思考点,再向别人请教(不要一碰到问题就问别人,这样一直打扰别人,也会影响别人的效率),这样你在思考分析过程的技术点可以和别人讲的知识造成很好的联系。第三点,多学习多看书,尤为基础性的知识点,书上都会有解决办法。第四点,涉及到使用一些技术组件和开源的框架,认证阅读别人的源码和文档,每每对解决问题帮助很大,另外优秀源码的阅读,对于提升你自己的知识体系帮助很是大。
  五、代码的实现思路每每来源于生活
  另外对于一些功能的代码实现手段,不妨在一开始没有思路的时候,能够先采用伪代码方式,和身边的生活联系起来去思考。我曾经碰到一个状况,团队在作一个可视化布局的功能(要求画布上的节点,动态排列,动态布局,实现这个布局算法),一开始因为接受任务的小伙伴对于可视化组件才刚刚熟悉,让他实现布局,他一脸蒙圈,不知道如何下手。后来,我就举了一个生活的例子,若是,大家全家准备坐在一个方桌周围吃饭,你先坐下来,这时候你爸爸来,他该怎么坐?你爸爸坐下来后,发现位置太挤,你妈妈等会也要过来坐,怎么办?这时候他彷佛有点明白了,后来我追问,若是全家换成坐在圆桌周围吃饭呢?这时候他豁然开朗了。代码在解决问题的时候,其实也是解决生活的问题,两者联系起来每每也会带来思路。
  六、编码效率低怎么办
  很好的IDE的选择,熟悉你的IDE的快捷键,可以大大提升你的代码速度。另外对于从新的代码工做,选择一些小工具的使用,或着编写一些小脚本帮本身实现,每每事半功倍。另外多学习多练习,熟能生巧。
  七、如何提升本身的技术
  实战!实战!实战!我曾经碰到一个新手java程序员,涉及到java知识都知道一些,一些新技术的干货不少都有知晓。可是后来在一块儿工做以后,才发现实战能力很是弱。为何呢?后来才知道,他有一个很是“好”的习惯,记技术笔记,可是彻底是文科生摘录笔记法,甚至于书上的练习代码,他居然没有在IDE敲过,而是在笔记里摘录。并且记录的笔记,东一块西一块,没有技术路线。
  因此如何提升技术,选择几本很好的书整理好,向有经验小伙伴请教,找到一个符合本身目前认识水平的技术路线,这一点很是重要。这个技术路线每每一步一步夯实,这样会快速重塑你的知识体系。最后不要忘记仍是实战。
  最后想说的,程序员的工做不是的你生活的所有。闲下来,看看技术之外的书每每也很重要。若是一直陷于技术中,有的时候每每会限制你的思惟,让你对周围造成陌生感,这样的生活一点都不美好。
相关文章
相关标签/搜索