Appearance
如果回到过去,我会这样告诫我自己
1. 勇敢点
提前规划,在大学的时候,你就应该开始“面向大厂”规划自己的职业路线,争取校招进入大厂实习。
不要整天宅在图书馆,看什么 Linux 内核、Unix 编程艺术、Unix 网络编程、计算机的构造与解释、不要学那么多编程语言,Python、Java、Perl、Ruby、JavaScript、PHP、Go、C++…
多刷题,一定要争取去大厂,你一定可以,只要你勇敢点。 在现实生活中,人们往往依靠勇气而不是智慧去取得领先的地位。
2. 不要呆在非一线城市
这里机会非常少,不是你不行,不要自卑,不要内耗,这不是你的问题,你应该去能够发挥你价值的地方。
虽然那里生活和工作节奏快。但是现在国内互联网企业都一个德性,都在模仿“狼性”文化,说着一样的互联网黑话,一样是内卷,去一线城市、一线大厂赚更多钱不好吗?
为了钱,不寒碜。
3. 不要只关注技术,花点时间了解世界
不要只关注技术!别老是看那些技术类的书,你压根记不住,也很少有实践的机会。
多看点别的书,多了解自己、了解人类、了解世界、了解政治、了解经济/商业的运作原理和底层逻辑。提前布局、提前投资
世事洞明皆学问,不要穷极一生都是为了钱而工作,成为钱的奴隶,一直被恐惧和欲望支配。
推荐图书:人类简史、纳瓦尔宝典、富爸爸穷爸爸、黑客与画家
4. 接受不完美的自己和代码
不要追求完美,你很普通,接受自己的平庸吧。
你不可能什么都精通,把精力花在自己核心竞争力上。
就像系统总有改不完的 bug,接受不完美的自己,学会放弃。
不要单打独斗、 尽量和更聪明的人共事。在矮子里面当将军,不如在巨人里面做士兵。
5. 了解你的公司
不要只关注你眼前的这颗螺丝钉。
- 你的公司是做什么的?核心竞争力是什么?
- 公司的管理模式是什么?为什么要这样管理?规范的目的又是什么?
- 公司的商业模式是什么?靠什么赚钱?怎么卖出去?
- 公司的用户是谁?给用户创造了什么价值?
- 公司的技术架构是怎样?
- 公司的组织架构为什么设计?团队之间又是怎么协作的
- 我努力加班赚的钱,最后进谁兜里?凭什么是他?
- …
难道你不好奇?不八卦吗?
6. 多积攒人脉
某些关键时刻,他们能捞你一把。同时你也要努力成为别人的有价值的人脉。 这其实并不需要你付出真感情,而应该把它当作资产。
可以认清现实,但是要保持批判精神
宏观的大环境个人是无法干预的,我们只能去适应。当然适应并不意味着委屈求全,每个人有选择的权利,当你无法接受公司的工作环境,不能接受公司的价值观,我们是可以选择跳出来的,而且越早越好。
我们的适应能力很强,同样能够适应糟糕的问题,然后置之不理。就比如人类的嗅觉,古人云”入芝兰之室,久而不觉其香;入鲍鱼之肆,久而不觉其臭”。 就比如笔者所在公司最近开始抓考勤打卡了,一开始内心十分抵触,现在也慢慢‘适应’了,也没有之前的抱怨,但我知道这对我来说并不是一件好事。 既要认清现实,保持批判精神,否则将一成不变。
关注战略设计
大部分程序员都是实现者,即战术实现者。很多时候,我们都不知道我们的工作的价值是什么。
因此我们也要关注战略设计,保持对一切事情的好奇心,尝试突破自己的职能边界,没人会阻止你,也很少人会给你机会。
效率从来不是一个人的事情,伟大的项目也是如此
不要相信小说、传记里面的孤胆英雄。
前几年关于 10 倍程序员也很多讨论,比如极客时间 10X 程序员工作法, 这些教程总结了很多务实的提效方法论。
总的来说,提高效率从来不是一个人的事情,另外程序员的主要工作‘编码’ 也仅仅只占整个研发流程的 20% ~ 30%。
不要什么都亲力亲为,学会外包
让你的能力和知识可以复制和传递,比如 CodeReview,技术写作,写好文档。
培养得力的助手,或者更好的方式是招揽比你更聪明的人。
不要轻信什么最佳实践
没有绝对正确的东西,没有放之四海皆准的东西。
学习它们,然后忘掉。
问题的维度
不要只关注吃掉眼前的棋子,从更高的维度去解决问题。 举个例子
问题域。有些问题不一定就要在技术层面解决,可能在产品层面、战略层面就能规避掉。
解决域。另外,提升抽象的高度,在解决问题时能否举一反三?覆盖更多场景?
不要被奴役
- 鼓励抱怨,但也要解决问题。
- 不要为了钱而工作,让钱为你工作。
- 工作不是为了写代码,让代码为你工作。
- 把自己当成一家公司去经营
- 不要被雇主奴役,你和他们是雇佣合作关系,不是奴隶关系,不要被 PUA
- 不要被机器奴役。人类创造编程语言是为了服务人类,而不是服务机器。不要追求那些反人类的奇技淫巧,也不要自以为掌握了一门底层、学习曲线陡峭的编程语言而沾沾自喜,不符合人类心智的技术迟早被淘汰。
不管你喜不喜欢,在中国你还是得要学会“管理”
在国内 IT 打工人的体系更像是军队管理,俗话说就是吃年轻饭的。
尽管未来的趋势是分工的精细化,管理者也是占少数。为什么我就不能当个平庸的程序员呢?
- 我们所处的社会主导集体主义,自然也会滋生对权力的崇拜,很多人对这个金字塔尖趋之若鹜。权利也意味着‘成功’
- 平庸很容易被取代。而熟练工并没有壁垒,你能干别人也能干。商业是逐利,在高度内卷的市场下,为什么就不能选择跟便宜、精力更旺盛的年轻人呢?
你面前可能有几条路,创业、技术专家、管理,不管是哪条路都是很艰难,管理在很多人看来是顺理成章。
或者,现在就想想,你不搞 IT 还能干什么?提前做好投资
精心炮制的故事
这个世界的秩序是由精心炮制的故事组成,而且大部分人都相信它。
保持怀疑的姿势,可以让你跳出游戏
直面你的恐惧
为什么你会社恐?
为什么几天后的一个会议会让你忐忑不安?
为什么你那么在乎别人的看法?
为什么你总是感觉到焦虑?
为什么你不敢说出你的真实想法?
为什么你会情不自禁地与别人做比较,然后妄自菲薄?
为什么你会恐惧?如果人生是一场游戏呢?
编程的本质是抽象
编程是一门抽象艺术。
把现实世界的业务抽象成二维表,数据结构,对象关系、业务流程。
前端页面抽象成组件,低代码,DSL,本质上都是抽象的艺术。
抽象需要发挥人的主观能动性,人与人的差距就体现在这里。而工具通过学习一般都能掌握,很难建立壁垒。
不要自我感动
- 只有功劳,没有苦劳。
- 选择比努力更重要。
- 大部分企业并不在乎你代码写得多多漂亮,而在于你能不能真正创造价值。
继续保持专注
远离那些垃圾。
总会有差评
不管是多好的产品都会有差评。
不要随波逐流
我发现,程序员群体大部分是比较‘安分守己’的,身边很多典型的例子,早早地结婚,早早地生子,996 的工作,电子产品自由,开着特斯拉,在老家可能还有套套牢的房。
人生的轨迹和父辈其实不会有太大的区别。
这真是你想要的人生吗?
降低欲望,你会更快乐
所有的痛苦都来源于欲望,远离一切成功学,回头是岸