这两年我遇到过的“奇葩程序员”

(一)

第一个故事来源于我的第一家实习公司。

我在第一家公司实习的时候,我的前端负责人是一个长相比我还年轻的“小伙子”,事实上那时候我大三,而他已经过了而立之年。所谓师傅领进门,修行看个人。我从他身上听过的最多的一句忠告就是:“这个需求做不了”。我不知道是他当时觉得我太菜还是怎样,反正最终到我手里的需求,经过他的高超的社交技巧,都会变得极其简单,以至我登陆第二家公司后初期有些不适应“有求必应”的开发流程。

有一次在饭桌上,他跟我们详细讲解了如何通过“谈判”减轻自己的工作量,其实就是如何把“这个需求我懒得做”编译成“这个需求我做不了”。他说从事前端那么多年,从来没有遇到过真正不讲理的产品和需求,虽然产品经理大多不太了解编程,但我发现他们一旦提出一个复杂需求的时候,都会有个事实依据,就是XXX已经实现过这个需求,所以这个需求是能被实现的。这样的因果论看似没有问题,但作为程序员。第一反应肯定是——你***要我做BAT的需求,那你***倒是给我发BAT的薪水鸭!当然表面上你不能这么说,然后就是花里胡哨一整套理论和实践。说实话有些东西针学不来,还是得靠自己去悟。

这里我分享一些个人经验来避免一些不必要的枯燥工作。当你一个项目工期较短,又需要实现一个看起来简单实现起来复杂的需求的时候,你可以提出“我需要延长工期来实现这个需求,这个需求我加班也做不完之类的要求”,事实上全世界的人都知道这个需求需要快速上线,这个时候产品经理就会做出让步,然后你就可以提出一些可行的简单的替换方案,要注意的是,需求可以改,但最好不要砍,免得被老板问责,因为你永远不知道你认为鸡肋的功能是不是老板眼里的“核心竞争力”。第二种情况是在遇到拥有较长周期的项目的时候,遇到一个较为复杂的需求,如果这个需求跟其他模块没有联动,你大可以先做其他模块,再做复杂模块,到时候时间不够,又可以用前面的方法,如果这个模块是核心模块,你可以预估一个实现时间,如果工期不够,就提出招人来帮你完成一些简单的模块(然后再偷偷把复杂模块夹杂到简单模块里给实习生做,岂不美哉,手动滑稽)。上面两种方法,仅供参考。

(二)

第二个故事来源于一次电话面试。

我在一篇讲述个人成长经历的文章里提到,如何通过面试来提升自己的能力,在工作的第一年,我一直对这个方法深信不疑,并且乐此不疲的进行尝试。当然也因为我的第一份正式工作的薪水略低,自己也想尽快跳槽。有一次晚上九点半左右,突然接到一个电话,打电话过来的是有赞的某高级程序员。说实话,我本身就对这种大晚上的跑过来打搅你休息的电面十分排斥,但碍于对方是“996先锋”公司,所以出于礼貌没有直接挂断电话。

有几个印象比较深刻的问题,说出来给大家乐呵乐呵。

1.你简历上写了你会vue,那你知道数据双向绑定怎么写吗?我写过一篇文章专门探究vue的数据双向绑定,我直接告诉他核心思想是用Object.defineProperty重写对象的get/set,具体我博客有写。然鹅他不死心,依旧对这个“源码”刨根问底,最终我只能暗示他“我写不出来”。

2.你简历上写了你会js,你对js引擎有什么看法?你鸡母鸡js引擎的工作原理?你有没有发现过浏览器js引擎的bug?这题我是真的不会,不知各位前端专家有何高见。

在面试的时候我遇到过很多这类程序员,他们问你问题其实不是问你会不会,而是为了炫耀他会你不会。我发现很多公司的高级程序员在某一方面或某几个方面有非常深刻的见解,这对公司来说是好事,但如果你让这种类型的程序员去面试一个初来乍到的“新人”,那结果很可能是灾难性的。他们会对志同道合的爬友十分有好感,而对于那些不怎么了解他深入挖掘的领域的人则十分排斥。有时候公司只是需要一个写活动页的小码农,在面试的时候却要经历一个XX领域专家的狂轰乱炸,这对于公司完全没有任何好处。

为了防止此类情况发生,我在面试“新人”的时候很少问一些纯技术的问题,部分原因是我对自己部门的定位十分精确,老板不需要我们造火箭,而稍加培养几乎都能获取搬砖资格证。那为什么不找个漂亮点的小姐姐坐你旁边养养眼呢?

(三)

第三个故事来源于一个键盘侠。

由于CSDN的某些恶心操作,我在上半年找了一个新的平台打算迁移博客,结果发现“掘金”的摸鱼功能比博客更吸引人。于是自己经常会在上面摸鱼。某天收到一条留言,复制粘贴如下:

“看了你写的文章,照搬文档居然还能写得比文档还差......”

也不知道这位“大神”看了我多少文章得出的结论,但想必这个大神肯定很厉害,点进去查看了他的个人资料,发现他,一篇文章都没有写过,想必肯定是不屑于写文章的超级大神,又发现正好有GitHub地址,于是想进去观摩一下现在的大神都是怎么写代码的,给大家也做个参考吧(https://github.com/chance9077

以我浅显的水平得出的结论是——这是一个新的不能再新的新手。

写博客本身是一个积累的过程,再看看我两年前写的文章,有很多地方都是“乱七八糟”,这应该是一件很正常的事情,但这并不影响处于同一水平的人去阅读我两年前的文章,可能对于那个阶段的人来讲 ()=>{} 比 function (){} 的代码阅读性更强本身就是一句屁话。每个阶段的人都有每个阶段可以读的文章,如果你觉得别人写的不好,也没必要喷,如果真的想喷,你也应该比他做得更好再喷。

有些人觉得写博客是一件很容易的事情,我在csdn官方群听过的最多的两句话就是:

XXX文章只有几个字,为什么阅读量那么高?

XXX文章没我写得好,为什么阅读量比我高?

有些人在经历这样的挫败感之后会选择放弃,事实上,坚持下来的人都成为了赢家。坚持,就是这个行业最容易成功的方式。根据2/8理论,有80%的人都在白嫖网上的资源,只有20%的在创作,而这20%的人里面,最多只有1%的人坚持创作。如果你想喷我,烦请你先成为这1%,然后,做得比我好,那我就会洗耳恭听。没有实力,只会哔哔的人,越多越好,越多这样的人存在,就越体现我的价值。

(四)

最后谈谈我自己,一个不知道怎么评价的程序员。

我在博客里不止一次提到——不忘初心。一开始我以为不忘初心,方得始终,后来渐渐的变成了,不忘初心,就不错了。现在我已经完全不在乎初心了,现在应该是随心而行,随风而动(手动滑稽)。那么我的初心是什么呐?BAT,就是我的初心。如果说有什么事情改变了我的初心,应该是上一次去海康面试的经历改变了我对大厂的看法。

我发现没有任何一个老板愿意支付薪水请你喝茶聊天,所有的资本主义都是一样的目的,就是压榨员工的剩余劳动价值,因此我为什么不选择时薪更高的工作呢?一份20K996的工作,和一份12K955的工作,算一下时薪,前者333/小时 ,后者 342/小时,后者的时薪其实更高,如果正常交税的话,后者会更加划算。话是这么说,但真的给人选择,傻子都会选择前者。因为有些人根本就没得选,对于现在的年轻人来说,拼命挣钱就是为了攒首付买一个小窝。“买房”就是很多人的初心。

我从上一家公司离职的时候,收获了一句很有哲理的忠告——什么事情都是水到渠成的,到了该有房的年纪,自然就会有房,不要关注钱是怎么来的。可惜这句话不能在我身上应验了,因为我刚毕业就买房了(手动滑稽),但我发现很多程序员确实是在30到35之间买了自己的首套房,所以我从来不担心未来会怎样,我只关心这礼拜双休日的安排,和下礼拜双休日的安排,再往后的事,日后再说呗。说不定十年后房价真的如马云所说,跟葱一样也卜是卜可能。

关于程序员这一行,绝大部分人其实就是在搬砖,我常说一句话——写代码其实跟喝水一样容易,因为我常在“新手群”说这种话,所以别人以为我在嘲讽他们,其实不是。我觉得程序员的工作跟UI的工作本质上没有什么区别,只不过UI是看产品原型在脑子里生成图,然后PS出来,而我们则是看UI图就在脑子里生成了代码,然后把脑子里的东西写出来罢了,有点像小学时候那个看图作文。

对我来说,工作应该是一件很轻松的事情,我从来没遇到过做不了的需求,就跟上文中提到过的一样,大部分看起来复杂的需求,在代码层面都已经有过先例了,因此除非产品故意找茬,否则就不存在什么做不了的需求。

人生苦短,及时行乐!

 

 

发布了109 篇原创文章 · 获赞 196 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/dkr380205984/article/details/103709438