游戏开发的游戏程序员年薪千万的程序员百万吗吗?

架构使用的语言知识 这几年数据分析迅速发展,我们也做了一个微数据分析工具。该产品已成功运行三年,满足日活百万的企业。产品结构很简单,用世上最简单的语言php,最普遍的数据库mysql,服务器可以选择apache也可以选择nginx,一切看你自己的喜好。 一、微服务架构图 整个流程图: 1、SDK上传数据到服务器,如果安装redis做缓存,数据会最先进到redis,然后定时抽取数据到DB服务器。有了...

这几年数据分析迅速发展我们做了一个数据分析工具产品已成功运行三年满足百万企业产品结构很简单用世上简单语言php普遍数据库mysql服务器可以选择apache可以选择nginx一切看你自己喜好1SDK上传数据服务器如果安装redis缓存数据最先进到redis然后定时抽取数据DB服务器redis数据处理会提升很高

台深度学习服务器强大GPU运算。 具体代码如下: /p/e577 阿里云双11大促 服务器ECS 数据库

数据从生产环境中定时批量备份出来,用单独硬盘或者服务器数据存储。 第二,数据库级别执行SQL查询。大多数游戏客户将生产数据备份出来,导入有的数据库离线数据分析,采用方法是使用SQL语言...,游戏数据分析具体步骤,参见2。我们可以看到,游戏应用服务器运行期间产生了大量数据,接下来分别介绍文本数据和关系型数据导入至ODPS实现步骤,然后结合数据分析具体场景介绍在ODPS中数据分析

游戏服务器定时批量抽取这些文本数据存放到日志服务器上。 存放在数据库关系型数据增长速度通常会比较快。 上述两种类型数据都会被批量导入数据仓库中,进行数据分析。在技术选型上,客户给我们提出了两点...SLS和MaxCompute底层是打通,所存放在SLS服务器日志数据会被自动离线备份MaxCompute中,方便用户数据分析。除了MaxCompute和SLS服务我们方案中还使用

是仅仅满足数据库双向循环复制这些需求,我们设计一套结构原理简单同步架构, 从源端数据库数据,大概经历过程就是 提取日志,存储, 发送,通过网络传递,然后在目端进行复制。&rdquo...,三年来专注于DRC产品研发和系统架构,对与数据库复制,产品可运维性以及高可用着比较丰富经验。   钱在晨从支付宝君博讲起,杭州供电缺口,导致支付宝机房被拉闸限电,所幸阿里最终还是熬过来

这张图描绘了开发者的 4 个层级和不同层级大概的收入范围(图上标注的收入,以一线城市互联网行业为基准,非一线地区,请除以系数)。

第2层:熟练开发者、高级开发工程师、技术组长

第3层:技术专家、架构师、一线经理

第4层:科学家、研究员、首席(资深)架构师、部门研发总监

今天的文章,我们先解释下层级划分,然后介绍是哪些差异造成了开发者的分层差距,最后说明一下怎样才能缩短跨越层级的时间。

按我的理解,开发者的 4 个层级,可依次对应普通、熟练、优秀、卓越四个词。

普通开发者,能够使用一定的专项技术,完成别人分配的模块开发。在工作当中,他们很少有机会决定自己做什么和怎么做,通常是在他人指导和安排下编码实现特定的细分功能

当你还是一个普通开发者时,实际上处在体力化的代码打写阶段,很容易被替代。

如果你不能精进技术水平,三两年后就失去竞争力了——因为你的技能水平对不起你的工作年限,你把一年工作经验重复用了 N 年。

同时,这个阶段的开发者,也很少有超过 30 岁的——因为超过 30 岁你还停留在这个阶段,基本上就混不下去了。(这个阶段会有大量的人退出,谋求转型……)

一般的开发者,会在普通开发者这个阶段停留 3 ~ 5 年,然后就进阶为熟练开发者,能运用一组技能树,完成较为复杂的软件模块的开发工作。进入这个阶段的标识有两个:

1. 你可以做某个功能模块或子系统的软件设计工作;

2. 你可以分配任务给普通开发者。

到了熟练阶段,你才算是有一技之长,才称得上是靠技术吃饭(因为普通开发者越来越多,初阶的编码能力已经算不上一技之长了)。

有了一技之长,你的收入就能获得突破,拿 20000 ~ 40000 元的月薪。

你可能会在这个阶段停留 3 ~ 5 年。

这个阶段,会有大部分人开始怀疑程序人生的意义,一方面对开发工作很熟悉了,也没激情了;另一方面,又很难进入下一阶段获得突破,于是倦怠、空虚、无聊、意义匮乏等状况纷至沓来。

在这个三十而立的年纪,很多人会考虑转型,一部分人因为看不到其它的机会,又难以放弃开发技能的积累和高薪,在犹犹豫豫中蹉跎岁月;

另一部分人未雨绸缪,在日常的开发工作中,已经发展了支线剧情,转型比较顺利。

如果你转型遇到困难,请到 在行App 内搜索“安晓辉”,约我广受好评的话题:聊聊程序员职业规划那些事儿。也可以在我的读者圈进行提问。

在熟练开发者这个阶段,有一小部分人,能够在某个技术栈上持续精进,凸显出优势,靠这种技术优势,成为高级开发者;

另有一小部分人,一手技术,一手业务,靠交叉优势,也成为了高级开发者。在这两类高级开发者中,又会诞生出 Team Leader 这种角色。

成为上面这部分人的典型标志就是:你被很多人需要,有各种疑难问题需要你参与或主持解决。

拥有技术优势的高级开发者,和拥有技术 + 业务组合优势的高级开发者,他们当中有一部分人会晋级为技术专家或架构师。

Team Leader 可能会晋级为一线经理(技术经理、项目经理、研发经理)。这算是开发者的第三个层级。

进入这个层级的开发者通常会:带人,带项目,安排别人做事情,在重要的技术决策上拥有话语权

到了这个阶段,你的年龄应该在 30 ~ 35 岁,年收入会突破 50 万。

假如你过了 35 岁,还没到第三阶段,嗯,我猜,要么你待错了环境错失了进阶的机会,要么你主动放弃了职场成长,觉得拿个 2、3 万月薪过过小日子已经很舒服了。

处在这个阶段的朋友,都是独挡一面的优秀人才。已经超越了具体的技术能力,很好的建立了思维框架,解决问题的能力很强。

所以你会看到,很多人能够迅速在非开发领域取得成绩。这就是大前研一所说的“即战力”。

有的人能在这个阶段待上十年八年,直到获得突破,进入第 4 阶段;还有的人,虽然不能进入第 4 阶段,但也想留在技术岗位上维持优势轻松赚钱,然后寄情别处,发展其他兴趣爱好,谋求和谐平衡的生活;

另有一部分人,在这个阶段待上一两年就转型了——因为他们想有新的突破但往第 4 个阶段走又实在是比较困难。

通常你只能在大公司中看到处于第 4 个阶段的开发者。

很多小公司的技术领导者(包括首席架构师、资深架构师、CTO 等),实际上多数是从第三阶段横跨出来的,利用相对优势(脑补吧)获得了职能和头衔上的提升。(汗颜,我就干过这事儿)

这个层级的朋友们,他们在做什么事情,我没有切身体会,先放这里,回头我会访谈一些朋友,弄明白。

谈收入的话,这个层级的开发者,年薪往往在 80 万以上,过百万的不在少数。除了薪酬福利,他们往往还持有股票。

6 种开发者之间的差距

我们把开发者分成了四个层次:

2. 熟练开发者、高级开发工程师、技术组长

3. 技术专家、架构师、一线经理

4. 科学家、研究员、首席(资深)架构师、部门研发总监

在这四个层次里,有技术和管理两条常见的职业发展路径,我们这个系列文章,研究的是技术通道,关注的是开发者如何修炼技术不断进阶,对应到开发者分层上,是这样的:

2. 熟练开发者、高级开发工程师

3. 技术专家、架构师

4. 科学家、研究员、首席(资深)架构师

那么,从技术视角看,是什么造成了同时起步的开发者最终站在了不同的层次上呢?有六个方面:

知识,技能,动机,行动,习惯,环境。

前端小白可能不知道在网页上显示一个图片用什么组件、什么标签,而熟练的前端开发者一定知道,并且能噼啪几下敲出来。

知识和信息是你分析问题时的大变量,当你的知识储备量很小时,你往往是两眼一抹黑,不知道从何说起。

所以,知识差距,是不同层次的开发者之间最显著的差距。

一个普通的前端开发者,刚刚入门,会用 HTML 、 JavaScript 、 CSS 等完成静态页面,现在有一个新的项目启动,你让他负责这个项目前端模块的架构和设计,他大概做不出来。

因为他还不具备胜任这类工作的架构能力、设计能力以及抽象能力,缺乏相应的技能。当你没有相关技能时,就不具备搞定复杂问题的基础条件。

不同层次的开发者之间,在技能层面存在显著差异,层级高的人拥有一个“工具房”,而层级低的开发者,手里往往只有一把螺丝刀。

如果你留意观察身边的同事,就会发现:

  • 有的人积极主动,什么都愿意做,做什么都津津有味,都能快速学习、迅速行动并做出符合预期的结果;

  • 有的人你每次安排任务给他,就算是他可以搞定的,他也推三阻四,不情不愿;

当你一个人知道如何去做,但是却选择不做一件事时,往往是缺乏做这件事的动机:当你不想做一件事时,总是能够找到千万个理由来拒绝。

通常某个开发者不愿意做某件事,是因为:

  • 他没有真正认同团队的目标

  • 他觉得团队的目标没什么意义

  • 焦虑或担忧,觉得这事儿做起来有难度,或者做了也不指定有好结果

  • 心烦意乱,比如最近丈母娘催买房催得厉害

  • 单纯的不想努力,就是要在这里混着

不管哪种原因,你不做一件事,就少一次磨练和收获的机会,久而久之,别人在行动中成长起来了,你还在原地踏步。

两个人都在不断做事,结果仍然可能不同:有的人三年精通某个技术栈,成为团队内的核心骨干;而有人的,做开发五年还只能写写静态页面。

你是遵循一定的方法和流程来开发,比如先完成设计、编写测试代码、再编码、跑单元测试,还是拿到需求就立马开始编码、边写边发现代码不符合需求不断推倒重来……

你是每次都给自己设定目标,希望这次任务用到的知识和技术点不同于上次,希望这次的代码设计和上次不同,还是根本不管这些,先写,能 Run ,完成任务交差……

你是每次项目(或版本)结束都回顾、反思、更新自己的知识图谱,还是项目一发布就完事大吉打游戏刷新闻?

这都些做事方法上的差异,会:

  • 让同一件事有不同的结果

  • 让做同样事情的人有不同的收获

这就是持续行动:不以项目结束为结束,而是持续地去研究开发中用到的技术框架,丰富自己在该技术的知识结构。

这样的行为,会让你的知识体系像滚雪球一样越滚越大,会让你和别人的知识差距越来越大,会给你带来越来越多的优势。

知识、技能上的差距,是由行动上的差距导致的。

有的开发者,每天早上都会思考今天要做的事情,每天晚上都回顾今天完成了什么事情、什么事情没完成、什么事情还没开始做,早计划晚回顾;

有的开发者每天到了单位,开机,刷新闻,来两把游戏,然后喝茶,找人聊天,下班了吃个饭,打两局游戏……

有的开发者,每周都回顾总结,写周报,发给直属上司;有的开发者,经理强调一百遍“每周五要发周报”也充耳不闻……

有的开发者,遇见测试提 Bug ,就高叫“不可能”;有的开发者,则会说“我看看”……

有的开发者,遇见困难的问题或者难搞的醒目,会说“让我试试”;有的开发者遇见难题,两手一摊,“这太难了,我搞不定”……

在做项目时,有的开发者会把自己手上的任务按重要性、优先级排序,先做优先级高的、难度大的;有的开发者会每次都挑难度低的事情先做……

积行成习,积习成性,积性成命。

好的习惯,大概率产生好的结果;不良习惯,大概率导致不如意的结果。

你的将来,由你的习惯决定。所以,请看看自己身上,有哪些习惯会让自己积累越来越多的能力,巩固它们;有哪些习惯会让自己越来越 low ,弱化它们,扬弃它们。

开发者 D :“我想用 Vue.js 来做这个项目。”

经理 M :“引入新技术风险太大,出了问题你负责?先用 jQuery 做出来再说。”

在这样的环境里,你很难去尝试、学习新技术。

开发者 D :“我需要一台 MAC 电脑,这样才能为 iOS 开发 App 。”

经理 M :“太贵了,先装个黑苹果试试。”

在这样的环境里,你没有足够的资源做实情。

开发者 D1 :“D2 ,我遇到了一个问题,搞了一天了,毫无头绪,你对 CEF 最熟,能帮我看看吗?”

开发者 D2 :“我忙得很,你再搞搞。”

D1 接着找 D3 :“D3 ,我遇到了一个问题,搞了一天了,毫无头绪,想和你讨论下思路。”

D3 :“哎呀你那块我不懂,你去找 D2 问问。”

D1 接着找经理 M :“经理,我遇到了一个问题——”

在这样的环境里,没有人愿意支持你,没有人愿意和你讨论技术问题,你貌似在一个团队里,却只能孤军奋战。

开发者 D :“经理,这个问题,实在搞不定,咱们公司还有谁熟悉这块?”

经理:“我们一共四个开发,你看看谁熟悉?”

在这样的环境,没有牛人指点你。

环境会在某种程度上塑造人,你会成为你身边人的平均数。你在一个技术氛围浓厚、优秀开发者众多的团队里,就有大概率更快地成长。

环境是可以选择的:假如你不幸进了处于衰退期的行业,可以转身去朝阳行业;你进了无所事事的、靠关系拿订单的传统软件企业,可以考虑去互联网领域的快节奏单位;你所在的项目组没什么技术氛围,你可以离开,找一个崇尚技术的团队……

个人要想从普通程序员进阶为熟练开发者,从熟练开发者变身为技术专家或架构师,需要用正确的方法来修炼。

我的GitChat达人课——程序员跨越式成长指南,会提供一些方法、工具、思维、经验,帮助你正确的行动,养成良好的习惯,建立有价值的知识体系和技能图谱,使得你在开发的道路上不断进阶,成为那个你想要的、优秀的自己。

继“打工人”、“尾款人”之后,最近又一个网络词火了,那就是“原年人”。受疫情影响,2021年春节,全国超过1亿人为响应国家号召,放弃了与家人团聚的机会,选择就地过年,成为“原年人”。经历了去年疫情时期的求职艰难,“原年人”只能在大城市默默承受着生活压力,将那份思念与爱深埋心底,在一城相隔的远方,遥祝安好,回家乡、换工作那是轻易不敢想的。像我一个朋友,211毕业,在深圳从事软件开发工作近5年,月薪上万,除去日常开销,基本也所

我要回帖

更多关于 年薪千万的程序员 的文章

 

随机推荐