上周的投票,大家最关心的还是提高技术,那我们今天就来聊聊这个话题。
之前主要分享的多是算法和数据结构方面(年后继续),因为我认为算法和数据结构是程序员最最最重要的内功,但是并不是唯一。
我自己作为一个非科班的程序员,并且在工作中观察了“这两类”工程师的表现,我认为科班和非科班最大的区别在于:科班的同学知道去学什么,问题出现了他知道自己是哪里有知识漏洞;而非科班的,可能压根不知道自己不知道什么。
(解决方式:建立系统的知识体系、寻求老板、techlead的指点,快速补充基础并反复学习。)
因此这篇文章我想粗浅的聊聊成为一个工程师需要掌握的大致学习路线,更多的偏入门一些,不涉及具体的工作方向。欢迎大家在文末分享你的学习心得,正如柏拉图所说:
人只有通过和别人讨论,才能知道我们的经验是不是真实的。
文章略长,如果一次没时间看完,建议先拉到文末参与抽奖送书活动~
如果把学习比作练功的话,我把我的学习内容分为:
修炼“外功”:偏应用修炼“内功”:偏基础两者配合,才能仗剑走天涯!
一、外功1.Linux操作系统对于想做开发的同学,如果还是个小白,问我第一件事情该做什么,我会强烈推荐先学习Linux操作系统,因为互联网公司基本上大部分业务框架部署都是在Linux操作系统上进行的。
我认为学习Linux操作系统的重点就在于学习各种强大命令如何组合运用。
一是因为工作中我们经常需要用到,比如对各种日志文件进行分析,写脚本驱动机器帮助我们工作。
二是面试时经常会给出一个需求场景让你编写相关的组合命令,比如统计一段日志中各种IP地址出现的次数。
给大家推荐一本Linux界的“圣经”。
《鸟哥的Linux私房菜》蝉联最受欢迎华语Linux书籍第一的位置,无人能撼动。
对于想走开发路线,或者互联网技术路线的同学,学习Linux绝对是必须的。
这是一本既能帮助你入门,又能随时备查的工具书。更特别的是鸟哥的写作风格,非常口语化,读起来感觉像是有人在跟你实时互动聊天。
建议想要学习的同学可以收藏一本电子版随时备查。第一次阅读的同学估计会被它的厚度吓到,但其实没有必要去一字一字的全部读完,快速的看完前面十章,你就会对Linux有一个初步的认识。以后需要用到哪些命令和知识随时再查就可以了。
2.学习一门语言和框架对Linux操作系统有了一定的了解之后,大家就可选择一门编程语言及其通用框架进行学习开发。
语言的学习和框架可以借助的资料就很多了,每个人的习惯都不一样。喜欢跟着视频学习的可以去慕课网、极客时间,上面有很多性价比很高的课程。另外推荐大家可以加入一些交流群,嗯,比如我的读者交流群,另外一些框架或者语言的