程序员如何⽤技术变现?
导读:从事编程这个事可以做到,完全靠⾃⼰的⼿艺、不依赖任何⼈或公司去⽣活的。但道理我都懂,怎么做才是关键。本⽂摘⾃左⽿朵耗⼦。
正⽂
1 写在前⾯
  程序员⽤⾃⼰的技术变现,其实是⼀件天经地义的事⼉。写程序是⼀门“⼿艺活⼉”,那么作为⼿艺⼈,程序员当然可以做到靠⾃⼰的⼿艺和技能养活⾃⼰。
  然⽽,现在很多⼿艺⼈程序员却说⾃⼰是“码农”,编码的农民⼯,在⼯作上被各种使唤,各种加班,累得像个牲⼝。在职业发展上各种迷茫和彷徨,完全看不到未来的希望,更别说可以成为⼀个⼿艺⼈⽤⾃⼰的技能变现了。
  从⼤学时代帮⼈打字挣点零花钱,到逐渐通过⾃⼰的技能帮助别⼈,由此获得相对丰厚的收⼊,我在很早就意识到,从事编程这个事可以做到,完全靠⾃⼰的⼿艺、不依赖任何⼈或公司去⽣活的。
  这对于程序员来说,本就应该是件天经地义的事,只是好像并不是所有的程序员都能意识到⾃⼰的价值。
这⾥,我想结合我的⼀些经历来跟你聊聊。当然,我的经历有限,也不⼀定全对,只希望能给你⼀个参考。
2 学⽣时代
  我是 1994 年上的⼤学,计算机科学软件专业。在 1996 年上⼤⼆的时候,因为五笔学得好打字很快,我应征到教务处帮忙,把⼀些⽂档录⼊到电脑⾥。打了三个⽉的字,学校按照每千字 10 元,给了我 1000 元钱。
  由于我的五笔越打越快,还会⽤ CCED 和 WPS 排版,于是引起了别⼈的注意,叫我帮忙去他的打字⼯作室,⼀个⽉收⼊ 400 元钱。我的⼤学在昆明,这相当于当地收⼊的中上⽔平了。
  后来,1997 年的时候,我帮⼀个开公司的⽼师写⼀些 MIS 软件,⽤ Delphi 和 PowerBuilder 写⼀些办公⾃动化和酒店管理的软件。⼀年后,⽼师给了我 2000 元钱。
  因为动⼿能⼒⽐较强,当时系上的⽼师要⼲个什么事都让我帮忙。⽽且,因为当时的计算机⼈才太少太少了,所以⼀些社会上的⼈需要开发软件或是解决技术问题也都会到⼤学来。基本上⽼师们也都推荐给我。
  还记得 1997 年⽼师推荐⼀个⼈来我,问会不会做⽹页?5 个静态页,10000 元钱。当时学校没教
怎样做⽹页,我去书店书看,结果发现书店⾥⼀本讲 HTML 的书都没有,只好回绝说“不会做”。⼀年后,我才发现原来这事简单得要命。
3 初⼊职场
  到了 1998 年,我毕业参加⼯作,在⼯商银⾏⽹络科。由于可以拨号上⽹,于是我做了⼀个个⼈主页,那时超级流⾏个⼈主页或个⼈⽹站。我⼀边收集⽹上的⼀些知识,⼀边学着做些花哨的东西,⽐如⽹页上的菜单什么的。
  在 2000 年时,被《电脑报》的编辑看上了,写来邮件约我投稿。我就写了⼀些如何在⽹页上做菜单之类的⼩技术⽂章,每个⽉写个两三篇,每个⽉有个 300 元左右的稿费,当时我的⽉⼯资 600 元。
  现在通过⽂章标题还能到⼀两篇,⽐如《抽屉式菜单的设计》,已经是乱码⼀堆了。⼤学时代被⼈请去做事的经历对我影响很⼤,甚⾄在潜意识⾥完全影响了我如何规划⾃⼰的⼈⽣。虽然当时我还说不清楚,只是⼀种强烈的感觉——我完全可以靠⾃⼰的⼿艺、不依赖任何⼈或公司去⽣活。
  我想这种感觉,我现在可以说清楚了,这种潜意识就是——我完全没有必要通过打⼯听⼈安排⽽活着,⽽是反过来通过在公司⼯作提⾼⾃⼰的技能,让⾃⼰可以更为独⽴和⾃由地⽣活。
  因⽽,在⼯作当中,对于那些没什么技术含量的⼯作,我基本上就像是在学⽣时代那样交作业就好了。
我想尽⼀切⽅法提⾼交作业的效率,⽐如,提⾼代码的重⽤度,能⾃动化的就⾃动化,和需求⼈员谈需求,简化掉需求,这样我就可以少⼲⼀些活了……
  这样⼀来,我就可以有更多的时间,去研究公司⾥外那些更为核⼼更为有技术含量的技术。
  在⼯作中,我总是能被别⼈和领导注意到,总是有⽐别⼈更多的时间去读书,去玩⼀些⾼技术含量的技术。当然,这种被“注意”,也不全然是⼀种好事。
  2002 年,我被外包到银⾏⾥做业务开发时,因为我完成项⽬的速度太快,所以,没事⼲,整天在⽤户那边看书,写别的代码练⼿,⽽被⽤户投诉“不务正业”。我当然对这样的投诉置之不理,还是我⾏我素,因为我的作业已交了,⽤户也就是说说罢了。
  同年,我到了⼀家新的很有技术含量的公司,他们在⽤ C 语⾔写⼀个可以把⼀堆 PC 机组成⼀个超级计算机,进⾏并⾏计算的公司项⽬。
  当我做完第⼀个项⽬时,有个公司⾥的⽜⼈和我说,你⽤ Purify 测试⼀下你的代码有没有内存问题。Purify 是以前⼀个叫 Rational 的公司(后来被 IBM 收购)做的⼀个神器,有点像 Linux 开源的 Valgrind。
  ⽤完以后,我觉得 Purify 太厉害了,于是把它的英⽂技术⽂档通读了⼀遍。经理看我很喜欢这个东西,
就让我给公司⾥的⼈做个分享。
我认真地准备了个 PPT,结果只来了⼀个 QA。我在⼀个⼤会议室就对着她⼀个⼈讲了⼀个半⼩时。这个 QA 对我说,“你的分享做得真好,条理性很强,也很很楚,我学到了很多东西”。
  有了这个正向反馈,我就把关于 Purify 的⽂章分享到了我的 CSDN 博客上,标题为《C/C++ 内存问题检查利器—Purify》。可能因为这个软件是收费的,⽤的⼈不多,这篇⽂章的读者反响不⼤。
  但是,2003 年的⼀天我很意外地接到了⼀个电话,是⼀个公司请我帮忙去给客户培训 Purify 这个软件。IBM 的培训太贵了,所以代理这个软件的公司为了成本问题,想⼀个便宜的讲师。
  他们搜遍完整个中国的互联⽹,只看到我的这篇⽂章,便通过 CSDN 到我的联系⽅式,给我打了电话。最终,两天的培训价格税后⼀共 10000 元钱,⽽我当时的⽉薪只有 6000 元钱,还是税前。这件事⼉让我在⼊⾏的时候就明⽩了⼀些道理。
要去经历⼤多数⼈经历不到的,要把学习时间花在那些⽐较难的地⽅。
要写⽂章就要写没有⼈写过的,或是别⼈写过,但我能写得更好的。
更重要的是,技术和知识完全是可以变现的。
现在回想⼀下,技术和知识变现这件事⼉,在 15 年前我就明⽩了,哈哈!随后,我在 CSDN 博客上发表了很多⽂章,有谈 C 语⾔编程修养的⽂章,也有⼀些 makefile/gdb ⼿册性的⽂章,还有在⼯作中遇到的各种坑。
  因为我分享的东西⽐较系统,也是独⼀份,所以,搜索引擎⾃然是最优化的(最好的 SEO 就是独⼀份)。我的⽂章经常因为访问量⼤被推到 CSDN ⾸页。因此,引来了各种培训公司和出版社,还有⼀些别的公司主动发来的招聘,以及其他⼀些程序员想伙同创业的各种信息。了解到,出书作者收⼊太低(作者的收⼊有两种:⼀种是稿费,⼀页 30 元;⼀种是版税,也就 5% 左右),⽽培训公司的投⼊产出⽐明显⾼很多后,我开始接⼀些培训的事(频率不⾼),⼀年有个七⼋次。当时需求⽐较强的培训主要是在这⼏个技术⽅⾯,C/C++/Java、Unix 系统编程、多层软件架构、软件测试、软件⼯程等。
  我喜欢做企业内训,还有⼀个主要原因是,可以⾛到内部去了解各个企业在做的事和他们遇到的技术痛点,以及⾝在其中的⼯程师的想法。这极⼤地增加了我对社会的了解和认识,这对我来说是⾮常重要的。⽽同时,让我这个原本不善表达的技术⼈员,在语⾔组织和表达⽅⾯有了极⼤的提升。
  其间也有⼀些软件开发的私活⼉,但我基本全部拒绝了。最主要的原因是,这些软件开发基本上都是功能性的开发,我从中⽆法得到成长。⽽且后期会有很多维护⼯作,虽然⼀个⼩项⽬可以挣⼗⼏万,但为此花费的时间都是我⼈⽣中最宝贵的时光,得不偿失。
  25~35 岁是每个⼈最宝贵的时光,应该⽤在⼑刃上。
4 职业上升期
  因为有了这些经历,我感受到了⼀个⼈知识和技能的价值。我开始把我的时间投在⼀些主流、⾼级和⽐较有挑战性的技术上,这可以让我保持两件事⼉:⼀个是技术和技能的领先,⼆是对技术本质和趋势的敏感度。
  因此,我有强烈的意愿去前沿的公司经历和学习这些东西。⽐如,我在汤森路透学到了⼈员团队管理上的各种知识和技巧,⽽亚马逊是让我提升最快的公司。虽说,亚马逊也有很多不好的东西,但是它的⼀些理念,的确让我的思维⽅式和思考问题的⾓度有了质的飞跃。
  我开始对外输出的不仅仅是技术了,还有⼀些技术价值观上的东西。⽽从亚马逊到阿⾥巴巴是我在互联⽹⾏业的⼯作经历,这两段经历让我对这两家看似类似但内部完全不同的成功⼤公司,有了更为全⾯的了解和看法。
  这两种完全不⼀样甚⾄有些⽭盾的玩法让我时常在思考着,⼤脑⾥就像两个⼩⼈在扳⼿腕⼀样,这可能是我从⼩被灌输的“标准答案”的思维⽅式所致。其实,这个世界本来就没什么标准答案,或是说,⼀个题⽬本来就可以有若⼲个正确答案,⽽且这些“正确答案”还很⽭盾。
  于是,在我把⼀些价值观和思考记录下来的同时,我⾃然⼜被很多⼈关注到了,还吸引很多不同的思路在其中交织讨论。⽽从另外⼀⽅⾯来说,这对我来说是⼀个很好的补充,⽆论别⼈骂我也好,还是教育我,都对我有帮助,⼤⼤地丰富了我思考问题的⾓度。
  这些经历从质上改善了我的思考⽅式,让我思考技术问题的⾓度都随之有了⼀个⽐较⼤的转变。⽽这个转变让我有了更⾼的思维⾼度和更为开阔的视野。
  可能是因为我有⼀些“独特”的想法,⽽且经历⽐较丰富,基础也⽐较扎实,使得我对技术⼈的认识和理解会更为透彻和深⼊。所以,也有了⼀些⼩名⽓。来我做咨询和帮助解决问题的⼈越来越多,⽽我也开始收费收得越来越贵了。这⾥需要注意的是,我完全是被动收费⾼的。
  因为⽗亲的⾝体原因,我没有办法全职,所以成了⼀个⾃由⼈。⽽也正因如此,我才得以有机会可以为好多公司解决技术问题。2015年,有家公司的后端系统⼀推⼴就挂,性能不⾜,请我去看。
  我花了两天时间跟他们的⼯程师⼀起简单处理了⼀下,直接在⽣产线上重构,性能翻了 10 倍。虽然这么做有点 low,但当时完全是为了救急。公司⽼板很⾼兴,觉得他投的⼏百万推⼴费⽤有救了,⼀下给了我 10 万元。我说不⽤这么多的,1 万元就好了,结果他说就是这么多。我欣然接受了,当时⼼⾥有⼀种技术被尊重的感动。
  2016 年,某个公司需要做⼀个⾼并发⽅案,⼤概需要 2000 万 TPS,我给他们做了⼀个。但是他们只能实现到 1200 万 TPS 左右,⼜把我请去了。
  我花了两天时间做调研,分析性能原因,然后⼀天写了 700 多⾏代码。因为不想进⼊业务,所以我主要是优化了⽹络数据传输,让数据包尽量⼩,确保⼀个请求的响应在⼀个 MTU 内就传完。
  测试的时候,达到了 2500 万 TPS。于是⽼板给了我 20 万。
  这样的例⼦还有很多。上⾯的例⼦,我连钱都没谈就去做了,本来想着,也就最多 1 万元左右,没想到给我的酬劳⼤⼤超出了我的期望。
  这⾥,我想说的是,并不是社会不尊重程序员,只要你能帮上⼤忙,就⼀定会赢得别⼈的尊重。
  所以,我和⼀些⼈开玩笑说,我们可能都是在写⼀样的for(int i=0; i<n; i++)语句,但是,你写在那个地⽅⼀⽂不值,⽽我写在这个地⽅,这⾏代码就值 2000 元。不要误会,我只是想⽤这种“鲜明的⽅式”来加强我的观点。
  我不算是聪明的⼈,经历也不算特别成功,但⼀步⼀步⾛来,我认为,我能做到的,你⼀定也能做到,⽽且应该还能做得⽐我更好。
5 如何让⾃⼰的技能变现
  还是那句话,本质上来说,程序员是⼿艺⼈,有⼿艺的⼈就能做出别⼈做不出来的东西,⽽付费也是⼀件很⾃然的事了。那么,这个问题就成了,如何让⾃⼰的“⼿艺”更为值钱的问题了。
  第⼀,千⾥之⾏,积于跬步。任何⼀件成功的⼤事,都是通过⼀个⼀个的⼩成功达到的。所以,你得确保你有⼀个⼀个的⼩成功。
  具体说来,⾸先,你得让⾃⼰⾝边的⼈有求于你,或是向别⼈推荐你。这就需要你能够掌握⼤多数⼈不能掌握的技能或技术,需要你更多地学习,并要有更多的别⼈没有的经验和经历。
  ⼀旦你⾝边的⼈开始有求于你,或是向别⼈推荐你,你就会被外部的⼈注意到,于是其他⼈就会付费来获取你的帮助。⽽⼀旦你的帮忙有效果的话,就会产⽣效益,⽆论是经济效益还是社会效益,都会为你开拓更⼤的空间。
  你也会因为这样的正向反馈⽽⿎励⾃⼰去学习和钻研更多的东西,从⽽得到⼀个正向的循环。⽽且这个正向循环,⼀旦开始就停不下来了。
  第⼆,关注有价值的东西。什么是有价值的东西?价值其实是受供需关系影响的,供⼤于求,就没什么价值,供不应求,就有价值。这意味着你不仅要看到市场,还要看到技术的趋势,能够分辨出什么是主流技术,什么是过渡式的技术。当你⽐别⼈有更好的嗅觉时,你就能起动得更快,也就⽐别⼈有先发优势。
关于市场需求。要看清市场,就需要看看各个公司在做什么,他们的难题是什么。简单来说,现在的每家公司⽆论⼤⼩都缺⼈。是真的缺⼈吗?中国是⼈⼝⼤国,不缺写代码搬砖的,真正缺的是有能⼒能够解决技术难题的⼈,能够提⾼团队⼈效的⼈。所以,从这些⽅⾯思考,你会知道哪些技能才是真正的“供不应求”,这样可以让你更有价值。
关于技术趋势。要看清技术趋势,你需要了解历史,就像⼀个球运动⼀样,你要知道这个球未来运动的地⽅,是需要观察球的已经完成运动的轨迹才知道的。因此,了解技术发展轨迹是⼀件很重要的事。要看⼀个新的技术是否顺应技术发展趋势,你需要将⼀些⽼技术的本质吃得很透。
因此,在学习技术的过程⼀定要多问⾃⼰两个问题:“1. 这个技术解决什么问题?为什么别的同类技术做不到?2. 为什么是这样解决的?有没有更好的⽅式?”另外,还有⼀个简单的判断⽅法,如果⼀个新的技术顺应技术发展趋势,那么在这个新的技术出现时,后⾯⼀定会有⼤型的商业公司⽀持,这类公司⽀持得越多,就说明你越需要关注。
  第三,到能体现价值的地⽅。在⼀家⾼速发展的公司中,技术⼈员的价值可以达到最⼤化。
  试想,在⼀家⼤公司中,技术架构和业务已经定型,基本上没有什么太多的事可以做的。⽽且对于已经发展起来的⼤公司来说,往往稳定的重要性超过了创新。此外,⼤公司的⾼级技术⼈员很多,多你⼀个不多,少你⼀个不少,所以你的价值很难被体现出来。
  ⽽刚起步的公司,业务还没有跑顺,公司的主要精⼒会放在业务拓展上,这个时候也不太需要⾼精尖的技术,所以,技术⼈员的价值也体现不出来。
  只有那些在⾼速发展的公司,技术⼈员的价值才能被最⼤化地体现出来。⽐较好的成长路径是,先进⼊⼤公司学习⼤公司的技术和成功的经验⽅法,然后到⾼速成长的公司,可以实现⾃⼰更多的价值。当然,这⾥并不排除在⼤公司中到⾼速发展的地⽅。
  第四,动⼿能⼒很重要。成为⼀个⼿艺⼈,动⼿能⼒是很重要的,因为在解决任何⼀个具体问题的时候,有没有动⼿能⼒就成为了关键。这也是我⼀直在写代码的原因,代码⾥全是细节,细节是魔⿁,只有了解了细节,你才能提出更好或是更靠谱的并可以落地的解决⽅案。⽽不是⼀些笼统和模糊的东西。这太重要了。
  第五,关注技术付费点。技术付费点基本体现在两个地⽅,⼀个是,能帮别⼈“挣钱”的地⽅;另⼀个是,能帮别⼈“省钱”的地⽅。也就是说,能够帮助别⼈更流畅地挣钱,或是能够帮助别⼈提⾼效率,能节省更多的成本,越直接越好。⽽且这个技术或解决⽅案最好还是⼤多数⼈做不到的。
  第六,提升⾃⼰的能⼒和经历。付费的前提是信任,只有你提升⾃⼰的能⼒和经历后,别⼈才会对你有⼀定的信任,才会觉得你靠谱,才会给你机会。⽽这个信任需要⽤你的能⼒和经历来填补。⽐如,你是⼀个很知名的开源软件的核⼼开发⼈员,或是你是某知名公司核⼼项⽬的核⼼开发⼈员,等等。
  第七,到有价值的信息源。信息社会,如果你⽐别⼈有更好的信息源,那么你就可以⽐别⼈成长得更快。对于技术⼈员来说,我们知道,⼏乎所有的技术都源⾃西⽅世界,所以,你应该⾛到信息的源头去。
  如果你的信息来⾃朋友圈、微博、知乎、百度或是今⽇头条,那么你完蛋了。因为这些渠道有价值的信息不多,有营养的可能只有1%,⽽为了这 1%,你需要读完 99% 的信息,太不划算了。
  那么如何到这些信息源呢?⽤好 Google 就是⼀个关键,⽐如你在 Google 搜索引擎⾥输⼊“XXX Best Practice”,或是“Best programming resource”……你就会到很多。⽽⽤好这个更好的信息源需要你的英⽂能⼒,因此不断提升英⽂能⼒很关键。
  第⼋,输出观点和价值观。真正伟⼤的公司或是产品都是要输出价值观的。只有输出了更先进的价值观,才会获得真正的影响⼒。但是,你要能输出观点和价值观,并不是⼀件容易的事,这需要你的积累和经历,⽽不是⼀朝之功,需要长期积累。因此,如果想要让你的技能变现,这本质上是⼀个厚积薄发的过程。
  第九,朋友圈很重要。⼀个⼈的朋友圈很重要,你在什么样的朋友圈,就会被什么样的朋友圈所影响。如果你的朋友圈⽐较优质,那么给你介绍过来的事⼉和活⼉也会好⼀些。优质的朋友圈基本上都有这样的特性。
这些⼈都⽐较有想法、有观点,经验也⽐较丰富;
这些⼈涉猎的⾯⽐较⼴;
这些⼈都有或多或少的成功;
这些⼈都是喜欢折腾喜欢搞事的⼈;高级java程序员掌握技能
这些⼈都对现状有些不满,并想做⼀些改变;
这些⼈都有⼀定的影响⼒。
最后有个关键的问题是,物以类聚,⼈以分。如果你不做到这些,你怎么进⼊到这样的朋友圈?
  总之,就⼀句话,会挣钱的⼈⼀定是会投资的⼈。我⼀直认为,最宝贵的财富并不是钱,⽽是你的时间,时间⽐钱更宝贵,因为钱你不⽤还在那⾥,⽽时间你不⽤就浪费掉了。你把你的时间投资在哪些地⽅,就意味着你未来会⾛什么样的路。所以,利⽤好你的时间,投到⼀些有意义的地⽅吧!
  我的经历有限,只能看到这些,还希望⼤家⼀起来讨论,分享你的经验和⼼得,也让我可以学习和提⾼。
6. 技能变现的机会
如果你对本⽂有兴趣!我们公司可以提供很好的平台。下⾯贴出来我们,专兼职均可,有兴趣可以发送给我简历。
公司简介:互联⽹时代信息⽆处不在,我们⽇常所接触的⼤量信息例如微博、社交媒体⽹站的帖⼦、消费者点评、新闻、销售⼈员的拜访记录,这些都是常见的⾮结构化数据来源。
⾮结构化数据分析能够揭⽰潜藏在⽂本当中的趋势和关联,为商业决策、研究⾏业趋势和热点内容分析提供有⼒⽀持。
⼭东纬横数据公司是⼀家以互联⽹搜索引擎技术为导向的⼤数据分析服务商,专注为⽤户建⽴数据资产,提供互联⽹数据监测和数据分析服务,并实现其价值。
公司主要⾯向医院、医疗、⾷品、药品、在线旅游、健康等领域提供数据分析、数据挖掘、舆情监控等技术服务。
纬横团队致⼒于打造最出⾊的中⽂语义分析技术,通过⾃主研发的中⽂分词、句法分析、搜素引擎和实体识别技术,结合海量⾏业语料的不断积累,
为企业客户(营销、公关、客服、销售和产品部门)、研究机构和政府部门等提供数据监测和采集、分析和可视化以及专业服务,增强⽤户在⼤数据时代的竞争⼒。
职位要求:
1. 扎实的算法与数据结构功底,对新的知识和技术有强烈热情;
2. 具有较强的分析和解决问题的能⼒;
3. 拥有良好的编程习惯;
4. 熟悉⾄少⼀门⾼级编程语⾔(例如 Python/C++/JAVA )并有实际开发的经验。