一个程序员的水平能差到什么程度?看到他我明白了!
在知乎上发现一个有趣的话题“一个程序员的水平能差到什么程度?”其中有一个高赞回答,引发了程序员的共鸣。
1
想起了一件十多年前的往事,有一次帮客户的 Java 项目组升级框架。入场之后屡次听到项目组的运维小哥抱怨 war 包过大,导致每次发布要等很久很久,用过 WebSphere 的童鞋可能知道我在说什么。
那么,这 war 有多大呢?大概 2G!富有求知欲的我于是下决心去研究下这鸽子,不对,这 war 包为什么这么大?草草一挖,果然就在里面发现了宝贝。原来 war 包里还藏着两个程序安装包。
一个是 JDK1.4;另一个是 PES2006,实.......实况足球?!根据 SVN 的提交记录,肇事的大哥很快就被找到了。
据说是在一个月黑风高的晚上,几个还在加班的码畜临时起意,决定一起找点乐子解解乏。这位带头大哥为了方便把自己的游戏分享给小伙伴,就想到了把它先提交到 SVN 上这样一个天才的主意......
当然,按照他原本的计划,这个文件应该随后被删除的!可是,那晚他们玩的实在太尽兴了......没人会料到这个文件竟会悄无声息的溜进 war 包,一路潜伏到生产环境,然后反反复复的摩擦了可怜的 WebSphere 和运维小哥近一年。
了解到真相之后,运维小哥表情差不多是这样的:
2在职场中,我们每个人都摆脱不了升职、加薪、离职、裁员……2020年你可能经历了或是听到看到很多人被裁员,年前裸辞本想赶上年后金三银四找工作,可是现在都被打乱了节奏。老生常谈的“程序员的35岁”,似乎让到中年的没到中年的,都体会了一把中年危机是什么感受。
不知道你有没有听过“五千块钱定律”,它的意思是你从事的工作,收入在“五千块钱”框定的范围内,且在三年内没有超出平均水平的涨幅的话,那么很有可能你就是一颗螺丝钉,你做的工作在社会上有大量具有同等能力的人可以替代你。
经济环境不好,也许限制了找工作,可是仍然有很多人在这种情况下找到了适合自己的工作,这也许就是不论遭遇怎样的境遇,自身拥有能力的人,都可以坦然面对,并有一个不错的结果。
我们都知道程序员的起薪相对来说会高一点,可是道理是一样,为什么三五年之后,你面临的不是升职加薪,而是降薪裁员?
很简单,你的性价比没有那么高了。很多企业在一定规模后,便会把之前一个人做的工作拆分为几个模块,同事安排相关的人负责。可是随着时间的推移,总是在某个模块一直工作,就会误以为自己变成了这个模块的专家,直到自己被裁的那一天才发现,原来自己就是一颗螺丝钉。
所以不想成为一颗“螺丝钉”,必然还是要自身能力足以抗争不断变化的世界。
3
一定要确定自己的发展方向,并为此目的制定可行的计划。不论你是刚毕业还是已经工作,都不要有得过且过的想法。你是想要一直做技术,成为一个专家级别人物;是想要提升自身能力,成为管理者;是要悉行业和领域,将来自己创业?都要有一个清晰的职业发展方向,它将决定你近几年、十年内“做什么事情才是在做正确的事情!”。
软件开发团队中,技术不是万能的,但没有技术是万万不能的!在软件项目团队中,技术水平是受人重视和尊重的重要砝码。无论你是做管理、系统分析、设计、编码,还是产品管理、测试、文档、实施、维护,多少你都要有技术基础。
精通一种语言上编程,但别为其束缚了思想。任何编程语言的存在都有其自身的理由,所以也没有哪门语言是“包治百病”的“灵丹妙药”。编程语言对开发人员解决具体问题的思路和方式的影响与束缚的例子俯拾皆是。
养成总结与反思的习惯,并有意识地提炼日常工作成果,形成自己的个人源码库、解决某类问题的通用系统体系结构、甚至进化为框架。对开发人员而言,有、无经验的一个显著区别是:无经验者完成任何任务时都从头开始,而有经验者往往通过重组自己的可复用模块、类库来解决问题。当你自己实现后,既不用担心知识产权、版权等问题,关键是真正掌握这个知识点,拥有这个技能。
理论与实践并重,知识与经验双修。站在成熟理论与可靠方法论的高度思考、分析、解决问题,并在具体实践中验证和修正这些思想与方式,最终形成自己的理论体系和实用方法论。
你可能对于未来有很多憧憬,不如趁现在好好规划今后的发展方向,未来可期,你值得可期!
Java学习资料:
笔试部分
面试题: