还在苦恼熬夜加班何时是个头?不妨试着用学习去打破这个困局

由于从事IT行业,所以平时接触的最多得就是软件工程师这个职位的人,这么多年,当然见识了很多技术牛逼的人,但也有让自己感叹的,这写的都是些什么。

其实不管在哪个行业,有不厉害的就有厉害的。因为他们的天赋和付出的不一样,所展现出来的实力也就不一样。

还记得上家公司,有次做一个新项目。等到开发写好项目后,转交到测试手里。我依稀记得那个测试在群里咆哮:“某某,这跑个主流程都跑不通,你真的有自测过才提交过来的吗?”这已经算是很客气的问候了,听说私底下有些人还会嘲讽这代码质量堪比小学生。

可想而知,这样的代码质量,在测试那里肯定过不了关,直接给打回了。不久后那个开发就离职了。听说是被暗地里辞退的,因为很多人投诉说他代码质量不好。

当然了没有人一开始就很牛逼,都是通过不断的学习,实践和坚持,才能写出一手漂亮的代码。虽说天赋同样很重要,但学习和努力占了百分之九十九。

就像丁丛丛,靳冉的《这就是软件工程师》里就有提到:在学习上我们应该不止于跟别人学、碎片式的学,而是需要向内精进,搭建起自己的知识体系。如果能做好这些,相信可以让我们的工作能力有效地得到大幅度提升。


我们应该如何更好的提升自身的能力?

对于应该如何才能更好的提升自身的能力,在这里结合书中的内容为大家分享三个方法,不妨耐心地继续看下去:

1.打牢基础,以不变应万变

不管做任何事情,基础永远是最重要的,只有基础打牢固了,我们才能在上面建立更多的知识体系。

就像起房子,就必须要打地基,而且要打得很牢固。这样不管是想起五层还是十层楼都能完成目标。

学习上也是同理,我们需要先打好坚实的基础,才能在基础上再拓展需要的知识。

而关于软件技术的基础就需要系统的学习程序语言,包括语言的原理,类库的实现,编程技术,编程范式,设计模式等。

还有一些系统原理,包括计算机系统,操作系统,网络协议,数据库原理等。再加上中间件,包括消息队列,缓存系统,网关代理,调度系统等。

最后是理论知识,包括算法和数据结构,数据库范式,网络七层模型,分布式系统等扥这些知识。

当然学习基础并非一朝一夕就能完成,是需要花大量的时间和精力去持续性的积累。

2.用知识树系统的去学习

另外任何知识,只在点上学识不够的,还需要在面上学,因此,我们可以去总结并归纳知识树或者知识图。

我们都知道,一个知识面会由多个知识板块组成,一个板块又有各种知识点,一个知识点会到处另外的知识点,各种知识点又会交叉和依赖起来,学习就是要系统地学习整个知识树。

就好像,对于一棵树来说,“根基”是最重要的,所以,我们学好基础知识非常重要。因为如果我们身处在一个陌生的地方,有一份地图是非常重要的,没有地图的话只会乱窜,迷路甚至走冤枉路。

只要我们打好了基础,那么就可以开始利用知识树系统的去学习了。相信效果会很惊人。

3.提高自身的学习效率

其实学习也分很多种,读书,听讲都是学习。讨论,实践也是学习,学习与学习之间还是有一定的差别。

很多时候大部分人一直处在被动学习中,比如读书,听讲。只有少部分人会从被动学习转变成主动学习,如讨论和实践。

如果一直处在被动学习中,相信很难有进步,所以我们应该主动去学习,这样才能真正的学到一些有助于我们能力提升的东西。

比如对软件工程师来说,我们可以写博客,做分享都是很好的主动学习的方式。

因为当我们要去教别人的时候,当我们要把自己写的东西公之于众的时候,我们势必需要去查很多东西,而且会很上心,这样一来就会学的很系统。会在不知不觉中提升自己的知识面以及能力。

总结:

《这就是软件工程师》告诉我们学习不是为了找到答案,而是为了找到方法。因为任何知识都是有缘由的,了解一个知识的来龙去脉,会让你对这个知识有非常好的掌握,而不再知识靠记忆去学习。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容