前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序员生存定律

程序员生存定律

作者头像
Yano_nankai
发布2018-10-08 10:55:02
4440
发布2018-10-08 10:55:02
举报
文章被收录于专栏:二进制文集二进制文集

图片来自网络

前言

在CSDN上偶然间看到这本李智勇前辈《程序员生存定律》,用了4天时间认真读完了。书中详细介绍了关于程序员的各种事情,并引经据典表达自己的看法。

无论是认真思考未来出路的程序员,还是即将毕业踏入社会的准程序员,都能从这本书中得到很多思考。下面是我读本书的一些摘录,作为记录发表在简书上。说明:摘录中某些字词与原文有出入。


程序员的人生出口

  1. 成为超一流高手
  2. 积累、爆发、开始创业
  3. 转向管理之路
  4. 维持原状
  5. 提前退场、向代码说再见

人生其实是曲线,其振幅则随着时间的流逝而逐渐收窄。对婴儿而言,其未来具有无限的可能性。对老人而言,其未来则唯一而确定。而一个人最终振幅的高度则同时取决于:机缘、天分和努力。

职场生存定律

  1. 自身价值
  2. 自身价值的表达
  3. 自身价值的稀缺性
  4. 身处公司的特质和未来

通过自我推销、赞扬别人、适当的从众、搞好人际关系这类印象管理的手段,管理个人表现会让自己产生溢价,提升自己在别人眼中的价值。

从长期的视角来看,影响自身价值表达的主要因素:资历、自身性格特征、借势的程度以及权术的运用。

不考虑理想和自我实现这些与人生价值相关的角度话,人生争的往往就是选择权。自我增值,表达力的增强,稀缺性的营造骨子里都是在扩大一个人的选择权。

软件的世界是怎样的

  1. 技术更迭偏快
  2. 介入门槛偏低
  3. 软件和软件的差别可以很大(学习必须聚焦)

很多传统行业的技能直接依赖于某种自然规律,如热力学等等。这些东西自身只会深化或细化,很少有颠覆性变化。但软件所需的东西(API等)往往依赖于某一个公司或组织,比如微软和苹果,进而是一种人造系统。

具有长久价值的东西——通用数据结构和算法,今天的排序算法在10年后必然通用具有价值。越抽象、越偏向于研究的东西其价值越长久,而越具体可用的东西其时效性就越强。

忽视自身价值提升而单纯沉迷于成功学这类方法论,早晚会迟到苦果。当一个公司的核心技术并没有产生多大价值,而是需要靠人力规模、商业模式来支撑业务的时候,那么我们可以称之为技术路径短的公司。

如果暂时把眼光从程序的世界移开,那么事情就可以看得更清楚。

什么样的程序员适合转管理?

  • 外倾性:外倾者喜欢群居,善于社交和自我决断。内倾者比较内向,胆小害羞,安静少语。
  • 随和性:高随和性的人是合作的,热情和信赖他人的;低随和性的人是冷淡的,敌对和不受欢迎的。
  • 责任心:高责任心的人是负责的,有条不紊的,值得信赖的,持之以恒的;低责任心的人则容易精力分散,缺乏规划性,且不可信赖。
  • 情绪稳定性:积极的情绪稳定性者倾向于平和,自信;消极情绪稳定性者倾向于紧张,焦虑,失望和缺乏安全感。
  • 经验开放性:开放性高的人富有创造性,凡事好奇,具有艺术的敏感性;开放性低的人则保守对熟悉的事物感到舒适和满足。

管理工作的负效应

同纯技术工作相比,管理工作(特别是中层管理)的可流动性非常低,公司不愿意请外来的中层管理者管理已有的员工,更愿意请技术上有专长的人来解决具体的问题。

打牢根基VS速成道路

学习阶段过渡使用IDE,会毁了一个人的根基。即使把算法学精了,可能还是无法立刻写出比较炫的程序,但这有助于面对不停变换的世界。

哪些是编程的根基,需要在学习阶段扎实的掌握?

  • 计算机体系结构:《深入理解计算机系统》,Randal E.Bryant和David O'Hallaron。
  • 算法和数据结构:《算法导论》
  • 设计原则和模式
  • 软件工程:《代码大全》,对培养技术的大局观很有帮助

如果想走厚积薄发这条路,上面几本书一定要通读。阅读过程中,如果发现有些细节问题无法彻底理解,那就要在实践过程中进一步琢磨,找到自己的答案。这类书读通并不容易,同时和大楼的根基一样,没什么立竿见影的效果。无论哪门编程语言,唯一关键的是不管选择哪个都要累积一定代码量并把它学透。

如何顺利成为高手

  1. 有一张全局性的地图,以便选好方向
  2. 知道有哪些坑,绕开免得掉进去
  3. 有足够的热情和动力,能坚持走下去

人的黄金学习时间并不多——不过是毕业后的10年左右的时间。

全局性的地图

清代著名学者曾对知识地图的必要性做过非常精确的表述:凡读书最切要者,目录之学也。目录明,方可读书,不明,终是乱读。——王鸣盛,《十七史商榷》

实践无疑是人类最好的老师,但只靠实践来认知世界无疑是愚蠢的。每个人的亲身经历,在大的时空背景中往往只是一个简单的截面,这一截面中绝不会包含可归纳出所有真理的事实,因此只依赖于自身的事件也就必然限定了一个人的视野。

避开增值路上常见的“坑”

  1. 学习失去焦点
  2. 学习与实践相分离
  3. 错过人生中的好时机
  4. 停止知识更新

很多人自学的东西和工作中用的东西完全不相关。这事不一定不对,只能说非常危险,很可能会导致哪样都没有高度。

对于大多数人而言,人生就像个模板,小处还有偏差,大处却基本相同。

  • 20~30岁这个阶段可以讲是黄金时期,这个阶段里,家庭负担较小,可以自由支配的时间较多。
  • 30岁之后因为娃娃出生等,家庭上的时间开销增加,个人可支配时间变少。其中很大一部分人还可能面对婆媳矛盾,让你每天心绪不宁。
  • 40岁之后,家庭琐事会进一步增加,典型的上有老下有小。运气不好的自己也会生点病——颈椎病、腰间盘突出、胃病是程序员的三大职业病。
  • 50岁之后,时间会再次解脱,但时机不在。

如果把人生按照年龄画一条抛物线的话,40岁左右的人可以达到人生的顶点。

很多人很大的一个错误在于,在黄金时期,没做什么积累,就顾得享受生活了,而一旦意识到积累的必要性时,却又受困于诸多琐事而欲振乏力,最终人生高度有限,并迅速走低。

35岁前要花大量时间学习比较硬的技能,具备工作所需要的所有主要技能,35岁之后则主要关注知识的更新和某些软技能。年纪越大时间越呈现为碎片化,越难搞定硬的知识。可以用碎片时间来学习PPT、提高表达力。

哪些东西是比较硬的,要在35岁之前搞定呢?

  1. 精通一门常用的语言
  2. 设计模式
  3. 《代码大全》里讲的一切
  4. 积累一定的代码量
  5. 掌握基本算法和数据结构(可以不自己写,但至少要知道其复杂度和区别)
  6. 养成一种清晰的编码风格
  7. 有自己的专业(金融、高并发网站、图像处理)

程序员学习英语是一项投资回报率较高的投入。

青春是一种进取的精神,是一种远离颓废追逐理想的状态。

吾尝终日而思矣,不如须臾之所学也。吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。 ——引自《荀子· 劝学》

同样能力的人,一个在社交网络中获得了较大的认可,一个处于封闭的环境中,那么无疑前者会有更好的成长空间。

当一个人被鄙视的时候,常见的一个负评是:这个人格局不太行。那么什么是格局?老盯着公司有没有供应咖啡,就是没有格局;考虑公司成长中自己可以扮演哪种角色,并放弃某些眼前利益,就有点格局。

当一个人关注的概念(公司成败,行业兴衰)足够大时,往往他就会看到更多的东西,心胸也就随之开阔,格局变大;当一个人关注的概念足够小(柴米油盐)时,无形中也就缩小了自己的世界,格局也就变小。

自己有没有影响力?

会有人找自己解决有困难的问题么?同事之外还有人知道自己么?自己知道在行业里谁在做和自己类似的工作么?又知道别人在怎么做和自己类似的工作么?

纯技术道路容易被埋没,达不到高处。可以做张表,给自己的技术力在公司里排排位置,如果已经排的很靠前,并且掌握前面所说的地图中大部分只是,但职业路径却不顺畅,那基本就是缺表达力了。

选择在什么样的公司里工作,几乎等价于选择站在什么人的肩膀上。再形象点就是选错了公司等价于输在起跑线上。公司提供的岗位决定了你所接触的技术、人物,进一步决定了你的眼界、能力和人脉,也一定程度上决定了你履历的价值。这些都是对一个人至关重要的东西。

程序员的故事

老A是通过高中的努力达到人生高点,但浪费了自己的选择权,使选择权逐步收窄;而李云则是起点很差,但始终坚持增值,最终累积出了高度,逐渐使选择权越来越大。

经过十几年的奋斗之后,形式完全逆转,老A不再有和李云并列在一起的机会了。李云可以在各大公司间选择比较适合自己的工作,而老A只能被外包公司被动选择。

自信牛人的成长经历
  1. 自信能让你与众不同,尽管有时的自信有点莫名其妙。
  2. 难学的技能一旦掌握更具竞争优势。
  3. 不论身处多么困难的环境,即使觉得前途渺茫,也不要放弃学习,否则就是“自断筋脉”。
  4. 职场首先比拼的不是智商,而是坚持与好习惯。
  5. 不要用沉默的方式一味迎合别人的要求,据理力争或许才是作为的表现。

后记

这本书给我印象最深的一句话是:职场首先比拼的不是智商,而是坚持与好习惯。同时程序员往往不重视人情与表达,认为只要把代码写好就行了,往往会降低自己的价值。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.03.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 程序员的人生出口
  • 职场生存定律
  • 软件的世界是怎样的
  • 什么样的程序员适合转管理?
  • 管理工作的负效应
  • 打牢根基VS速成道路
  • 哪些是编程的根基,需要在学习阶段扎实的掌握?
  • 如何顺利成为高手
    • 全局性的地图
      • 避开增值路上常见的“坑”
      • 哪些东西是比较硬的,要在35岁之前搞定呢?
      • 自己有没有影响力?
      • 程序员的故事
      • 后记
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档