最近建立了“码上生财”知识星球,致力于程序员们一起共同富裕,有兴趣的小伙伴们可以一起来共同交流,共同进步。
1年,50%涨幅,在我手下离职的下属当中,已经属于涨幅较低的同事。鉴于已经远离一线岗位,且事业方向有所变化,如今放出的是2015~2020年间,作为电商部门leader帮助员工成长和涨薪的攻略。本人的职业发展也是从Android工程师->大前端负责人->技术leader->部门leader->创业合伙人,虽然行业的环境不同以往,但还是具备一定的参考价值。每个人的技术路线都会有差异,成长路线也会不同,但多赚钱总不会是件坏事,对吧?
一.个人能力
1.心态
在《代码大全》中,基本上完整的罗列的一个程序员应该有的个人性格,至少包含了:谦虚、求知欲、诚实、交流与合作,创造力与纪律等。结合当下特有的“码农”文化,摆正心态其实对个人成长非常重要。
a.要有工程师心态--不把自己当DS,当“码农”,要把自己当做利用计算机软硬件技术知识解决实际问题的方案提供方。
b.要有主人翁心态--把自己的代码当做自己的一份子,无论是以前遗留下的“屎山”级代码,还是生命周期较短的一次性代码。
c.要有积极主动的平常心
--面对困难和挑战,无论是人还是事,是同事之间的技术争论,还是和产品运营同事之间的细节分析,还是出了意想不到的bug,都要保持积极主动,保持平常心。因为作为一个智力劳动的工种,任何情绪化的表达和宣泄,提高不了解决的速度,反而容易偏离问题的解决的正路。
2.正反馈
心智模式这是我从一本管理学书籍《第五项修炼》中学到的词汇,而我在构建一个团队的时候常常会用“学习型组织”去要求同事。所以在招聘的时候我会非常注意一个程序员(或产品经理和运营经理)是否有自学能力和自省能力,从根源上保证团队的正向性。
一个越搞越差的团队,通常是负反馈作用的结果:不学习->能力差->工作完成慢且差->加班多->问题多->不学习->能力更差。而一个正反馈的学习型团队:学习->能力强->工作完成好又快->加班少->问题少->继续学习->能力更强
一个团队如此,对于一个个体也是如此。
3.技术能力
本文不会讲如何进阶java,如何进行数据库调优等具体技术知识。只就技术的宽度和深度进行一点点延伸,看看如何更高效的学习以达到事半功倍的效果。
a.初级阶段-深度远比广度重要
即使你学会了java\python\C\lua\php\go等所有语言的hello
world,都不如进阶一门语言得到的收益大。就像登山,当你能够爬上一门语言500m的山峰,看其他语言500m的山峰,就会有一览众山小的感觉。而计算机语言也只是工作中的一部分,软硬件知识,计算机网络知识,计算机安全知识,数据结构和算法等等内容,也是程序员的技术能力的一大部分。越深入学习一门课程,提高自己的自学能力,会让自己在触类旁通时事半功倍。
b.中级阶段-技术选型比技术深度重要
当你有了自学能力,学什么用什么就变得更重要了。在日益浮躁的当下,计算机语言的兴起和衰亡,库资源的更迭和变化,软件商开源闭源的焦灼,是会深深的影响到你的工作进度的。戒掉学习所谓“新技术”的快感,可以帮助你或者你的开发团队,在一个正确的道路上走得更加扎实。正视自己团队和自己的开发实力,不盲目追随某些大厂的技术变革,不盲目充当技术项目的小白鼠,也是保证工作产出的必要前提。
c.高级阶段-行业敏感度比当下工资重要
这部分朋友其实本不在此次讨论范围内,因为大多数能够做到这个部分的工程师,要么就是天赋异禀从小高光到大;要么就是行业尖子,在大公司里好吃好喝养着;要么就是久经沙场,什么都吃过见过。这部分朋友不仅不缺钱,很多还挺富裕,有车有房的也挺多。
只不过疫情之下,除了各个行业在挤出水分,削减高薪之外,行业中的内卷也越来越严重。软件服务化,服务平台化,这个过程是不断加速的,而且影响最大的就是这些高工们。而这又是不可避免的过程,看看硬件行业中巨头的垄断,就可以知道没有巨大护城河保护的部分软件细分行业,会在行业的不断更新迭代下,新生、生长、繁荣、消亡。所以尽早抱团,尽早持股,尽早合伙或单干,对高手们来说是不错的出路。
二、多做事不吃亏
这并不是当了领导之后PUA或忽悠下属的话,而是升职加薪的一个最直接的方法。多做事也不是瞎做,也不是什么都做,也要分情况,分场合。
1.同样的工作要多做
1年涨50%的一种情况,就是你一个人能做2~3个人的工作,且做的好。如果你是Android工程师,你可以多做Android的事情;如果你是算法工程师,可以多做些算法相关的工作。在很好的完成自己工作的前提下,全组人的工作就像是武林秘籍书架上的其他书籍,多读几本没有坏处。越快吃透全组人的工作内容,就能够越快的提高自己的技术和业务宽度,反哺由于具体分工重复劳作带来的缺陷。
2.同类工作问着做
什么是同类工作?前端组内算是同类型工作;后端组内算是同类型工作;数据和算法组内是同类型工作;运维组内算是同类型工作。即使是前端语言有区别,即使是算法的平台架构不同,但只要是在同一个组内,工作的跨度是不会差别太大的。在完成当前工作的前提下,向同组的同事学习,哪怕只吃透了30~50%,只能在紧急时刻临时顶上,但假以时日便可吃透大部分工作。1年涨50%甚至更多的另一种情况,就是你一个人能做全组的工作,你升职了,或者跳槽当leader了。
3.跨类别工作谨慎做
跨类别的工作,对于程序员来说通常是产品设计和市场运营相关工作。如果你还没有当上Leader,建议暂时还是不要做;如果当上了Leader,建议主动去做。当“大头兵”的时候,为上司分担;当“小队长”的时候,还是要为上司分担。毕竟如果没当Leader就到处去帮忙,别人只会说你“工作不饱和”;当了Leader还总是只顾着自己一亩三分地,别人会说你“不会管理”。
除此之外,如果你的技术路线是永远做技术,也无需做跨类别的工作,徒增烦恼;但如果是想要在职场上越混越好,不只要多做,还要做得好,为后续当部门Leader,或创业积累足够的能力和经验。
三、找个好工作
人是环境的产物,绝大多数人在职场上的成长都是非常依赖工作环境提供的机会。如果已经过了提升学历的年龄,那么找好工作就十分必要了。一份工作的工作内容重要,公司平台也重要;领导重要,同事也重要。
1.好工作的定义
对于程序员,我们可以从以下公司稳定性,薪酬,业务规模,技术水平等方面进行几个维度去衡量一个工作的适合度。既然是讲涨薪,我们就必须即将当下的薪酬,也要看未来的“钱途”。一份15k但有大神带的大公司好业务高技术水平的稳定工作,是比一份20k没人带单人项目新业务无技术沉淀的工作,更有价值和“钱途”的。国内一线城市绝大多数程序员的工资在35k后都会附带股份或期权,所以在这之前,一个能提高技术水平的环境,远比当下多出的5~10k来得重要。水平上去了,跳槽翻番都很有可能。
另外对于程序员来说,公司负责纯技术相关工作得岗位,例如微软研究院、google、阿里研究院等子公司的岗位,其中接触前沿技术的机会是更多更大的。如果你希望修炼内功,或者从事的工作偏学术一些,这些“清水衙门”是可以看一下的。
2.跳槽的时机
首先不要理会所谓的金三银四等说法,更多的需求也就意味着更多的竞争,对于优秀的程序员任何时候都是跳槽的好时机。所以我给所有想跳槽的朋友或同事推荐的跳槽时机,都比较统一:
a.凭借个人能力完全能够独立支撑当前公司当前项目组的工作
b.并且持续正常良好运转3个月以上
c.在当前公司没有什么可获得的了(无论是薪资、期权、股票,还是技术水平,还是人脉等)
达到这3点,就是“能力没问题,未来没希望”的瓶颈阶段。跳出瓶颈,跳到更高维度的竞争中,就如同升级一样,吃满了经验值,点下升级按钮。毕竟并非所有公司或部门的成长规模都能和个人的成长相匹配。人才市场的作用就是在调节人才的供需情况。超配了,对公司来说就只能减配。
3.找个好榜样
这是一个对升职加薪非常有用的方法。找到你能找到,认识到的,能够得着的朋友、同事、领导,了解他们的成长路径,然后对照自己的成长路径进行修正。这个方法类似于互联网和软件开发中常用到的迭代升级,你看到大神们的里程碑,对照自己的里程碑,调整路径向他们靠拢。这中间肯定会出现偏差,甚至会出现行业变革,但是这是你认识行业发展的好方法之一,你能从TA的身上看到你的未来。
如果你真的找不到,也可以加入我们的社群,我们也会为你答疑解惑。
最近常常都传出裁员的消息,似乎升职加薪是不可能的事情。但其实任何一个公司,任何一个老板,都缺能力强还踏实肯干的员工。绝大多数漂在大城市打拼的“年轻人”,许多已经不再年轻。虽然很卷,但程序员这个职业所处的行业通常不会太差。每个程序员都是潜力股,毕竟就靠几个人就能支撑巨量业务的行业并不多见。优秀的程序员就值得更好的回报。
最后,欢迎进入“码上生财”社群进行交流。(1~2杯咖啡的价格,前100名朋友有折扣)