程序员最大的悲哀是什么(程序员是世界上最理性、最睿智的群体,耶稣也反驳不了我,我说的!)
有人说 ,程序员是吃青春饭的 ,35 岁就提前退休了 。
猛一看,这句话是对的;仔细一看 ,这句话是不对的 。
说它对 ,是因为现实中确实有很多程序员 35 岁就被毕业了;说它不对 ,是因为 35 岁以上的没被毕业的程序员还是有很多的。
程序员不是吃青春饭的 ,而是吃技术饭的 。换句话说 ,如果你的技术跟不上年龄的增长 ,那么你就只能吃青春饭;因为同样的技术 ,我肯定找年轻的 ,年轻人精力旺盛好忽悠 ,还能提升公司门面 。
但是,你会发现 ,一个公司的主心骨 ,或者说挑大梁的,大多都是经验丰富的 、可靠的 、技术好的人 ,而这样的人 ,大部分年龄都不小 。
那么,为什么你成不了这样的人呢?好听点就是:因为你的技术跟年龄不匹配 。难听点就是:你的性价比太低 ,不值这个价!
要改变这个状况 ,你就要下几个决心 ,做几件事情 。你首先需要提高的不是技术 ,不仅是技术 ,不仅仅是技术 。
态度
首先要做的 ,就是端正自己的态度 ,不要天天扯着脖子叫唤:我 35 就失业了 ,我还能干啥 。大部分这样叫嚷的 ,都是有谋杀嫌疑的,你把悲观带给别人 ,导致别人也悲观 ,从而无所事事,跟谋杀没什么区别 。
假设现在有一个问题让你解决 ,如果你解决不了 ,那你纠结个毛啊;如果你能解决,那你又纠结个毛啊 。所以 ,不用纠结 ,踏踏实实干事才是正途。
在 IT 行业 ,永远是技术至上的 ,一门新的技术盛行 ,肯定有其原因 ,要么就是性能提升了不少 ,要么就是用起来更简单 。而我们作为开发者 ,需要做的就是不断学习 ,不断了解新技术 。
如果你遇到新技术不主动学习,就在那感叹薪资提升慢 ,35 岁就被干掉 ,上班就摸摸鱼上几个小时大号。那么就对不起,程序员涨薪不是靠熬年龄 ,被干掉更不是因为年龄 ,而是因为不思进取 。
有人就不爽了,年龄就是工作经验啊 ,工作经验长才能拿高薪啊 。
错!8 年工作经验中有 7 年都在 ctrl+c、ctrl+v 的不是 8 年经验 ,是 1 年经验。建议大家招人的时候看下面试者的手形 ,左手大拇指和食指磨损严重的就是用的 Mac ,左手小指和食指磨损严重的就是用的 Windows ,总之:只要左手食指磨损严重的 ,就是平时CV惯了 ,就要重点关照了 。
总之 ,年龄大不是被干掉的原罪 ,也不是拿高薪的借口,技术才是王道 ,所以 ,你需要的态度就是:学好技术,技术就是一切 。
乐观的态度是前进的动力 ,态度比能力更重要 。
目标
好 ,现在,你已经准备学好技术了 ,那么 ,该学什么技术呢?
这就要看你的目标了 ,程序员的职业道路只有两条:管理路线和技术路线 。并不是说管理路线就不需要学技术 ,而是要求不那么高深了 。但是做管理前 ,还是需要技术达标才能晋升 ,所以你还是要先学好技术 ,不然难以服众 。
假如你现在定了目标:我要成为一个前端专家 。
那么 ,你可以去招聘软件上看看 ,前端专家都有哪些要求,然后把这些要求列出来 ,逐条去努力 ,去实现 。你也可以看看你们公司的高级前端,他每天都在做什么 ,他做的事你是否能做到 ,如果做不到,你要怎么才能做到 。总之 ,你要想方设法去找到“实现你的目标的条件 ” ,然后让自己逐个满足这些条件。
你每天可以反思一下 ,今天做了什么 ,做的这些是否让自己距离目标近了些;当然 ,这不是一日可成的 ,这些都是需要坚持的 。当你想放弃的时候 ,不妨就想象下自己已经达到目标的情景 ,指不定你的动力就又来了 。
没目标的人朝三暮四 ,有目标的人始终如一。
坚持
当你有了目标之后,你要做的就是坚持不懈地向目标走 ,你可能坚持不下去了 ,想放弃;或者你看到别人在吃喝玩乐禁不住诱惑,没关系 ,你想想他 35 被辞退的情景 ,你就觉得挺爽的 。
我曾经读过一本书,叫做《Utliers》 ,中文名叫做《异类》 ,这本书告诉我一个道理:坚持不懈地做一件事 ,只要花上 10000 小时 ,你就能成为专家 。这叫做 10000 小时法则。
10000 小时 ,猛一听挺唬人的 ,按照每天 8 小时算 ,就是 1250 天 ,按每周工作 40 小时算 ,也就是 300 周,大概 6 年时间 ,6 年的时间就能成为专家?按照 23 岁毕业来算 ,也就是 30 岁就能成为专家,有几个人成了呢?这个法则不对吗?肯定是对的 ,比如:钢琴师朗朗 ,魔术师刘谦,他们都是世界级的人物了 。那就说明:凡是 30 岁没成为专家的 ,都是没有坚持的 ,因为大部分程序员每天真正干活的可能也就三四个小时 ,剩余的时间没有去学习 、写代码;而是在摸鱼 。唉 ,我替你们老板求你们上会儿班吧 。
坚持是一件很可怕的事 ,会积少成多 ,会将微弱优势叠加 ,产生质变的效果 。而且坚持会成为一种习惯 ,一旦养成了习惯 ,改都改不掉,一个好习惯将会使你受益终生 。
我有个同学坚持刷leetcode 7 年了 ,真不是人啊 ,当初我嘲笑他,现在他过着令我羡慕的生活 。现在后悔也没用了 ,知来者之可追 ,所以现在,我也要坚持了 ,耶稣也挡不住我 ,我说的!
理性
理性是程序员的本性 ,就像物体的密度一样 ,不会随着时间 、空间的变化而改变 。
即使不理性的人 ,一旦当了程序员 ,也会变成理性 ,因为你要面对的是代码 、是计算机 。代码只跟你讲道理 ,胡搅蛮缠 、煽情那一套对代码是没用的 。
理性就是做事有理有据 ,错的为什么错,对的为什么对 ,都是要做到心中有数的。比方说:今天我 review 代码 ,我发现这一块逻辑不太对,应该会出 Bug ,但实际却正常运行 ,结果对了我就不去纠结了吗?这肯定是不行的,如果将来出错了呢?换句话说 ,我们去纠结一个代码的出发点应该是:实际结果跟我预想的不对 。而不是:结果不对 。
或者说:决定我们是否做一件事应该是理论导向的 ,不应该是结果导向的。
比如 ,我在同事的代码中看到很多直接在 UI 线程操作文件的 ,我就嘀咕:文件操作是 IO 密集型的耗时操作啊 ,应该在 IO 线程啊 ,为啥在 UI 线程呢?那个同事说:这个文件很小 ,几十毫秒就完事了 ,不会造成 UI 卡顿 。
他说的没错 ,但是不对!因为他这么做的原因是:文件不大,不会卡顿 UI ,这就是根据结果做出的判断 ,也就是结果导向的 。
结果在后面我们发现,ANR 率上升了 0.04% ,最后定位到是这个文件引起的 ,明明文件不大啊,这是咋回事呢?因为部分性能差的手机 ,ANR 率就高了 ,还有就是有的用户选择了一些大文件。那么这个问题怎么避免呢?
我们这么理解:理论是根据大部分场景综合得出的结果 ,就像正态分布 ,独立概率一样 ,都是经过大量实验 、场景得出的结论 ,所以适用于大部分场景;而你自己的结论 ,只是根据你自己的所见所闻得出的 ,而你自己的见闻远不如理论提出者 。 所以 ,我们要尊重理论,根据理论来下决定 ,而理论说:文件是耗时操作 ,应该放在 IO 线程,那么我们放在 IO 线程就行了 。这就是理论导向 。
我们要做理论导向 ,不要做结论导向 。
理性不是无情 ,程序员也是有感情的,也会开心 ,愤怒 。我们要做的 ,就是不在愤怒时下决定 ,愤怒时是感性占上风的 ,此时做的决定大部分是从情绪出发的 ,很容易错 ,我们要避免之 。
清醒时做事 ,糊涂时读书 ,大怒时睡觉 ,独处时思考 。
基础
最后,要说的 ,就是基础!我们一定要重视基础 。
基础很重要!!!基础衍生出其他所有知识 。学得越深 ,基础越重要。
基础就是通用性技能 。平时感觉不到它的存在,但是一旦遇到问题 ,你就知道它的重要性了 。
有的人在遇到问题不能解决时就开始怀疑人生 ,怀疑这个怀疑那个,甚至怀疑自己学过的东西都没学对 ,这其实就是基础不牢 ,这也不能确定那也不能确定 ,就导致不能排除无用的信息 ,进而无法及时解决问题。
比如 ,我有个同事用ArrayList写了个用户列表 ,后面发现列表中有两个一样的人 ,不知道是服务器返回错了 ,还是客户端自己加错了 ,其实这就是他不知道ArrayList是否具有去重性,只能先写个 demo 确定一下 ,这就浪费了时间 ,其实我觉得像这种基础不牢的,应该先把ArrayList源码抄 100 遍再说 。
高手之间的较量 ,拼的就是基础 ,拼的就是对方犯错 。你可以不会高级 API,但是不能基础不牢 ,因为高级的 API 都是基础 API 实现的 ,基础 API 也能实现 ,比如正则表达式 ,你可能记不住 ,但是只要你知道字符串的基础 API ,你也能实现同样的效果。
基础是重中之重 ,两手都要抓 ,且两手都要硬 。
结语
程序员为什么是最理性 、最睿智的群体呢?
因为我们整天跟电脑打交道 ,能跟电脑讲理的人,能不理性 、不睿智吗?
我们要做的就是:端正态度 ,定好目标 ,坚持不懈,理性做事 ,打牢基础 。诚能如此 ,吾等前方,绝无敌手 ,三界之内 ,没人能挡住我们的脚步 。
那么 ,下一节 ,就从基础开始 ,一步步迈向胜利之路 。
程序员的必修课 - 奔波儿灞取经 - 掘金小册数据结构+计算机网络+操作系统+设计模式 ,软硬兼修 ,深入浅出带你夯实程序员基本功 。「程序员的必修课」由奔波儿灞取经撰写 ,610人购买https://s.juejin.cn/ds/BoPu7q4/
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!