分享硬核程序员“陈昊(网名左耳鼠)”对此话题的思考。大家好,我是陈浩,网名左耳鼠。程序员实现自己的技术是理所当然的事情。编写程序是一项“手艺活”,作为一名手艺人,程序员当然可以靠自己的手艺和技能养活自己。但是,现在很多工匠程序员都说自己是“码农”,打码的农民工,工作中被各种号召,各种加班,累得跟牲口一样。各种职业发展的迷茫和彷徨,根本看不到未来的希望,更谈不上成为工匠,用自己的技能去实现。从大学时帮别人打字挣零花钱,到逐渐用自己的技能帮助别人,从而获得比较丰厚的收入,我很早就意识到编程可以完全靠自己的技能完成,不依赖任何人或公司住。对于程序员来说,这应该是理所当然的事情,但似乎并不是所有的程序员都能实现自己的价值。在这里,我想和大家谈谈我的一些经历。当然,我的经验有限,也不一定全对。只是希望给大家一个参考。当我还是学生时,我于1994年上大学,主修计算机科学软件。1996年大二的时候,因为我五笔学得好,打字也快,所以被招到教务处帮我把一些文件录入电脑。打了三个月,学校给了我1000块钱,每千字10块钱。因为我的五笔打字越来越快,而且还能用CCED和WPS排版,所以引起了别人的注意,让我帮他去他的打字工作室,一个月收入400元。我的大学在昆明,相当于当时当地收入的中上水平。后来在1997年帮一个开公司的老师写了一些MIS软件,用Delphi和PowerBuilder写了一些办公自动化和酒店管理软件。一年后,老师给了我2000元。因为我的动手能力比较强,当时系里的老师有什么想做的都找我帮忙。而且,由于当时计算机人才太少,社会上一些需要开发软件或解决技术问题的人也会来到大学。基本上,老师们也推荐给我了。还记得1997年,老师推荐了一个人来找我,问我能不能做网页?5个静态页面,1万元。那时候学校是没有教网页制作的。我去书店找书,却发现书店里没有HTML的书,只好推辞说:“我做不到”。一年后,我意识到这很容易。1998年初入职场,毕业后在工商银行网络部工作。我用拨号的方式做了一个个人主页,个人主页或者说个人网站,当时超级流行。一边在网上搜集一些知识,一边学会了做一些花哨的东西,比如网页的菜单什么的。2000年,一个偶然的机会,《电脑报》的编辑看到了我的网站,他写了一封邮件让我投稿。只是写了一些关于如何在网上做菜单的技术小文章,每个月写两三篇,这样一个月可以赚到300块左右的稿费。那时,我的月薪是600元。现在通过文章标题能找到一两篇,比如《抽屉式菜单的设计》,已经是一堆乱码了。大学里被要求做事的经历对我影响很大,甚至潜意识里完全影响了我对人生的规划。虽然当时说不清楚,但就是强烈地感觉到可以完全靠自己的手艺生活,不依赖任何人,不依赖公司。我觉得这种感觉,我现在可以说清楚,这种潜意识是——我不需要靠打工和听别人安排来生活,而是通过在公司工作来提高自己的技能,这样我可以更加独立和自由地生活。所以,在工作中,对于那些没有技术含量的工作,我基本上都是像学生时代那样交作业。我想方设法提高交作业的效率,比如增加代码的复用,能自动化的自动化,和需求人员讨论需求,简化需求,这样我就可以做更少的工作……这样我就可以有更多的时间去研究公司内外更多的核心技术和技术。在工作中,总能引起别人和领导的注意,总是比别人有更多的时间去研究和玩一些高科技技术。当然,这种“关注”并不完全是好事。2002年,我外包给银行做业务开发时,因为完成项目太快,无事可做。我整天都在看书和写其他代码和用户一起练习,但用户却抱怨我没有做好本职工作。当然,我对这样的抱怨置之不理,我行我素,因为我的作业已经交了,所以用户只是说说而已。同年,我加入了一家技术含量很高的新公司。他们正在用C语言编写一个公司项目,可以将一堆PC组合成一台超级计算机进行并行计算。当我完成我的第一个项目时,公司的一位人才告诉我,您可以使用Purify来测试您的代码是否存在内存问题。Purify是一家叫Rational(后来被IBM收购)的公司做的神器,有点像Linux开源的Valgrind。用了之后觉得Purify太强大了,就翻了一遍它的英文技术文档。经理看我很喜欢这个东西,就让我分享给公司里的人。精心准备了一份PPT,结果只来了一份QA。我在一个大会议室里单独和她谈了一个半小时。这位QA对我说:“你的分享真好,很有条理,也很清楚,学到了很多东西。”有了这个积极的反馈,我在我的CSDN博客上分享了一篇关于Purify的文章,标题为《C/C++内存问题检查利器—Purify》。可能是因为这款软件是收费的,用的人不多,这篇文章的读者反响不是很好。然而,2003年的一天,我意外地接到了一个电话。一家公司请我帮助培训客户使用Purify软件。IBM的培训太贵了,所以代理软件的公司出于成本考虑想找个便宜的讲师。他们找遍了中国的整个互联网,只看到了我的文章,通过CSDN找到了我的联系方式,给我打电话。最后两天的培训总共花了税后1万元,而我当时的月薪只有6000元,还是税前的。这件事让我入行的时候明白了一些道理。去体验一般人体验不到的,把学习时间花在那些比较难的地方。你要写文章,就得写没人写过的,或者别人写过的,但我可以写得更好。更重要的是,技术和知识是完全可以变现的。现在回想起来,15年前就明白了技术和知识的实现,哈哈。后来在CSDN博客上发表了很多文章,有C语言编程修炼的文章,有一些makefile/gdb手册文章,还有工作中遇到的各种坑。因为我分享的东西比较系统和独特,所以搜索引擎自然优化了(最好的SEO是唯一的)。我的文章经常因为访问量大而被推送到CSDN首页。于是,就吸引了各种培训公司和出版社,以及其他公司的招聘,还有其他程序员想一起创业的各种信息。后来才知道这本书的作者收入太低了(作者收入有两种:一种是稿费,30元/页;一种是稿费,5%左右),而且培训公司的投入产出比明显高很多,所以我开始接受一些培训(频率不高),一年七八次。当时比较强的培训主要是这几个技术方面的,比如C/C++/Java、Unix系统编程、多层软件架构、软件测试、软件工程等。另一个我喜欢做内训的主要原因就是可以进去了解各个公司在做什么,遇到的技术痛点,以及里面工程师的想法。这大大增加了我对社会的认识和认识。同时,我这个原本不善于表达的技术人员,在语言组织和表达方面有了很大的提高。也有一些软件开发的私活,我基本都拒绝了。主要是这些软件开发基本都是功能开发,我无法从中成长。而且后期会有很多维护工作。虽然一个小项目能赚几十万,但花在上面的时间是我人生中最宝贵的时间,得不偿失。25~35岁是每个人最宝贵的时间,应该好好利用。事业上升期因为这些经历,让我感受到了一个人的知识和技能的价值。我开始把时间投入到一些主流的、先进的、更具挑战性的技术上,这让我保持了两点:一是领先的技术和技能,二是对技术本质和趋势的敏感度。因此,我有一种强烈的愿望,想去尖端的公司去体验和学习这些东西。比如我在汤森路透学到了人事团队管理的各种知识和技能,亚马逊是让我提升最快的公司。虽然亚马逊也有很多不好的地方,但是它的一些概念确实让我的思维方式和思考问题有了质的飞跃。所以后来,我开始输出的不仅仅是技术,还有一些技术价值。从亚马逊到阿里巴巴是我在互联网行业的工作经历。这两次经历让我对这两家看似相似却截然不同的成功企业有了更全面的认识和看法。这两种截然不同甚至有些矛盾的玩法让我不时思考,就像两个反派在我的脑海里扭动着手臂。这可能是我从小被灌输的“标准答案”思维方式造成的。其实这个世界上并没有标准答案,或者说,一个问题可以有好几个正确答案,而这些“正确答案”还是很矛盾的。因此,我在记录一些价值观和想法的同时,自然引起了很多人的关注,引来了很多不同的想法交织讨论。另一方面,这对我来说是一个很好的补充。别人骂我也好,教育我也好,都对我有帮助,极大地丰富了我的思维角度。这些经历让我的思维方式有了质的提升,对技术问题的看法也发生了比较大的变化。而这种变化让我有了更高层次的思考和更广阔的视野。可能是因为我有一些“独特”的想法,丰富的经验,扎实的基础,让我对技术人的认识和理解更加透彻和深入。所以,也有一些小名气。越来越多的人向我寻求建议和帮助解决问题,我开始收取越来越多的费用。这里需要说明的是,我是完全被动收取高额费用的。因为父亲身体不好,我不能全职工作,就成了自由人。也正因为如此,我才有机会为更多的公司解决技术问题。2015年,某公司后台系统一上线就崩溃,性能出现问题。请让我看看。我花了两天时间和他们的工程师简单处理了一下,直接在产线上重构,性能翻了10倍。这样做虽然有些低级,但也纯粹是为了应急。公司老总很高兴,觉得自己投入的几百万宣传费省了,一下子给了我10万元。我说不用那么多,一万元就够了,他说就这么多了。我欣然接受了,当时我被对技术的尊重所感动。2016年,某公司需要做一个高并发的方案,需要2000万左右的QPS,但是他们只能做到1200万左右的QPS。我花了两天时间做调研,分析性能原因,然后一天写了700多行代码。因为不想入行,所以主要优化网络数据传输,让数据包尽量小,保证一个请求的响应在一个MTU以内传输。测试期间达到了2500万QPS。于是老板给了我20万。还有很多这样的例子。在上面的例子中,我什至没有谈论钱就做到了。本以为最多也就一万块钱左右,没想到奖励大大出乎我的意料。在这里,我想说的是,并不是社会不尊重程序员。只要能帮上大忙,就一定会赢得别人的尊重。所以,我和一些人开玩笑说我们可能都在写同样的for(inti=0;i。不要误会我的意思,我只是想用这种“鲜明对比”来强化我的观点。上面是我的这20年的经历,相信大家有过这样的经历,或者正在经历,欢迎大家分享自己的经历和体会。那么,如何让自己的技术受人尊重呢?如何通过技术和技能赚钱?在一篇文章中,我将对此做一些总结,希望对你有所帮助。
