文章目录
[+]
拥有8年软件开发经验,4年项目管理经验,分享自己在软件开发和管理方面的一些领悟。站在我的肩膀上,把我踩下去,减少大家走弯路。
本篇的目的结合多年的开发经验和管理经验,给大学毕业刚入行的同学一些建议,只代表个人观点,不恰当之处请忽略。
计算机软件开发的三个阶段计算软件开发,按照工作经验的积累大体上可以分为三个阶段:应用研发,组件开发,架构师。在每个阶段需关注的侧重点不同。
应用研发理论知识掌握一般来说都是从应用研发开始做起,学校毕业后,大部分人都是学习了一堆理论知识,可实践的场景较少。资深工程师的蜕变在这个阶段,通过业务开发,逐步理论结合实际,熟悉开发框架中用到知识点,不断的学习积累,慢慢的成长为资深工程师。业务领域专家学习相应业务领域的知识,成为技术&业务的方面的专家,探索更多技术服务于业务的场景。组件研发迷茫期当业务研发经验积累到一定程度,掌握了大部分高并发,数据库,缓存等相关的知识后,大部分人会比较迷茫。突破:这个阶段可以尝试学习各种开源项目,并学习其中的设计思想和算法。对日常技术点进行提炼,封装,形成组件即各种轮子。技术专家对底层原理及技术深度有追求,可以往这一方面发展。如果有更好的业务知识,探索更多技术引领业务的场景。架构师架构师是什么架构师是一个人,也可以是一个团队,负责在整个项目中对技术活动和技术说明进行指导和协调。架构师硬实力技术功底扎实,从计算机底层,网络,设计模式,到数据库与高并发编程,及各种中间件技术,常用的解决方案,都要有一定的理解。架构师软实力具备良好的沟通及项目管理能力,这个阶段,写代码不再是主要工作。一些建议系统学习系统设计的各方面知识,同时关注最新的技术及架构演变,形成自己的方法论。路漫漫努力坚持,剩下的交给时间。一个合格的架构师,可以很轻松成为一个合格的管理者。职业生涯的一些建议语言不要把自己限制在一门语言里面,语言会限制你看问题的高度。尽量走出自己的舒适区,多学习一门语言,可以看到不一样风景。敬畏不要盲目自信自己的代码没有问题,要自我审查和总结。学习多读书和学习,逆水行舟,不进则退。锻炼高强度脑力工作下,别忘了锻炼身体,身体是自己的。同理心学会换位思考,站在不同的角度看问题,有时候问题可以大事化小小事化了。