我再说一遍,奋斗逼模式是没有未来的。
只有想通了这个道理,才有可能致富。
想通过奋斗致富……
如果奋斗可以致富,这个世界就不会有勤劳的穷人了。
因为奋斗的门槛太低了,真要能致富,大家都去奋斗,自然轮不到你富。
回到主题,为什么开发不出来spring?
因为奋斗逼蠢。
他们目光短浅到不能认知到奋斗加班并不是囚徒博弈而是一美元拍卖陷阱;
他们目光短浅到不能认识到公司和自己是完全无关的劳务雇佣关系;
他们抽象出来的对于这个世界的认知都是错的,他们会找到各种奇奇怪怪的理由告诉你:
在他们看来,为老板拼命加班,给他再买一栋房子是对自己最有利益的选择。
于是,它们很决然地走上了自以为利益最大的道路,哪怕有人告诉他们这是很蠢的事情。
每天6点起床,洗漱出门,11点回家,洗澡睡觉。
做框架?
思考技术?
精进业务?
开玩笑,我哪来的时间啊,我要拼命给老板打工,这样老板才有可能施舍给我一点点钱,
让我给父母养老,给孩子读书,给房子还贷款啊……
这逻辑滑稽不滑稽……
滑稽。
但他们的认知能力里是没有‘精进’这个概念的,所以他们觉得这很正确。
还总会拿来念经给自己在战略上的懒惰和弱智找各种理由。
他们看得到的只有‘奋斗’,所以只能食老板嗟来之食。
自然而然,短时间内是出不了spring这样量级的东西的。
(注意形容词:量级,而不是优秀。)
但是,我要说但是了。
觉醒的无产阶级终究是有的。
中国在开源工具上渐渐地开始有了长足的进步。
github上中国人提交的代码越来越多了。
技术上讲,
gui有轮子哥的gaclib,
通信上有xatic(好像叫这个)的kcptun,
前端有vue,
游戏也有腾讯更多更好用,名气更大的各种框架,比如xlua
我就不一个个点名了,太多了……
未来还是美好的,要有希望。
因为你奋斗产出来的都是老板的,你精进产出的才是自己的。
我是多个开源框架作者,利益相关,首次匿名。
简单来说,为什么?因为老板赔钱呗。老板恨不能发一块钱工资让程序员帮他赚一千块钱,怎么可能花这么多钱养着程序员让他不务正业?而且有能力写框架的程序员哪个便宜?
程序员眼中看到的 Spring 也许是一个充满设计元素的艺术品(即使有很多历史遗留问题),但在老板眼中只是一个免费的工具而已,设计怎么样无所谓,能跑起来帮他赚钱就行了呗;即使老板也敬畏技术,那不还有股东呢嘛。
我曾经也是中国某互联网公司程序员。在我看来,很多中国程序员最大的问题在于对于编程本身思考太少;虽然这些思考可能在很长一段时间内不会带来收益,但缺乏这些思考带来的直接后果就是中年危机,但国内的雇主往往不会给程序员思考的空间,“自愿”加班就是最直接的手段。相比之下,我见过很多美国程序员干活很慢,但即使项目时间比较紧,他们也可能就一个设计扩展性的问题来来回回发好几封邮件讨论。另外,我也见过很多思维活跃的中国程序员,但到最后大都要么为了赚钱转管理而无暇顾及技术,要么像我一样跳到外企专心做技术。我不是说中国完全没有做这种精细技术的程序员,相反,我看到很多程序员都有这样的潜力,但不得不说国内很多互联网公司没有提供这样的环境。
程序员们看到这个回答不妨去思考这样一个问题:当我们使用一个框架的时候,除了读一下他的源代码之外,花了多长时间思考这个框架的设计动机是什么,为什么这么设计,有哪些优点和缺陷,如果是我们来设计又会不会做相同的决定。当然,做这些思考的前提是我们已经充分阅读了这些框架的文档,这对英语通常也是有些要求的,也算是中国很多程序员进阶的一个不低的门槛。
国内的程序员都去忙着卷了,手写红黑树、秒杀hard题毫无压力,一个个都是天生的做题家,哪有时间去研究开发框架?
工作以后呢?更卷了。老板恨不得你天天加班到半夜十二点,最好是直接住在公司,把你轰回家你都不乐意,生是公司的人,死……那跟我们资本家有什么关系?
但问题来了,虽然老板希望你在公司勤勤恳恳地工作,但你改改Bug、做个网页、开发个小程序就足矣,至于开发新框架这种从0到1、费时费力费钱的事情,就省省吧!
简单来说,我们要很清醒且客观的知道:目前我们的技术环境确实还不那么开放和友好。这几年互联网行业发展迅速,工资水平是上来了,但其他的还没跟上(比如996、比如闭塞的氛围)。
我从北大毕业后孤身前往美国,先后任职于Google、Facebook,18年又回国创立了九章算法,深切感到国内外技术环境的差距。
所以,我一直在精进自己的算法,一直在思考如何帮助更多的中国程序员找到面试的技巧,在工作中精益求精,注重代码质量和有价值的输出,而不仅仅是当个【只会CRUD的工具人】。
LintCode,程序员的专业刷题与在线评测平台,拥有2000道+算法题库,还划分了国内外名企题库和阶梯训练。
做LintCode的初衷是受到我当时打ACM比赛的启发,觉得这样的在线OJ能帮助更多为算法面试苦恼的同学,通过海量做题这一方式,找到做算法题的方法和技巧。
对于编程新手,可以来尝试【新手必刷编程50题】,题库由ACM银牌助教精心打磨,从基本数据类型、判断语句、数组与循环等方面讲起,从最简单最基础的题刷起,逐步找到对编程的兴趣,上线至今已收到了无数好评。
对于正在备战大厂算法面试的同学,也可以来LintCode体验我们刚上线的【企业题库】,汇集了字节、腾讯、阿里、谷歌、FB等头部大厂的面试高频题,突击算法面试。
当然,还有剑指offer、编程之美等经典ladder,都是免费开放的。
哪怕已经拿到了心仪的offer,我也十分推荐大家空闲之余刷2-3道题,开拓算法思维,提高逻辑思维的能力,才不会被提前优化。
九章算法班,分享了我在多年技术工作中的所想所得。包括
此外,我还根据自己多年打ACM比赛,以及创立LintCode的经验,总结了一份通用算法模板,包含了常见算法和数据结构的代码模板,及其适用条件、复杂度等(共45页)。
总之,关于算法面试的方方面面以及这份代码模板,我都会在九章算法班的首节免费讲座《FB面试官揭秘算法面试速成技巧 - 怎样做到 Bug Free 和刷100题等于别人刷300题》中送给大家,感兴趣的话可以直接去免费试听(前三节试听无需任何成本,就是这么任性)。
最后一个则是我闭关了半年,最近刚做完的《Twitter 后端系统 - Django 项目实战》。
这个项目是按工业级要求设计的,但对新手也十分友好。从零起步,手把手带你做出一个Twitter后端系统,而不是简单地让你做个demo。
由于刚做好,可能还有很多需要完善的地方,也烦请各位批评指教~
这三个产品,谈不上可以让中国的程序员从crud的机械工作中跳脱出来,但对于锻炼自己的算法思维、开拓眼界、学架构、学理论、拥有大厂程序员的思维,还是有一定帮助的。
我相信,国内的技术环境一定会越来越好。