提交需求
赛事与广告咨询合作,请填写需求表单,我们会在第一时间与您联系!
互联网行业的飞速发展,离不开工程师们的矜矜业业,随着金九银十招聘季的到来,很多新晋工程师面临着职业规划的难题:
工程师需要什么样的技能?
工程师的成长路线是什么?
有没有通用的可以借鉴的框架?
本期【蓝湖大咖访谈】有幸邀请到蓝湖主站技术负责人、前百度高级技术经理史岩芳老师,结合他多年的技术和管理经验,分享工程师的成长路线,为大家提供参考。
工程师的三个子方向
工程师的发展,可分为产品、工程、算法三个子方向:
产品:对内对外的产品。
包括 Web 前端(FE、H5、 Windows 、Android、iOS等);
Web server 端( PHP、Java 业务实现等);
产品后端(C++ 产品实现、策略优化等);
数据(数据分析、离线数据调研、ETL 等) 。
工程:目标系统、目标指标的导向性,是系统本身还是业务本身。
虽然都做架构,工程方向与产品方向的关注重点不一样:
工程方向关注于系统本身,追求系统本身的稳定性、吞吐量、速度、架构合理性;
产品方向关注于所负责业务上,系统的业务架构或划分的合理性,业务逻辑抽象的灵活性,对于业务指标的完成方法。
算法:完成目标的手段更多是技术性还是业务性,是算法本身还是业务本身。
传统的策略方向工程师通常会通过迭代模型,优化特征来不断的提升一个或几个固定的指标。
产品方向工程师在做事的时候也会用到算法,但不限于算法。通过理解业务,拆分业务指标逻辑关系,设计合理的业务模型框架,辅以算法来达到业务目标。某些情况下,会设计一些非算法的方法(如裁剪流程、社会工程)来达到相同的目的。
从初级到高级的要求
初级工程师成长为高级工程师,是个人能力和综合素质提升的重要历程,在这段历程中,通常会经历三个阶段:
1、能完成功能相关的开发任务
做事让人放心
对负责的模块有足够的了解,可以快速响应相关模块上的升级需求。
主动思考,发现问题以及对问题的主动跟进。
项目质量,代码风格符合要求,不能存在明显质量问题。
工作独立自主
技术指导人投入在指导这位工程师身上的时间和精力正常,没有明显过多之处,这种情况下工程师所负责业务可以符合预期的开展。
工程师能够对自己负责的业务有一定的(短期)规划,思路合理、明确,并且有能力保证规划的执行。
2、能独立负责中等规模项目
独当一面
能把产品需求转化为可行的技术需求。
能利用已知的技术完整的实现需求,解决具体的技术问题。
对相关的功能开发需求有判断力,包括可行性和开发代价。
高效高质量的开发
快速开发
质量高
产出
对产品线的核心指标有一定贡献。
能够在产品上提出一些有影响力的创新性意见。
领导力
合理管理自己时间,按时按质交付工作。
具备一定的项目推动力,协调能力。
3、能领导、推进复杂或大项目
抽象能力(产品需求转化到技术需求)
对产品经理提出的粗略产品需求,可以配合逐步细化,并转化为对系统的技术需求和技术问题 。
调研决策能力,能根据技术需求调研合适的技术方案,并做出正确的决策。
创新能力
深入理解需求,设计合理的业务模型,兼顾当前需求和未来发展的需要。
在某个专业领域业务精通。
对某一特殊领域的业务过程非常熟悉,其在这个领域积累的经验,极具价值,难以替代。
技术全面
对项目实现需要的相关技术有判断力,包括可行性和开发代价。
项目技术问题分解与总体设计。
领导力
能够预见和管理项目风险,协调团队资源,推进项目上线。
能够指导第二阶段的工程师工作 。
资深工程师的进阶
能力越大责任越大,成为资深工程师之后依然有很长的路要走,在这段历程中,可分为两个阶段:
1、能主导抽象的,不明确的产品功能研发
有较强的问题抽象,分解能力。
可以无障碍的理解产品经理的产品意图,与高级工程师需要理解的相比,这种意图可能是更加抽象的,不明确的,感觉化的,方向化的。
深入的业务抽象能力,业务建模兼顾当前需求和未来发展。
产品把握和迁移能力
对产品能够形成深刻的理解,以更好与产品经理共同推动产品发展。
可以快速切换工作到一个新的产品情境。
技术能力更加综合、全面
能够把握具体产品方向的研发工作,负责一个重点、难度大的产品项目,或者一系列相关的产品Topic,并且制定和推动所负责产品线的业务规划,产出对于团队业务指标产生直接影响。
能综合权衡产品需求、体验与技术实现,从技术侧给产品合理的建议,在产品开过程中发挥技术影响力。
创新能力
有关键的技术决策或者创新点,对业务发展有较大促进作用。
比如,带来业务指标,或开发效率的巨大提升,或机器成本大幅降低,以及模块级创新、技术改良等。
领导力
能完成项目计划的制定与项目进度管理,涉及各种角色的项目协调和推进。
在务实、自驱、Follow through 的精神等方面都表现突出。
2、对多个技术方向的掌控超越资深工程师的第一阶段
工作产出
能负责多个重点、难度大的产品项目,并制定和推动所负责产品线的业务规划,对于部门业务指标产生直接影响,比如收入、PV 影响面、资源使用率、研发效率等 。
能够主导抽象、不明确的子产品线研发;解决一类技术难题,对产品带来正向作用。
所负责技术能推广到更多部门,形成良好的技术输出,为新兴产品团队提供有效的技术方案或者产品支持。技术发展结合业务发展,具备中长期技术规划能力。
产品业绩与公司战略一致,能够给产品线带来较高的收益。
产品规模
系统规模与协作。项目涉及跨团队或者跨部门的资源协调。能够对大型项目进行科学的阶段划分与管理 。影响范围,需要在产品线内部有一定的影响力。
创新能力
在多个产品方向上有关键的技术决策或者创新点,对业务发展有巨大促进作用。比如带来业务指标或者开发效率的巨大提升或者机器成本的大幅降低。
已有产品。敏锐的发现产品的需求或变革点,创新点能够给产品带来重大的影响和收益 。
新产品。基于对竞品的深刻理解,明确新产品的本质区别与核心优势,找到机会,促成创新,取得效果。
业务理解能力
能够合理的抽象和分解产品目标 。对复杂问题具备较强的分解和落地能力 。
对于已有产品的抽象建模应用到新产品中,促成新产品或大版本快速上线。
综上,工程师的能力成长规划,可概括为:从代码开发到架构规划、从功能实现到业务指标贡献、从独立开发到部门协同。
软素质是水面下的冰山
如果说工程师的硬素质是冰山一角,那么软素质就是水面下的冰山,它们贯穿工程师成长历程中的每一个阶段,或锦上添花,或带来质的飞跃,不容小觑。
工程师的软素质可分为两种类型的能力:
通用能力
1⃣️ 团队合作
在遇到困难或需要决策时,诚恳征求他人意见和建议,尊重他人的意见和想法,愿意向他人学习。
2⃣️ 持续学习
深刻理解新知识、新技能对本职工作的影响并积极应用于实践。经常通过反思和总结个人和组织的成败之处来提升自己。
3⃣️ 坦诚直接
遇到利益诱惑能顶住压力,坚持原则。敢于公开承认自己的错误,毫不隐瞒。
4⃣️ 追求卓越
为自己设定具有挑战性的目标,并采取行动努力实现。不断优化工作流程和方法,把事情做到极致。
专业能力
1⃣️ 沟通影响力
能同时采用多元化的手段和方法说服和影响他人。认真准备,有计划地采用多个步骤来施加影响。
2⃣️ 逻辑思维
认识到一个问题或事件前后可能存在的多种原因和结果,据此衡量不同方案的价值。面对复杂情况时,能将各种看法、问题和数据归纳提炼出核心观点或简洁的结论。
3⃣️ 主动灵活
不守常规惯例的限制,寻找不同的工作模式,只要是对客户好,对公司发展有利的,就灵活地采取行动应对。提前判断环境变化,积极采取行动,及时改变行动方案和目标。
4⃣️ 乐观积极
面对挫折不轻言放弃,采取积极的行动来化解自己的不良情绪。在长期的压力下能够保持乐观的心态。
5⃣️ 创新思考
不满足于运用常识和过去的经验思考问题,面对类似的工作问题时,尝试提出不同的解决方案。改进现有的方案,设法找到更好、更有效的工作方式或产品。
说到这里,开篇的三个问题,想必大家都有了答案:
做技术某种程度上来说是件很苦很累、需要长久坚持的事情,没有对技术的热爱,很难能够主动、自驱的在技术上投入钻研,很难持续学习,就不可能在技术上有持久的成长。这是做技术的原动力。
发展是一件很私密的事,最适合自己的才是最好的,条条大路通罗马,只是难易不同。成长,是件反人性的事情,最适合的方式一定是坚持成本很低的,可以长期坚持的事。
本期的【蓝湖大咖访谈】就到这里,感谢史岩芳老师带来的分享。
工程师职业发展只有合适与否,最合适自己的道路应该是自己真正理解并接受的道路,本期分享的内容仅代表大咖现阶段的理解,希望能为大家提供参考。
欢迎在评论区写下您的成长建议或职场困扰,或许有机会得到大咖的亲自指导哦~
关注蓝湖公众号并留言,点赞量高者,可以获得湖湖公仔一个哦~
BTW,想和大咖一起成长吗?
蓝湖众多岗位热招ing!
Powered by Froala Editor
大牛,别默默的看了,快登录帮我点评一下吧!:)
登录 立即注册