南阳网站制作价格,网络运营者不是指,邯郸网络营销推广软件,数字营销包括哪六种方式背景 本文出自一朋友给我的提问#xff0c;于是博主呕心沥血给他花式洗脑了几个小时。忽然发现#xff0c;应该还有许多朋友有同样的疑问。所以整理成文。 许多刚毕业的程序员朋友#xff0c;都有一个执念#xff0c;想要进那种规模大一点的公司、上市的、业内有名的最好。…背景 本文出自一朋友给我的提问于是博主呕心沥血给他花式洗脑了几个小时。忽然发现应该还有许多朋友有同样的疑问。所以整理成文。 许多刚毕业的程序员朋友都有一个执念想要进那种规模大一点的公司、上市的、业内有名的最好。为什么大家都想去大公司 因为很多人觉得公司大一点正规一点。开发技术应该不错应该与时俱进流程应该会规范一些。说到这里依然有这种想法的朋友请握个爪。 然而当他刷完什么《剑指OFFER》、《编程之美》废了好大一番功夫进去以后却发现完全和自己想的不一样。他发现他所在的大公司: (1)代码混乱 I、比如一个发送Http请求的Util类竟然出现了三四种。开发人员A封装了一种开发人员B封装了一种公司框架自带了一种。 II、到处充斥着CtrlC和CtrlV的味道更有甚者居然连author都不改原样复制过去。 III、日志风格千奇百怪缺乏统一规范。每个人都有一套自己的日志风格。重点是一些关键步骤居然不写日志。 IV、一些几千行的类、关键步骤不加注释、一个方法几十个参数都是随处可见。 (2)开发流程混乱 I、一个项目组IDE和JDK都不统一比如用Idea,eclipse,myeclipse的都有。然而重点是把idea、eclipse独有的配置文件都上传到了服务器。 II、完全没有文档。比如要改一个需求了OK去Debug代码根据断点去反推原来的逻辑是怎么实现的。反正不改出问题就行。 III、程序员白天大部分时间在处理BUG以一种混日子的态度在工作。反正能搞得定新需求搞得定功能测试项目能如期上线就行。至于代码有多搓无所谓 (3)技术落后 I、还在用四五年前的技术例如还在JSP里头写大量的JAVA代码进行开发等。 II、架构上很多方面欠考虑。比如采用了消息队列却完全不做持久化处理完全不担心数据丢失的问题也没做可靠性的保证。服务之间传送数据重要信息完全不加密明文直接传。 III、性能调优就是拍脑袋做的 以上种种大家如果深有感触请再次握个爪。那么为什么会这样呢 缘由 人员层次 但凡在大厂工作几年的老员工有没有这样一个体会身边的牛逼老员工基本都跑了剩下来的员工基本都是比较平庸的。 大部分人在工作中其实都处在一种重复劳动的状态,也就是所谓的拧螺丝工作,技术水平得不到提高。那么在这种工作性质之下会诞生两类人:(1)平庸的人 这类人在工作中满足于能完成需求即可对代码的美丑并不关心。正所谓 码不在烂能跑就行。 当然这类人并不是缺乏提升自己技术的能力而是由于惰性没有明确的规划缺乏提升技能的意识导致时光匆匆流走想要跳槽却没地方收留一不小心这类人就成为了老员工。说到这里赶紧回忆一下自己是不是成天拿什么没时间当理由然后明日复明日小心成为老员工。 另外大公司基本不会裁人而手上的技术水平已经能应付工作。就算努力学了一堆新技术也没有用武之地于是这类人就能安然自得的继续过下去。大家可以对比一下你身边的同事一个是自毕业的时候就在这家公司熬了十年的一个是十年间在三四家公司呆过的。请问哪一个水平更高呢(2)牛逼的人 这类人在工作中一般有着较强的责任心且对代码有着很高的追求对问题有着独特的见解回去也会不断的学习提升自己。然而这类人的所学通常没有发挥的空间。比如可能出现下面的对话 程序员A:老王你这个地方不能这么写会出现XXX的BUG的。 老王:你懂什么公司创立的时候我就在这个项目组了就该这么写。 于是这类人的所学并没有啥发挥空间。就算有发挥的空间过不了多久他也会离职。因为在IT圈只有通过跳槽才能得到高薪。这点我们必须明白大厂都有一套严格的薪水涨幅制度并不会因为你做出了特别牛逼的贡献给你月薪突然翻了一倍。而且如果给你涨了薪水你公司的其他人呢他们涨还是不涨所以很多公司宁愿给一个新员工高薪却不愿意给老员工提工资就是这个道理。 因此这类牛逼的人觉得公司现有的薪资匹配不上自己的能力后就会跑路的。大家在IT圈会听到一个说法 B级公司就是给A级公司培养人才的A级公司就是给S级公司培养人才的。 所以当你发现自己身边没有牛逼的大神不要惊讶因为大神都跑路了。 重构成本 当一个系统的代码成为祖传代码以后其业务规模和复杂程度都远远超乎你的想象。我们在开发新需求的时候都是在原有基础上小心翼翼的修补。比如可能出现如下对话 老王:谁让你乱改这个模块代码的知不知道你这么改导致了XX模块不能用了。 程序员A“我。。。。只是想让代码看起来更好看而已。” 老王:你以为我不知道这么写很挫么乱改出问题了你抗么。赶紧改回去。 其实你能看到的问题老员工看的比你更清楚maybe人家比你还明白应该要如何解决。但是为什么老员工不去做呢因为老员工明白技术上的事情没有100%肯定不出事的。出了事了谁来背 再打一个比方 你一个月薪水10K你花了5个月的时间提升了一下10%性能。站在你的角度你高兴了。但是站在公司的角度卧槽我亏了啊。我还不如花20K再买一台机器。在你身上投入了50K还要担心你会不会跑路。 所以从重构成本上来看又提高了。 另外很多中层的领导基本都是守着自己的一亩三分地不求无功但求无过。所谓祖传代码的出现其实是整个部门的责任。你一个人重构的开开心心了后续就可能整个部门一起加班谁去做这种吃力不讨好的事情。而且最重要的是在技术leader水平和开发流程没有改变的情况下你的新代码过不了几个月又会变成所谓的祖传代码。 当然但是这并不意味着这些技术项目没救了。比如某一天你的对手出了个吊打你们项目的产品。这种时候只能大改了。反正搏一搏没准还有出路呢。 公司性质 其实大部分的公司都是重视业务价值而看不到技术价值。 有些大厂存在一个很有趣的现象产品经理的薪资比技术人员的薪资还高。因为他们觉得无外乎是增删改嘛找点应届生就能作了没必要花大价钱请牛逼的人来写。 于是呢很多中层是所谓的没写过代码的业务员又或者是没撸过一行的代码的产品经理然后就很搞笑了会出现如下情形 产品经理:这个功能你们看一下要多久才能实现。 研发人员:大概下个月十五左右吧。 产品经理:什么要这么久。就初一下个月初一一定要上。 研发人员:我这个功能XX地方比较复杂需要点时间。 产品经理:你当我傻么就是if else。。可以实现的怎么要这么久 研发人员:我 产品经理:就下个月初一了做不出来公司的损失你背还是我背 于是呢在重视业务价值的公司无论你多牛逼乃至你是码神下凡你写出的代码也是不堪入目。说到这里博主的那个朋友不服他辩解道 我们可以在前期做好设计和规划后再开始开发啊这样就能减少出现渣渣代码的可能性。 确实我承认这么做可以减少出现烂代码的可能性。然而大家都知道需求是一个善变的小姑娘一天一个样。你再牛逼的设计也顶不住需求的频繁变更啊。 其实在某些时候没有必要把代码当成一种艺术品应该要能够接受适当程度的瑕疵。只要到点可以跑可以追踪BUG基本能交差就成。我相信给任何一个人足够的时间都能把代码变成一个艺术品但是这有什么用。等你弄好黄花菜都凉了。迅速上线能挣到钱才是重点啊才是你的KPI体现啊。很多优秀的代码是给了重构的时间的大牛们都是一边写一边重构的。如果不给时间大牛们也写不出优秀的代码的。换句话说你完全可以后面挣到钱以后再把原来的架构推导重来。 我们要明白写代码是为了挣钱而不是为了雕琢一个所谓的艺术品。如果将写优秀代码比作一种情怀请问 情怀重要还是金钱重要情怀能让你买房么。 OK弄清楚主次挣钱才是硬道理。 审视自己 这个地方我希望大家好好审视一下自己因为重点不是 大公司为什么还在采用过时的技术 而是 你为什么只能进采用过时技术的公司 其实每一个公司都有一个所谓的标杆部门这个部门的技术通常是拿的出手的。可是这样的部门通常是最难进的。所以啊你要去拿的出手的部门好好努力吧少年们。 OK到这里大家好好思考一下吧。大家有什么问题也可以给我留言。 总结 啰里啰唆的扯了一堆希望大家看完以后能有所收获。工作中不断的提升自己少一些抱怨吧。 转载于:https://www.cnblogs.com/rjzheng/p/9463577.html