本文主要是作者读安晓辉老师的《程序员程序员职场进阶 32 讲 》中关于“选择技术方向都要考虑哪些因素”这部分做的一些笔记和自己的思考。在这里分享给各位!
文章很短,所以各位只需要花3分钟左右就可以阅读完成哦!
选择一种技术可能会考虑到的决定因素
- 就业机会
选择一门就业面广的技术还是比较重要的。我的很多学PHP的同学现在都在培训班学Java,真的!!!但是也不是说,你选择就业面光的就能找到好工作,你选择就业面稍微偏窄一点的就找不到好工作。这个只能说是一种概率性问题,就业面广确实比较容易找到工作比如Java。
难易程度
我当时是在C/C++语言与Java中选择了Java,因为我感觉Java学起来确实要比C++简单一些。
- 个人兴趣
兴趣是你能坚持下来的一个很重要的条件。
- 薪资水平
薪资虽然不是人的唯一追求,但是一定是必备的追求。
- 发展前景
你肯定不愿意看到这种情况发生:选择了一门技术,结果一年后它就没人用、没市场了。所以我们在选择时就要考虑这一点,做一些预判。
选择技术时存在两种考虑:一种是选择稳定的、经典的技术;一种是卡位将来的市场缺口,选择将来可能需要用到的技术。
- 他人推荐
我们在懵懵懂懂的时候,往往最容易听从别人的推荐,然后选择某种技术。
- 相近原则
当我们已经掌握了一些技术,要学习新技术时,就可以根据一种新技术是否和自己已经掌握的技术比较接近来判断选择。相近的技术,学起来会更容易上手。
- 互补原则
和相近性类似,互补性也常用在拓展我们技术能力的情景下。它指的是,有一些技术可以和你已经掌握的技术互相补充,组合在一起,形成更完整、更系统的技术图谱,给你带来更大的竞争力。关于相近原则与互补原则,我们也会在后面的文章里具体解读。
- 团队技术图谱
我觉得这个可能就是团队开发过程中的需要。比如在做一个项目的时候,这个项目需要你去学习一下某个你没有接触过的新技术。
入行时如何选择技术方向
为了明确自己的求职目标,可以问问自己下面的问题:
- 我想在哪个城市工作?
- 我想在哪些行业、领域发展?
- 我想去什么样的公司?
- 我想做什么样的产品?
另外你要知道的是热门技术会有更多机会,相应竞争压力也会更大,并不能保证你找到合适的工作。
冷门技术,机会相对较少,而且机会相对确定 。
构建技能树时如何选择技术方向
当我们过了专项能力提升的初级阶段之后,就应该开始构建自己的技能体系了。在为搭建技能树而选择技术时,通常考虑下面两个原则:
- 相近原则
- 互补原则
“学习技术时一定要学对自己以后发展有用的技术”是我经常对自己强调的,另外我觉得很误导人同时也很错误的一个思想是:“只要是技术学了就会有用的”,这句话在我刚学编程时经常听到有人对我说。希望大家不要被误导,很多技术过时了就是过时了,没有必要再去花时间学。
我觉得相近原则和互补原则互补原则就是你主精和自己技术方向相同的的东西或者对自己技术领域有提升的东西。比如我目前暂时选择了Java为我的主要发展语言,所以我就要求自己大部分时间还是搞和Java相关的东西比如:Spring、SpingBoot、Dubbo、Mybatis等等。但是千万不要被语言所束缚,在业余时间我学的比较多的就是Python以及JS、C/C++/C#也会偶尔接触。因为我经常会接触前端另外我自己偶尔有爬虫需求或者需要用Python的一些第三库解决一些问题,所以我业余学Pyton以及JS就比较多一点,我觉得这两门技术也是对我现有技术的一个补充了。
技术转型时的方向选择
我觉得对于技术转型主要有一下几点建议
- 与自己当前技术栈跨度不太大的领域,比如你做安卓的话转型可以选择做Java后端。
- 真正适合自己去做的,并不是一味看着这个领域火了(比如人工智能),然后自己就不考虑实际的去转型到这个领域里去。
- 技术转型方向尽量对自己以后的发展需要有帮助。
写在最后
推荐一个自己的开源的后端文档
Java-Guide: Java面试通关手册(Java学习指南)Java Interview Customs Manual (Java Study Guide)。star:1.4k。
Github地址:https://github.com/Snailclimb/Java-Guide
文档定位:一个专门为Java后端工程师准备的开源文档,相信不论你是Java新手还是已经成为一名Java工程师都能从这份文档中收获到一些东西。
如果想要获取更多我的原创文章以及优质学习资源,欢迎关注我的微信公众号:"Java面试通关手册" 。无套路,希望能与您共同进步,互相学习。