后台开发程序员正在挖坑埋自己

后台开发,一直以来算是一个比较有挑战性的工作,尤其是高QPS应用的后台开发,需要考虑下面这些点:

1:使用语言写出高性能程序,需要理解语言的内存管理机制、线程与微线程、异步IO、锁对性能的影响。

2:计算机架构,后台程序主要使用机器的 CPU、内存、磁盘IO、 络IO,需要能分析出程序对这些资源的耗费情况,针对业务特点进行优化,使用比如用CPU换内存、用内存换CPU等一些折中的方法。

2:数据存储设计,cmem等NOSQL出来前,需要自己申请大内存进行管理,要考虑数据落冷,多机同步等问题。

3:质量监控,目前也缺少好用的全链路监控。

4:日志上 ,目前es用的较多。

更进一步需要处理的有:

1:容灾:异地备份、异地多活、降级服务,异地与数据一致性取舍(CAP)。

2:攻击防护。

上面这些都是非常复杂和难处理好的工作。

但是,目前后台云的发展,正在大大减轻后台开发工作难度。

大部分业务逻辑程序员,如果业务本身复杂度不高,QPS也不大的话,也就是将云上组件组合着用用,再写一点串起来的业务逻辑,门槛低,开发人员后续进步空间不大。

即使是云组件的开发人员,因为只负责单一组件开发,会造成知识专、精而不广,离开所在领域也无所适从。

普通后台开发人员,将逐渐沦为廉价劳动力,成为真正意义上的码农,软件流水线上的螺丝钉。

那所有后台开发人员联合起来不搞云行么?这又牵涉经济学中囚徒困境问题,两个囚徒都知道合作可以使得双方利益最大化(所有后台开发人员不搞云),但是因为无法充分信任,都会选择只对自己无论如何没有损失的方案(自己搞云,好歹有份工作,如果不搞,别人搞了,自己工作都丢了)。

说到底,这也是 会分工发展的必然趋势,各个分工越细,效率越高,越能提升 会总福利。

那么,在这种情况下,后台开发人员的出路在哪里?

1:走管理,技术随着时间推移,会该技术的人越来越多,并且有新的更好技术出现,老的技术会折价,但是对人的管理能力,只要人类还要分工合作,管理永远不会折价。

2:走技术架构、技术专家、技术管理路线,配合复杂后台需求。当工作中有越来越多螺丝钉的时候,需要技术专家为这些螺丝钉、码农确定框架、制定规范。

3:保持永远学习的热情,去学习新技术,识别出真正有前途的技术,并且投入其中,做一颗高科技螺丝钉,并且随着知识广度增加,走技术专家、架构师路线。

另外,说说大龄程序员(35岁以上)问题:不要在意年龄,要在意自己的工资高是因为年限还是因为技术提高而涨的,自己的技术是否配的上这个工资?去其他公司面试一下,看看其他公司对自己开价几何?自己以后是否还想保持这个收入并且还想再向上增长?如果是这样,请保持永远积极向上,永远努力学习的心态。

几点建议:

1:当发觉做同样的工作越来越轻松,并且越来越多年轻人也可以做一样的工作并且做的更好的时候,就知道该技术已经折价,该动一动了,否则,就去拿跟年轻人一样甚至更少一些的薪水吧。

2:我们的经验,可以非常有效的帮助我们学习知识,现在很多新技术是从老的技术中创新而来,大部分知识和老技术一样,我们的学习门槛就低了很多,另外,我们理解老技术的痛点,看新技术如何解决老技术的痛点,会比直接学习新技术的年轻人理解的更深刻。

3:学好基础知识,计算机架构、操作系统原理、c++(或者C,无论使用什么语言,都建议学一下C或者C++)、数据结构和常见算法、加密解密、 络知识、编译原理。

4:如果可能,学学数学。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年10月1日
下一篇 2019年10月1日

相关推荐