如何从传统软件开发顺利过渡到互联网技术开发

今天来说一个比较普适性的问题:如何从传统软件开发转到互联网技术开发,这也是不少朋友问过我的问题,特整理一篇文章出来分享给大家。

软件无所谓传统与新兴,只不过面向市场的不同,导致大家心里有个对比。何谓传统软件开发,可能更多的与企业内部应用挂钩,采用项目制,人员对项目负责,面向B端用户,用户规模小,业务场景特定,迭代升级频率小,技术实现复试度较互联网应用低。

由于采用项目制,在项目结束后,项目就移交出去,后期的升级、维护、运营、运维几乎很少参与,日常开发工作更多的也仅是业务开发,导致参与这些项目的人员成就感特别低,技术成长有限。有一个词与传统软件开发走的比较近:外包。所谓铁打的项目,流水的码农,外包人员的流动性是最大的。

那为什么要跳出传统软件开发,去做互联网研发呢?说到底还是生存与发展的问题。BAT,TMD等类似大厂的好待遇好福利好前途,充斥着互联网,影响着身边的每一个人。短短数十年的信息革命又被称为第四次工业革命,远比之前三次来的更迅速,渗透的更深入。互联是趋势,我们要做的就是顺势而为「这让我想起雷总牵头的顺为资本」。

切入正题,不管做什么转到哪行做研发,无非两方面,软实力加硬技能,再具体点就是思维转变结合一定的技术储备。

软实力——思维转变

就是变被动为主动,沟通协调,团队合作,都需要一个转变。举个栗子——需求,不能再一味的按着合同上确定的需求,按部就班一个里程碑接一个里程碑的去实现,有需求变动再去做个需求变更流程后再开发功能。

上篇文章专门介绍了做项目与做产品时的需求区别:产品需求与项目需求的差异。需求是一个转变点,其它还体现在开发模式、产品迭代、团队合作中。互联网研发更多的趋向于产品研发,开发模式抛弃传统软件开发过程中的瀑布模型,更多的采用敏捷模式,KANBAN、SCRUM等,读一下敏捷宣言似乎来的更直观一下。

个体和互动 高于 流程和工具 

工作的软件 高于 详尽的文档 

客户合作 高于 合同谈判 

响应变化 高于 遵循计划

大家都在讲互联网思维,做研发也一样,只有从自我认知层面转变过来,才能更好的去适应互联网技术开发。

有人说我一直搞传统开发,没有经验啊!其实方法总比困难多,去找从事过相关工作的同学\亲戚\朋友\前同事\网友去聊聊天,到知乎\Google\微博\博客\公众号看别人的总结,参加相关的线上线下活动等等,如果以上都不行的话就来找我吧。

硬技能——技术储备

以结果导向看,因面向对象的不同,导致采用的技术栈差异比较大。互联网应用技术应用更广泛,更考验技术的融合能力。具体有哪些不同,从招聘网站的相关岗位技能要求上就能找到端倪。你需要做的,就是找几个代表性的技能要求摘出来,形成自己的技能学习列表,个个击破。特别是一些常见的,比如分布式、缓存、消息队列等。

肯定有朋友跳出来说我工作中压根都用不到,怎么能掌握住。工作中用不到,只能在工作外想办法,自己啃书看教程学习,照猫画虎做案例;跟别人交流取经,探明暗坑深水,为我所用。

以上两点也是我的切身体会,那么剩下的就是找个合适的坑,把自己埋进去磨练升级吧,祝你好运!

扩展阅读:

你是『眼高手低』的程序员吗

跟『我的2017』做个了结

程序员,保护你的好奇心和求知欲

怎么定位自己在团队里的角色

软件生命周期与技术人的职业周期

我的2017年度技术回顾

做了七年软件开发后反而更迷茫

一位5年码龄人的『2017个人总结与展望』

学习新技术时你应当掌握的『最少必要知识』

你可能感兴趣的:(如何从传统软件开发顺利过渡到互联网技术开发)