2019年,我自认为本职和副业都不错,而且副业的收入能抵消掉工资里扣去的所得税以及缴纳的各种社保,不过似乎收入就有些靠近瓶颈了。经过和师傅的沟通,再结合我最近的切实感受,我感受到,虽然挣钱需要靠关系,得靠名声,但更需要靠实际掌握的技术,而且技术上去了,挣钱的渠道也会大大拓展,挣钱的效率也能大大提升。
我不后悔各种提升收入的尝试,但同时应该及时从各种探索里不断更新挣钱的方法,所以在这篇文章里,将盘点前段时间挣钱的各种感受,并归纳后继发展的方向。
1 盘点我写的书(没广告),再对比畅销书,制定后继的写书计划
从16年底到现在,我一共写完了4本书,两本java面试书,一本spring cloud入门书,一本用股票入门python技术的书。
其中一本java面试书大概销了3000册,卖不动了,另一本java面试书大概卖了4000本左右,spring cloud书,预计第一次印刷的能卖完。这个量虽然达标,出版社也能小挣一笔,但没到畅销的地步,另外一本以股票案例讲述python的书还没开始卖,希望也能过5000吧。
按普遍的标准,一般能卖出1万+的书是畅销书,畅销书固然得靠推广,文字得吸引人,但作者内心更得有丘壑。我看到的畅销书,有从spring cloud底层讲透技术的,有在并发方面讲得非常到位的,也有讲各种中间件使用经验的,其中包含的技术含量远超我的书,而且其中浓缩的经验我也远不能及。
也就是说,畅销书的内容可以面向初学者,但作者本身的技能不能仅停留在高级开发阶段。和写博文和出专栏相比,写书更能系统地整理和提升自己的技术,在后面,我将静下心来,结合项目实践积淀些基于机器学习的数据分析技巧,在此基础上写本Python数据分析的书,以此来提升我Python方面的名与实。此外,更将在我的老本行Java方面,结合各种并发的中间件框架,再深入了解诸如mycat,kafka等组件的底层细节,写一本Java高并发的书。
也就是说,在写书方面,我真切地体会到了技术对挣钱的加成,技术没达到一定的层次,写出的内容可能更多会有华而不实的堆砌辞藻,技术上最多只能帮助读者缩短半年的探索时间,而其中一些看似吸引人的热闹词汇只能让人感觉作者缺乏必要的技术内涵。根据我后面的写书计划,是先整理技能,再盘点项目经验,着重列举各种对初学者的“坑”,所谓厚德载物,这样才能有谈“畅销书”的资本,在这基础上才能谈“名利双收”。
2 再观察录视频,也是技术含量越高的视频越好卖
前段时间,我也录制了若干视频,其中着重是探索这条挣钱途径,录制的视频本身时长并不多。同时我观察了一些热卖的视频,比如深入底层讲spring的,结合框架讲高并发分布式的。这些视频都包含了较高的技术含量。
倒是有人找我录系列视频课,是讲netty的,得从协议、框架和底层代码方面讲述netty的使用经验,可以想象,如果能做成,花费的时间最多也就在3个月左右,但收益估计能有2万左右,这个性价比很高。但我当时对netty组件也仅仅停留在“会用”方面,最多也只能根据些“面试宝典”唬住初级架构师,所以当时就没接,当时我感觉非常可惜。
根据我和一些视频网站的交流,能卖好价钱的视频课程绝不能停留在简单搭建脚手架项目的层面,得底层讲透,结合集群实现容错和负载均衡,外带部署和常用问题排错,也就是说,至少达到了高级架构师的要求。而一些作者内涵不够的视频教程,或许也能有收入,但这种小打小闹的收入估计和搬砖差不多少。
3 线下培训,也非常缺精通高端技术的老师
在前一段时间里,我也尝试过线下的培训,还是这句话,培训初级技术的,目前做的人太多,基本市场已经饱和了,但高端培训老师非常欠缺。
比如讲java入门级技能,培训班满大街都是,哪怕再生动,市场也饱和了,如果就讲架构的应用,最然说技术含量有所增加,但这类老师也不少。但是,如果结合能企业应用讲透一套企业级解决方案,或者能从开发到部署到调试这整套流程入手,讲清楚框架体系的实施方式,或者能用业务结合算法的方式,讲述目前比较热门的机器学习方案,这类老师是有价无市的,往往一个周末去做个企业培训,就能挣几万。
4 对比我师傅的技术文,说说哪些技术值钱?如何培养值钱的技术
在刚才的文章里,我反复提到了值钱的技术,那么哪些技术算值钱呢?
先给出我师傅的两篇博文:解Bug之路-记一次调用外网服务概率性失败问题的排查 和解Bug之路-记一次中间件导致的慢SQL排查过程。
从中观察下,精通值钱技术的程序员具有哪些特质?
1 框架了解到底层。
2 基于高并发场景,全栈性了解分布式组件。
3 善于debug到组件底层的代码 4 技术能应用于业务,而且能排查业务场景里的问题。
再细化到技术层面,我们不应该简单地浅尝辄止,而应该继续深入掌握如下的技术,并能熟练地使用在项目了。
1 各分布式组件的搭建与调试。
2 能在linux搭建各组件,并配置集群。
3 熟悉掌握通过各种工具(比如zabbix)进行压测的方式,并能通过压测优化系统性能。
至于如何让自己掌握这些值钱的技术,我的体会如下。
1 先动手搭建些比较简单的demo程序。通过运行搭建好的包含各组件的系统,这样能掌握入门级的知识。
2 着重看些“百万级并发量”的技术文章,围绕这一主题,就看如何使用各种组件。
3 再找些解决实际案例的文章,比如就像刚引述的我师傅写的文章,再结合项目锻炼一阵子。
4 经过一段时间的实践,再回过头看底层代码。
按上述方法我实践了一段时间,至少我在分布式组件方面,能去参加高级架构的面试了,而且随着技术的提升,我去寻找各种机会的时候,感觉视野开拓了许多。
5 静下心来,说下我最近的打算
反思我的技能水平,我目前的挣钱模式就好比是搬砖,哪怕早起晚睡,最多也只能多搬几块砖,哪怕再出去多找挣钱的渠道,就像多去找几家肯让我搬砖的工地。在目前的阶段,或者我自己当包工头,手头雇几个人帮我一起干,但我有本职工作,这种方式似乎不大可行。所以我最近打算静下心来提升技能,或许后面就不用搬砖了,可以靠开挖掘机挣些更些技术含量更高的钱了。
说笑了,我目前好歹也有大公司的加成了,技术上也有努力的方向,所以后面的这段时间,我可以通过如下的方式提升技术。
1 我目前正好在做k8s, docker这类云相关的,我可以结合业务,挖掘些技术细节,这方面我有天然的优势。
2 我手头有个图书选题,是结合诸多中间件技术讲java并发的,在写这本书的时候,我正好可以借这个机会,深挖诸多框架技术的细节,有问题就向我师傅请教。
3 对于一些技术含量较低的活,比如讲java入门级的课,我也得在其中加入框架、底层和组件之类的知识点,以此来不断整理我的知识体系。
4 回想我这两年进步的过程中,博客园对我的帮助很大,所以我会继续尽力产出高质量的博文,以此来总结我在提升技术路上的感受。
等我技术足以能货真价实地达到高级架构师的水平后,再去尝试录制高端视频,再去尝试高端培训,再以我的技术去结交些技术大牛,到那个时候,或许挣钱的局面就能大大改观了。
6 总结:有些小绝望,但努力才有希望
我之前写过篇博文:在上海软件行业,我见到的年入50万的众生相——我们该如何努力从而达到这个目标,到目前为止,我的收益虽然没到这个水平,但增加幅度不少。不过话又说回来,在上海年入50万又怎么样呢?上海市中心的房价,8万一平算便宜,城市边缘的房价,2万一平也不算贵。
我很羡慕那些年入动辄几百万的人,但羡慕没用,总得一步步通过试错,找到适合自身的提升收入的途径。而且,五年前的我甚至无法想象现在的挣钱模式和规模,指不定我通过提升技术等努力尝试,歪打正着地实现在市中心再买套房的愿望。