程序员的职业进阶之课

2022-12-28 10:47:40 +08:00
 hongchaodeng

作者:邓洪超,he3.app 创始人

今天不少程序员通过互联网就可以获得最先进的技术知识,努力自学就能够对某项技术了如指掌,甚至能登峰造极给一些开源项目贡献代码。但是,技术上的进步并没有为他们带来更大的成就,甚至让他们焦虑 35 岁会失业。这是因为大多数人学到的技术并没有真正发挥作用。我在职业早期也犯过类似的错误,也有过类似的焦虑。如果可以,我多希望那时候能有一门课可以教会我职场的基本游戏规则。

从学习技术到认知社会有一个职业进阶的过程,然而这方面的知识在网上少之又少,我工作了十年后也只能从中悟透些许。今天我尝试去总结一下这其中的一些要点,给程序员的职业进阶开一趟免费课程。这里并非尝试去成为一部职场发展的权威指南,而是尽力去为更多人提供一些技术领域之外有价值的信息。

程序员对于公司的意义

一个公司为什么要招程序员呢?其目的就是为了产出商业化软件。是的,你写的软件都是为了给公司产出商业化价值。这里”商业化“的意义是指产出是可衡量可交易的,由供需决定价格。这里并不是说你写的软件必须要提供一个云服务或者在 App Store 里面标上价格让别人购买才叫商业化。大多数软件跟这些都不沾边。可能就是记录一下内部资产损耗,优化一下运费,预估一下明年的保险金额,为反诈骗部门标注下可疑账单等。这些软件都有一个共同点:都是要创造商业价值。举个例子,假如你写了一个软件为公司 2000 名员工处理差旅报销,那么一年下来节省了公司 10000 人时。如果人力成本 100 元每小时,那么一年就节省了一百万。

这很神奇是不是?你写的代码竟然能够用收入来衡量了?事实上任何一个公司招程序员就是为了创造商业价值,而不是来编程。对于公司决策者来说,他并不关心你的软件是用 web 框架写的还是 Windows 客户端架构,他唯一关心的就是你的软件是否给公司节省了成本或者提高了收入。在一个经营良好的企业中,那些能证明自己为此做出贡献的人会获得奖励。这里你只需要证明自己做出了贡献,甚至都不用自己实际去做。所以一个管理者去招一个程序员进来并不是看你写的代码有多么优雅,而是为了让你去实现项目目标,也就是为公司节省成本或提高收入。这就是你产出的商业化价值。

利润中心和成本中心

一个企业内部的组织往往划分为两类:利润中心和成本中心。利润中心是组织中输血的那部分:律师事务所的合伙人、企业软件公司的销售人员、华尔街的“操盘大师”等等。成本中心就是其余所有人。这里记住一点:你要尽量往利润中心靠拢。因为它是企业所有资源和精力最集中的地方,也是大家绞尽脑汁去实现增长的地方。这里的增长也意味着给你带来更高的收入、更多的尊重和更多的机会。而成本中心是企业想方设法去节省成本的地方,往往也意味着终将被外包出去,被更便宜的劳动力甚至 AI 给替代掉。你肯定没听说过哪个公司打算把利润中心给外包出去。你想要避免失业获得成长,就要想办法让自己做的事情跟利润中心产生联系。

如果说作为一个初级程序员你的自我介绍是会多少门语言框架,那么想要在职业上更上一步台阶的人就得开始琢磨自己到底为利润中心贡献了什么?比如说,一个华尔街的精算师的工作其实也是写程序来做交易决策,但人家从不说自己会什么技术写什么语言,他们都自我介绍说 “他做的决策帮公司赚了几个亿”,甚至那些决策只是机器做的,但也是他的功劳。同样,那些老 Google 员工的自我简介也是 “他写的代码帮助 97% 公司的营收正常运行”。他们的做法都是聚焦于自己为利润中心的贡献:节省成本或提高收入。这也就是高阶程序员的思维方式。

不要被技术所定义

你不被你选用的技术栈所定义。刚毕业的程序员很喜欢讨论新的语言、框架、工具、算法等,甚至有人因为技术选型而做了职业选择。仔细想想,新技术学会了就意味着你更厉害吗?新技术学会了就意味着你能获得更好的待遇、尊重、机会吗?要记住一点,你创造的商业价值才应该是你能提及的成就。创造更多的价值,公司才会给你更好的待遇,人们才会给你更多的尊重。没有人会关心你究竟用了什么技术来实现。技术只是一种手段帮助我们去实现。

有时候网上有一些招聘信息会误导大家,比如招 Python 的比招 Java 的工资更高。是的,不可否认不同的公司有不同的薪水,而且有些使用新技术的公司往往愿意付更高的薪水来招揽人才。我在国内外都认识这样的公司以及他们的老总。据我了解,首先这些公司的目的是为了招揽人才,只是通过技术来筛选掉一部分人,他们要求往往更高。然后,只要你是人才,哪怕你不会那门技术,你可以放心大胆地去应聘,我从来没听说过哪些人才因为不会写某个语言被拒之门外。那么什么样的才算是人才呢?最简单也最有效的证明就是你有过创造商业价值的经历。

向上汇报

你身边是否有这样的例子,有些人明明做了很多事情却被老板无视,功劳赞誉全被别人夺走了。还记得公司为什么要招程序员吗,是来干活写代码的还是来创造价值的?记住,无论何时何地你工作的目的都是给人一种你能创造价值的印象。如果你没有让人觉得你创造了价值,那么你干多少活儿都是徒劳。

别人尤其是你老板怎么知道你创造了价值呢?这就取决于你如何去沟通。事实上,你最重要的职业技能就是你的沟通交流能力。给老板汇报,不是非得写一张 PPT 或者详细的周报。如果你不懂其中诀窍,你写的东西在老板眼里根本没法看。还记得上面说的华尔街精算师是怎么介绍自己的吗?是的,你要聚焦于自己产生的价值,为节省成本或提高收入做了哪些相关贡献,而不是实现了什么功能。如果你这么沟通,哪怕只是一个简单的等咖啡间隙,也会在老板心里留下深刻的印象。

有些同学会说,我跟老板很熟,一起打拼过来的,他肯定会优先照顾我。不好意思,老板不是你的朋友,至少在工作中不是。人与人之间讲究利益的等价交换,你跟老板不过是交易的两方而已,不旦一方没有价值的输出那么交易便会立刻终止。而且老板也需要跟他的老板去阐述他产生的价值,如果你没法给他产生的价值做贡献,那么他就会另请高人。

利用好人脉找工作

“上网搜招聘信息,投简历,面试,拿 Offer”只能找到一般的工作,但找不到好工作。真正好的工作就跟好楼盘一样还没开盘就被抢光了,根本不可能还留在网上放着等你来投。大家都想成为快速发展新兴业务的早期合伙人,而这样的机会往往只存在于创始人的熟人圈子里。这就是找工作的真相,它比抢楼盘还要更激烈,真正好的机会甚至都到不了 HR 手里。哪怕是大公司也一样。比如说 Google 有正规的招聘流程,每个程序员都要刷题面算法,似乎没人可以打破。但是他们真正想要招的人,那种能给 Google 带来巨大商业利益的人,他们根本就不面试,甚至会买下你整个团队或公司。

那么人脉该如何建立呢?首先要多多参加各种 Meetup 、会议等,跟不同领域不同公司的人多多交流。然后,你要让人觉得,你很乐意也能够给到别人很多的帮助,甚至只是跟你简单的交流也能够有“豁然开朗”问题得到解决的感觉。哪怕你解决不了别人的问题,但是你认识人可以解决,你将他们两个互相介绍认识下,那么世上将会多两个认可你的人。此外,如今网络的发达也让人际交往不再局限于线下喝咖啡,写文章、论坛发帖、Github 问答讨论一样可以让你结识到意想不到的人脉。

好的工作从来都不是你努力刷题投简历获得的,而是通过人脉网络获得的。因为相比于刚认识十分钟只简单聊了两句的人,创始人还是更愿意相信一起工作过的人或者跟他们一起工作过的人。人脉越广也代表着你遇到问题有更大的可能性能找到解决方法,这也是快速发展的新业务所需要的。

大公司 or 创业公司

经常有年轻的同学问是去大公司好还是去创业公司好?其实这里答案只有一个:那就是你拿到具体的 offer 再比较。不同的 offer 不仅决定了你的收入,也决定了你做的业务,你能发挥的作用。当然,大公司的人会骗你说现在只能给你这个级别,明年会给你升职加薪;创业公司会忽悠你只要公司做上市,你的股权价值多少多少。还记得之前我们提到的要往利润中心靠拢吗?你要想的是通过这份工作你能创造多少商业化价值,这才是你应该了解和衡量的。其他的所有话都可以不听,升职加薪是假的,股票期权也是虚的。当你创造了足够多的商业化价值,这些都是自然而然的事情。

当然,我个人经历其实觉得创业公司会更灵活,能让你跳出舒适圈,发挥更大的作用。在创业公司,你会需要做许许多多你之前身为程序员角色曾想要避免的事情,比如市场营销、管理协调、举办活动、财务规划等。如果你不仅仅想成为一名程序员,那么创业公司也是不错的体验。但这些区别都不大,记住你做任何事情都是为了创造商业化价值。

社会是由人组成

社会是由人组成的,我们生活在一个人情社会上,而不是简单的高考或竞赛。很多时候,处理好人际关系往往比所谓的对错输赢更重要。人们往往会愿意去购买他们熟悉的人推荐的产品,而不是所谓更好的技术做成的产品。人们往往与那些跟他们有共同经历、同样环境的人有更多的好感和信任感。美国大选的时候,候选人连西服的皱褶程度都是精心设计过的,就是为了获得当地民众的好感。当然,我们没必要做得这么夸张,获得别人好感的方式也有很多种。做好身边的每一件小事,乐于助人,心胸宽广等都会让周围人对你更有好感。

此外,人生也不只有工作。你年轻的时候可能觉得工作就是唯一,全身心跟住在公司一样。然而,你大概率会慢慢觉得家庭、朋友圈、兴趣爱好等都能比工作让你产生更大的快乐。好好去经营你的生活也会让你有更好的人际关系。Work to live, don’t live to work 。

关于我

写了这么多,这也是我个人经历一些职场教训后得到的经验总结。我一开始在美国留学并创业,之后入职阿里云任职高级技术专家,后来辗转回到国内并开始创业。目前在开发一款开发者工具箱叫 He3: https://he3.app 。做这个工具也是希望能帮助程序员能够在工作中更为便利。

希望这篇文章能够对出入职场的程序员有所帮助。如果大家感兴趣,也可以加入我们微信群和关注我们公众号:

4088 次点击
所在节点    职场话题
23 条回复
yingyan25
2022-12-28 11:06:18 +08:00
醍醐灌顶
ZhuWenJian
2022-12-28 11:24:12 +08:00
醍醐灌顶。
dadaslele
2022-12-28 11:54:28 +08:00
跟 DevToys 有什么区别?
hongchaodeng
2022-12-28 12:25:51 +08:00
@dadaslele 问得好! He3 跟 DevToys 其实是同类工具。但是 DevToys 是个人用爱发电,而 He3 我们是有一整个团队在开发,维护更新有保障,而且对于中国用户也特别友好,大家可以用中文交流反馈,有啥问题我们立刻修复。
hongchaodeng
2022-12-28 12:42:41 +08:00
@dadaslele 我们正在做一个网页来详细对比下 He3 跟这些工具的具体差异哈,敬请期待
locoz
2022-12-28 12:51:42 +08:00
真有意思,同样是表达“要提升自己在别人眼中的价值”的观点,有的文章会被批成“狗屁不通”、“废话连篇”、“鸡汤”,有的却是“醍醐灌顶”,两者区别仅在于 表述方式是否委婉 和 文章可阅读性是否好,甚至前者的影响可能更大些。
zhouyg
2022-12-28 17:05:34 +08:00
是基于 electron 的吗
McVander
2022-12-28 17:55:35 +08:00
看起来不错,支持一下
hongchaodeng
2022-12-28 19:09:59 +08:00
@locoz 人就是在成长中慢慢磨平棱角~
hongchaodeng
2022-12-28 19:10:10 +08:00
@zhouyg 是的~
hongchaodeng
2022-12-28 19:10:29 +08:00
@McVander 感谢亲~
pual
2022-12-29 10:40:21 +08:00
实际上作为一个小兵,距离直接创造商业化价值很远,也无法左右,决策也不在下面,代码所能起作用的地方比较少
hongchaodeng
2022-12-29 13:56:45 +08:00
@pual 不想当将军的士兵不是好士兵~
SWALLOWW
2022-12-29 14:04:56 +08:00
- -向上汇报能举个例子讲讲吗?怎么觉得创造了价值
muchenlou
2022-12-29 15:09:34 +08:00
你看,你成功收获了一些人脉。当我打开你的网站的时候,你是成功的
susuper
2022-12-29 22:59:56 +08:00
@SWALLOWW 附议,现在只是个大头兵,向上汇报之前有中间商赚差价,中间商仗着资历老一些,直接提小老板拦下了活,如果中间商中途指导我一下也算,但是啥都不管,最后我还得写个工作记录给他,然后他在去汇报。求一些向上汇报的案例,study 一下
Kookie0901
2022-12-30 13:23:47 +08:00
新手觉得很友好,下个摸索看看~
hongchaodeng
2022-12-31 00:12:26 +08:00
@susuper 哈哈。要避开中间商赚差价。
hongchaodeng
2022-12-31 00:13:54 +08:00
@SWALLOWW 不要直说自己做了 xxx 事情,要专注于自己做的事情都带来了哪些收益,专注于讲节省成本或提高收入的部分。
zw1one
2023-01-03 10:13:14 +08:00
又要写好代码又要想办法帮老板创造商业价值,精力很难够用,到这个阶段通常是带开发团队了吧,开发功能不能事必躬亲。
越靠近业务,就和业务、赛道、公司绑定得越死;越靠近技术,就可以靠技术实力不同行业、公司随便跳槽。其实有舍有得,不同的职业阶段需要做不同事。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/905093

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX