当前位置: 首页 > 科技观察

程序员如何寻找技术突破口,体现技术价值?

时间:2023-03-19 01:54:36 科技观察

作者|zishunchen作为互联网行业的技术从业者,很多同学在职业发展的道路上都会遇到职业发展的成长瓶颈,例如:要学的技术多,精力不足;技能与业务不匹配,找不到突破口;技防屡屡受挫,无法体现价值等等。而形形色色的“程序员35岁论调”让整个行业都为之焦灼。作为鹅厂专家平台的咨询老师和前端技术专家,笔者总结了两个大家关心的问题:如何寻找技术突破口:本人从事前端开发多年,技术进步遇到了瓶颈。我一直在做螺丝工作并且有一些年龄焦虑。如何体现技术价值:不善言辞,不知道如何在技术答辩或交流中突出自己的工作亮点。结合笔者自身的经验和理解,分享给大家。也希望下面的内容可以帮助热爱前端和技术的同学能够走得更远。1、如何寻找技术突破口典型问题:前端开发的广度与深度之间的取舍,新技术与业务场景的解耦,如何提升自己的业务敏感度?学习新技术当然令人兴奋。好奇心根植于人类基因中。作为程序员,我们总是需要不断思考一个问题:我们期望用技术解决什么问题?1、从问题入手启动QQ空间时遇到的问题是:网络质量普遍较差;用户数量突然增加,服务器成本成倍增加。为了解决“小水管”也能体验富媒体网页产品的问题。前端性能优化变得尤为关键。从解决浏览器兼容性问题的统一框架,到构建监控指标体系,再到前端模块化开发模式。早在10年前,就已经在企业中陆续实施,并取得了良好的效果。现在看来,应该算是技术上的突破了。我们遇到了很多技术上的挑战,当时也没有现成的方法可以参考。做别人没做过的事,解决最难的问题,做出最好的技术。而这个过程需要足够的耐心和坚持,不断的探索和验证。2.从结果反推。长期在公司担任渠道面试官,参与过无数前端同学的技术答辩和招聘面试。很多同学在面对复杂的技术问题时,很容易局限于垂直的技术领域寻找解决方案。举个案例:我曾经遇到过一个候选人,他告诉我,他精通前端react开发框架。问了下,业务本身并没有使用react进行研发。如果你参与后需要重新学习,你会怎么做?应聘者回??答说,非常想找一个可以用react技术持续发展的企业。这种情况可能有些极端,但实际上,由于以往的经验,我们会陷入一种先入为主、检查过的思维模式:通过自己掌握的工具来寻找问题,而不是通过问题来寻找合适的工具。技术学习和技术突破,一个是过程,一个是结果。如果能从结果出发,我们就可以思考需要掌握什么样的技术才能解决当前的问题。你可以学得更多,学得更深。3、学会发现问题在一线做研发工作的时候,我的研发效率可以完全独立的时候。我经常被领导挑战的问题是:“你应该学会自己发现有价值的问题”。作为农民工,进入职场后,我们会习惯一种安排好的工作模式。产品提出需求,技术满足需求。日复一日,很容易陷入螺丝刀状态。随着时间的推移,我们缺乏目标和发现问题的能力。在我们掌握了各种研发工具,提高了研发效率之后。我的理解是,这些效率的提升,都是为了给我们更多的时间和空间去思考:用户或者客户的痛点,产品或者业务的问题,甚至是平台和生态的关系。作为一名前端程序员,我认为:前端除了技术能力,还需要有一定的产品意识,能够积极思考用户和业务问题。当然,我们也要避免发现问题解决问题的技术思维陷阱。因为很多问题的优先级和重要性,需要和团队多沟通,多了解原因。2、如何体现技术价值典型问题:如果不善言辞,应该如何突出自己作品的亮点?在进行技术防御时,我们不需要有非常华丽的口才。它的重点是日常工作、思考、总结能力的积累。简而言之,就是把我们所做的事情抽象成一种创新的方法论。1.提出创新的技术方案前端非常注重性能优化。前端经过十几年的发展,积累了很多技术上的最佳实践和方法,这意味着成熟的技术已经成为套路和规则可循。比如想要减少加载时间,很容易想到使用图片压缩技术、缓存、CDN加速等技术。如果我们在答辩的时候还在陈述常规的技术手段,那么就体现不了你的独特价值。也就是说,工作时间长的技术同学会陷入两难境地,“感觉前端技术眼花缭乱,但各个方向的天花板都不高,如何形成自己的竞争力”。在鹅厂,很多技术生没能通过答辩,不是因为他们没有做好本职工作,而是因为他们只是完成了常规工作,并没有给人留下任何印象,让别人记住你做了什么。我们需要明白,大多数新技术都是从现有技术的重组中衍生出来的。我们需要真正掌握和理解现有技术,根据业务需求组合出更好的原创解决方案。要想在技术重构上有所突破,就需要了解很多技术背后的原理和系统。比如:applet是web技术的重组,flutter是端到端渲染技术的重组,vue是dom运行方式的重组。自己的思考和总结,给大家两点建议:不要盲目跟风,学抽象分析,学无技术限制的解构,学系统问题,总结最重要的是不要害怕面对困难,敢于挑战,勇于承担。学会做好技术规划、成本和风险管理。从而达到“程序员不能说不”的境界。2.挖掘渠道审核背后的动机并不是刻意要求大家很会说话,因为这不是技术渠道审核的目的。很多技术人员在答辩的时候不会说话,更不知道如何把自己所做的事情表达清楚。比如有的员工答辩的时候,就像工作汇报一样,把自己做过的所有事情都重复一遍,把渠道要求里面所有推荐的技能都列出来。这里有个很大的问题:忽略了动机,没有讲清楚技术实现背后的原因和思路。比如很典型的技术逻辑思维:问??题发现→技术选型→量化验证→调优。一个问题通常有多种技术解决方案,那么为什么选择当前的方法呢?是最优解吗?你背后的思考和比较是什么?您选择的解决方案的优点和缺点是什么?......我们需要告诉这些事情。有一次,facebook来鹅厂分享他们的前端优化方法,最后一句话让人印象深刻,“我们的方案可能不适合你”。可见,我们应该吸收的是why,而不是how。最后,也希望大家能够摆脱“我是xxx程序员”的技能枷锁。成为真正的程序员,面对问题,解决问题。如果可能的话,我也建议程序员努力提高自己的语言表达能力。毕竟这也是可以通过练习来提高的。3、个人经验总结与感悟。公司从最初的用户互联网发展到现在的产业互联网。许多角色已经开始改变。我觉得这个变化其实带来了更多的机会。如果业务还在C端,那我们还是要保持对C端体验的极致追求。如果做B端能力,可以多关注整体效率、储能和赋能的问题。对于前端,我觉得他应该结合行业需求来考虑自己的定位。比如我们有云开发能力的同学,虽然他们在公司的职位是前端开发,但是放眼整个行业,其实都是在行业的后台工作。那么你做这样一个背景,应该依靠什么能力来赋能和解决行业问题,如何帮助这个行业更好的提升产能和效率。我遇到过很多做B端前端开发的小伙伴,也时常感到迷茫,认为自己在这方面做的好像没有调优价值,或者说没有成就感。因为他们甚至可能不知道自己想做的是行业背景。我们要解决的问题不是螺丝问题,而是系统问题。随着技术的发展,前端开发的成长机会会越来越多,选择的空间也非常丰富。无论是成为性能优化专家、可视化专家,还是资深游戏技术从业者,都比以前有更多的选择。我们需要从企业所在的行业出发,重新加强对行业的认知和理解,找到自己的角色定位,保持激情。不断提高分析问题和解决问题的能力,同时积累发现问题的能力。