公司项目缺乏挑战,怎么持续提升专业能力 | 职场解忧

程序视界

共 2453字,需浏览 5分钟

 ·

2022-05-15 10:02




Q

我所在的研发团队,负责的产品,技术上没有什么挑战,近期看来也不大可能发展成有规模的大产品,在这种情况,我该怎样持续提升自己的专业能力?

A

这个问题,是在中小公司工作的开发人员都会碰到的,很普遍。


这里我想先说一点,专业技术能力必须在实践中提升,实践的环境决定了你成长的天花板。


你做的项目规模小,难度低,没挑战,你自然成长得慢。你做的项目,规模大,难度高,挑战大,你自然成长得快。所以想要持续提升专业能力,最有效的策略是做有规模、有难度的项目。


如果当前的工作环境,看不到出现大规模高难度项目的机会,那换一下环境,可能是更好的选择。


当然,环境没那么容易改变,每个人都去做大规模的项目,都去做高精尖的研究,也不现实。很多时候,你还是只能做自己手上的这个项目,那怎么提升自己呢?


可以从三个方面入手。


第一方面是项目经验。


你可能会觉得,自己做的是一个小产品,好像比较难积累高端的项目经验。的确如此,你做的不是高端项目,就没办法拥有千万级并发的项目经验,也不可能在下次求职的时候,满足招聘方这方面的要求。这个要认,放弃掉幻想就好了。


事情的另一面是,你做小项目,会有更大可能,成为这个项目的负责人,进而拥有操盘经验


就是说,当你负责的项目是普通的中小型项目时,你有机会经历项目的各个环节,从需求调研、市场分析、立项,到组建团队、研发,再到上线、售后,你都能经历,同时你会产品部门打交道,跟客户打交道,跟售后、测试、客服团队打交道。这样一来,你就更容易掌控全局。相较于做大项目的技术人员,这就会是一个明显的优势。因为做大项目的技术人员,往往可能负责项目中很小的一个模块,只见树木不见森林。


所以,你现在可以发力的一个方向是,努力往上走,让自己的负责范围更广,积累整个项目的操盘经验。


拥有了操盘经验之后,你就会去琢磨产品对客户意味着什么,对公司意味着什么,对团队里的每个人意味着什么……这样你慢慢会有更系统的思考,久而久之,会形成系统思考能力,拥有系统思考经验。


这是从项目经验这个方面来看,做中小型项目的好处,可以积累操盘经验和系统思考经验。




第二方面是要练好单杠。


什么是“练好单杠”呢?


就是借助小项目,让自己在某一个专项技能上得到充分的锻炼。


具体来讲,有三类策略。


第一类策略是花式应用。


中低端的项目,或者规模比较小的产品,往往不需要太高深的技术。这种情况下,个人还想持续提升,就可以走花式应用的路子。


一个在多个模块都会用到的功能,我是不是可以用不同的方法实现?在这个模块,用这种方法实现,在另外一个模块,换一种方法实现。这样你就得到了不同的锻炼。


实现同一个类,这个版本我用这种API组合,下个版本我迭代一下,换一种更好的API组合。这样你就能实践更多的API。


这就是花式应用,尽可能变着花的锻炼某种技术中的知识点。


第二类策略是持续优化。


你可以从各个方面优化,比如如何让性能变得更好?比如代码设计能不能更优雅?比如程序能否更健壮一些?


原则就是,基于某一些细小的点,做更深入的研究和实践。这样子你会持续提升。


第三类策略是理解原理。


可以看一些原理性的书、课程,或者直接去研读源码,努力理解日常所用技术的底层原理。理解了原理,反过来你可以更好的运用这种技术。


另外,你还可以根据自己的项目特点,对用到的开源框架做一些改进。改进或优化一个开源框架,能够有效加深你对它的理解,可以极大提高你的技术能力。


以上是练好单杠的三类策略:花式应用、持续优化、理解原理。


那些从小公司小项目中突围出来的人,多数都是因为练好了单杠,在某个专项技术上有了深厚积累,才找到了更好的机会。




第三个方面是横向拓展。


这块也有三种策略。


第一种策略是关注你所用技术的新应用新发展。


有时候公司的项目,使用是几年前的技术栈,迟迟不更新。尤其是一些业务型的公司,只要软件在客户那里不出大问题就不应用新技术。你想把JDK版本升一下,你想把那个开源框架的版本升一下,领导会说,只要不出事儿,千万不要动。这样就会出现一个问题,你一直在用陈旧的技术组合做项目,等你离开公司到市场上找机会的时候,就会发现目标岗位要求的技术自己从来没有用过。这是个蛮大的问题,妨碍你获得好的工作机会。


所以你需要关注所用技术的新应用新发展,跟上技术趋势。


第二种策略是每年学一门新技术。


比如,每年学一门新的编程语言,或者每年学一种新的技术框架。注意,你不一定要把新技术运用得非常熟练,不一定要达到精通的地步。


每一种编程语言,每一种技术框架,背后都有一整套的思维模式,比如C语言背后的思维模式和Java就不一样,Java背后的思维模式和Golang也不一样。
所以你在学一门编程语言,学一种技术框架的时候,不仅仅是在学技术本身,同时也是在学这种技术关联的思维,可以习得看待技术或工作的新视角新模式。


这就是为什么你每年都要学一些新东西的原因——你要借着学习新技术持续拓展你的思维模式。


第三种策略是构建技能组合。


你在工作当中用到了技术A,它通常和哪些技术组合在一起?它能不能和更多的技术组合起来,形成新的工具箱?这个工具箱,能不能解决更复杂的问题?


这些都可以勤加考虑。


即便你找到的技能组合,眼下的工作中用不到,也不要紧,你可以自行设计一个新的项目,业余时间做一做。这样的话,你对所用到的技能以及相关技能,可以有一个全面的认识,你的技能体系会更加完整。


以上是横向拓展的三种策略:关注所用技术的新应用新发展、每年学一门新技术、构建技能组合。



好啦,这就是想要持续提升专业能力的三个努力方向:积累项目经验,练好单项技术和横向拓展。当你不得不持续做缺乏挑战的项目时,可以试着用用它们,一方面可以避免自己成长停滞,另一方面,也可能因此找到更好的工作机会。


咨询职场研习社,请加微信 a32352937



《职业复盘》共读02期来啦

职场研习社:面对面辅导,助你变得更专业



要不要相信老板画的饼

降低精神内耗的3个建议

中外合作办学值得上吗?该如何评估类似高校项目和专业的含金量?


浏览 91
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报