为了账号安全,请及时绑定邮箱和手机立即绑定

投稿009期|技术只是手段,需求才是王道

2018.10.21 19:15 1059浏览

程序员的焦虑

我来谈谈这期的话题《技术层出不穷,程序员该如何应对才能不被淘汰?》。最直观的感受是程序员这个群体越来越焦虑了,这是什么原因呢?

图片描述

首先这些年随着大数据、人工智能、移动互联网、互联网+、云计算这些新领域的发展,伴随着层出不穷的新技术的发展,这里大家要注意一点的是最初是行业领域发展的需求带动了技术的发展,比如区块链技术是为比特币而发明的,它使比特币称为第一个解决重复消费问题的数字货币,接着其他领域从比特币中获得了灵感转而用区块链去实现自己的需求。其次由于程序员的入门起薪比较高,每年都吸引着大量的应届生加入这个群体中,但市场最终是需要一个供需平衡的状态,当程序员越来越多的时候,势必竞争也会更激烈,这个时候很多公司从成本上考虑会淘汰水平弱的、年龄大的程序员。

所以程序员一方面是面对着日新月异的技术,另一方面是自己逐渐增长的年龄,像之前知乎上讨论很热的话题程序员35岁以后的出路就折射出大部分公司是需要年轻力壮的程序员的。

技术只是工具

人的精力有限,再怎么保持积极的态度,改进学习的方法,那也只是延长被新技术淘汰的时间而已。其实技术只是一种工具而已,当大家都有的时候也就并不那么重要了,比如大家都有一台好的电脑的时候,写代码的质量高不高和电脑关系不大,取决于人的能力。

其实当一个公司要开发一款软件时大多数情况下并不是一上来就让程序员用什么MySQL、WebService之类的技术先做出来再去市场上卖,万一做出来的软件没人买怎么办?因此在正式开展软件开发前会从市场、技术、财务、战略等等角度进行可行性研究,只有通过评估论证后才会投入资源以项目形式开发这款软件。但是到这一步时还没轮到程序员和他的技术工具出场,那么什么时候才是程序员开始没日没夜的敲代码的时候呢?这里和大家提一下软件开发项目的大致的流程,一般可以分为需求获取、需求分析、概要设计、详细设计、编码、单元测试、集成测试、验收测试和安装部署等,那么编码在螺旋开发模型和迭代开发模式中属于“实现”这个过程。

图片描述

由此可以看出,决定一个软件使用什么技术的最根本的原因是用户的需求,这么说来这个软件项目需要用到Python语言编码,那么就只需要这个技术而已,即使你会JAVA、C#、C++也并不能给这个软件增加更多的价值,除非你跳槽去一个需要同时掌握JAVA、C#、C++、Python技术的公司,这样你的价值才能最大化。

晋升自己的位置

也许有人会问:“如果公司开发新产品时刚好用到新的技术,那么我的机会是不是来了?”你说对了!在组建项目团队时会依据项目所需的技能选择对应的程序员加入项目组,如果公司没有符合技能要求的程序员的话,或者通过外部招聘的方式招新人入伙,或者选择一个资质不错、有一定基础的程序员自学解锁技能,所以有时候工作的同时也是学习新技术的过程。如果你仍然只是一个程序员的话仍然不能将你所具备的新技术的价值最大化,除非你的“位置”有所变化。

这里说的“位置”变化就是指晋升的职位。以下是我在网上看到的一幅程序员职业路线图,此处和大家分享一下。作为程序员需要拓实自己的技术水平,随着项目上经验的积累和工作能力的提升,使得自己更加具有实力,可以应付各种挑战,为今后的晋升铺平道路。晋升为软件架构师、设计师或者技术专家是绝大多数程序员发展的必经之路,此时程序员在意识上会有很大的转变,逐步把敲代码的精力转投到软件整体功能和性能的设计上,这个时候可以和产品经理探讨用户需求的技术实现,这样就可以基于需求之上着眼全局的技术实现方案、侧重系统的功能和性能、有针对性的去关注即将应用到公司产品中的新技术,而不是纯粹的、毫无目的关注所有新的技术。

图片描述

总结

以上就是本人对于技术层出不穷,如何才能跟上节奏、不被淘汰的一些粗浅的见解,希望对各位有所帮助,另外提一下,我是从写嵌入式代码起家的,当我掌握了核心的技能以后就把精力转移到了系统设计层面,后来我又自学掌握了Python这门技能,理由很简单,因为Python的优势正好稳和了公司系统的需求!

点击查看更多内容

本文首次发布于慕课网 ,转载请注明出处,谢谢合作

11人点赞

若觉得本文不错,就分享一下吧!

评论

相关文章推荐

正在加载中
意见反馈 邀请有奖 帮助中心 APP下载
官方微信

举报

0/150
提交
取消