服务器前端开发,服务端开发工程师

时间:2022-05-12 阅读:9 评论:0 作者:老李

十几年老码农服务器前端开发,讲讲互联网、软件行业服务器前端开发的那些事儿。欢迎关注同名公众号服务器前端开发:“屋顶的闪闪星光”

服务器前端开发,服务端开发工程师

在这个专栏下面,我写过不少软件开发领域的不同工种,云计算、大数据开发、前端、测试等等,但要说最难写的还是服务器开发。在软件工程中,除了做终端系统开发,其它所有业务或者产品都绕不开服务器开发。打开手机,看看我们日常使用的软件,微信、音乐、手机淘宝、拼多多、支付宝、知乎、哈罗单车、滴滴打车、Bibili、天天基金,这些产品在开发过程中哪个岗位最重要最核心?我想所有做过软件开发的人都会回答:服务器开发。这些公司的CTO无一不是在服务器开发领域有深厚的积累。前端、测试、客户端、数据等工程师如果没有经过服务器开发的历练,永远不可能独自负责掌控一个完整软件产品的技术工作。我这里先讲一讲做服务器开发需要具备的素质。第一,要成为一名合格的服务器开发,要对语言、API、运行环境本身做到精通。比如,关于语言特性、JVM垃圾回收等问题在Java面试中出现的概率绝对在90%以上。第二,服务器开发工程师需要掌握比其它所有软件开发工程师都要深度更深、广度更广的技术栈。比如,数据库、应用框架、容器、集群、网络部署等,服务器前端开发你不光要知道如何使用它们,还要了解它们的原理,在线上出现问题是可以迅速地排查、解决。第三,需要掌握做业务的方法论,这一点是其它岗位的工程师不需要关心的。我之所以说服务器开发是软件开发最核心的一环,也是这个原因,服务器开发需要对业务所有的细节了如指掌,并用工程进行实现。当一个业务比较简单时,比如,仅于CRUD的操作,水平再差的工程师也能搞定。但当一个业务比较复杂时,比如,淘宝的交易系统、支付宝的金融核心、微信的大规模用户通信处理、抖音的海量音视频推荐等,系统无比复杂,需要几千上万工程师的协同。这个时候,系统架构师必须有成熟的方法论,将业务在水平上进行分层,在垂直上划分为不同的域,每个域分层又会进一步分层,每个域又会进一步划分出子域,最终还要能让每个架构分层和域之间互相协同起来。而工程师资源的排布就以这些分层和域的划分为依据。举个例子,最近双11了,那用户在淘宝上浏览商品、加购、下单、支付,简单的几个操作背后涉及了大量的系统调用。浏览商品这个动作,会涉及到推荐系统和商品两域;加购会涉及到购物车域、营销域;下单会涉及到订单域;支付会涉及到支付、资金、结算等域。这里面每一个域可能都是一个几十上百号人的业务团队在负责,同时还有为这些业务团队提供数据库、应用框架等基础设施支持的基础技术团队。将其中某一个域放大来看,比如订单,又会涉及到价格计算、订单渲染、订单创建、订单查询、订单搜索等,这些子领域每一个都需要一个小的服务器开发工程师团队来支撑,以保证这些核心链路的稳定、高效。对一个初级服务器开发工程师来说,可能掌握了语言、api,再了解一些常用的应用框架就能干活了,这样的工程师大量存在于大大小小的公司,可能也是最庞大的一群人。随着工作年限越来越长,接触过的业务、用过的技术越来越多,开发经验越来越丰富,工程师就要开始思考架构设计,完成向系统架构师的转变。大量工作在中小软件公司的工程师会终生停留在工程师的水平,只有那些经历过复杂业务场景,并主动思考、学习的工程师才能完成这一步转变。这一步既是思考方式的转变,也是个人技术实力的升华。迈过去了,从此之后,语言、框架这些频繁迭代的工具就不会再限制你的发展空间。迈不过去,等你到了35岁,体力、精力大幅下降的时候,就会被更年轻的人给淘汰掉,因为服务器前端开发他们比你投入工作的时间更长,学习新工具、新框架的速度更快,出活比你更多。做业务的方法论,这一点是服务器开发工程师和数据、算法、前端、移动App、测试等研发岗位最大的不同,也是一般服务器工程师和系统架构师的最大区别。像数据、算法、前端、移动App、测试等岗位,做到5年之后就会发现个人技术水平到了瓶颈,机遇好的开始带团队,做做协调资源、沉淀组件的工作。但管理的坑位毕竟有限,大部分工程师就只能慢慢地变老,等着被新人淘汰。但服务器工程师不同,只要你突破到了系统架构师这个层次,带团队,你可以按技术分层、划域,将所有资源安排的服服帖帖;做技术,可以通过自己的架构思想影响参与到工程中的所有工程师,成为精神上的领袖。无论是否走管理路线,你都会受人尊敬,并得到丰厚的回报。接下来,我从就业方面聊聊服务器开发。第一、如上面所讲的,你肯定也看出来了,服务器开发是一个下限很低的工种。花钱去培训班学上几个月,熟悉一下语言和API,再了解几个常用的应用框架,像SpringBoot之类的,也能干活。市场上也有大量中小企业的业务和产品并不复杂,一个资深的架构师带着一堆初级工程师就能完成软件系统的开发。如果你是跨专业转行过来的人,做服务器开发是个不错的切入点。第二、服务器开发又是一个上限很高的工种。成长为系统架构师之后,你可以继续挑战更复杂的业务场景,也可以深入到数据、网络、存储、容器、应用框架等某一个领域中去做技术设施。服务器开发中,有很多领域可以让一个人十年、二十年的投入进去。第三、坑位特别多。在拉勾上搜索一下“Java工程师”,绝对会有一大堆的结果。不管是做互联网,还是企业软件,开发工程师团队中人数最多的往往都是服务器开发。如果你进入这个领域,绝对是不愁饭吃的。第四、平均待遇高。拿初级工程师举例,根据城市、业务、公司、工作年限的不同,可能从3、4千到1、2万都有。同样水平的工作年限,平均工资比绝大多数的行业都高。系统架构师的待遇提升空间也很大,如果你做过复杂业务的架构,不管是去中小型公司当个CTO,还是去大厂当一个业务线的技术负责人,年薪一、二百万很正常。

服务器前端开发,服务端开发工程师

本文链接: https://www.liaier.com/1043.html 转载请注明出处!

相关文章 是不是在找它?!
评论区 交流一下吧!

共有0条评论来说两句吧...

欢迎 发表评论: