上一篇文章,我讲了程序员焦虑的本质,以及提出了时间管理和任务清单的解决办法,把工作效率优化,把时间腾出来。
那多出来的时间,用来干什么呢?
我们先回到一个基础概念,程序员上班,主要是进行编程,写代码,然后公司给一定的报酬。
那公司是如何赚钱的呢?公司让程序员做的业务,一般是根据市场来的,或者说是客户定制。来源无非两个,一个是有甲方,一个是有市场需求。
举例来说,之前我待的外包公司,就是公司接单,然后让程序员配合来开发,按期交付产品。
客户那边比如给了500w,公司给员工总花费300w,结余就是公司利润。
就跟之前有很多外包公司在接应用开发单子,记得当时一月1.2w薪资,要求每月做5个项目,做完之后如果还有精力,新开发一个应用是3k。
很多程序员不去思考公司的盈利模式,所以总是会限在一个逻辑里面,我怎么把工作做好,怎么表现公司能够给奖励。
但实际公司要给你奖励的前提是,公司有额外的收益,否则它不会平白无故给你奖励。
所以程序员在真正做业务的时候,一定要思考整个的赚钱路径,你开发的产品,是提供给谁,市场大概给多少报酬,哪块技术值钱,能够自己开发胜任?
很多年前,我在做一款游戏,游戏画质很差,是rgb565编码,而要在电脑上玩,就会发现画质呈现块状,马赛克,游戏体验很差。
于是就需要研究算法,当时从很多开源项目里面,抽离算法部分,比如hq2x,比如xbrz2算法,加上还有opengles的渲染,来提升画质。
在这个过程里面,发现有人卖c#的游戏图像算法,卖了几十万收益,就是做了30多种游戏算法,配上效果。
而程序员不卖程序,一般都是因为没有调研市场,说的直白一点,就是眼里只有工作,公司,如何好好工作,让公司看到,然后年终奖多发一点。把自己的视野局限在了公司这个场景下,导致没有从更大的市场思考问题。
在程序员的成长过程里面,第一件事就是跳出配角的思维,要跳脱出公司的束缚,来思考自身价值。
公司招人做产品,必然是有利可图的,所以琢磨清楚公司盈利模式,然后找到匹配的商业价值,然后开发产品,进行兜售。
记得之前刚开始做安卓开发,接了一个杂志的开发,那时候布局都不熟,却要做非常复杂的界面操作,当时连轴转了一个月,终于交付。
在过程里面,有多次崩溃瞬间。因为技术问题,只能自己解决,是非常有挑战的。有时候网上是没有资料,没有答案,就只能自己琢磨,去测试。
要知道这种商单,客户需求合理的情况下,你的任务就是实现,没有理由。
当你独立去开发一个产品的时候,面对的挑战会非常大,一个是技术攻克,一个是业务谈判,还有需求沟通,时间规划,它要你的是综合能力。
而最终回报刚开始有可能不划算,但一定要去做,并且坚持下来。因为这是一次完整的提升自己的机会,也是很多程序员会天然惧怕的事。
很多程序员不卖程序,说到底就是觉得太累,或者是没有定位产品。
一个商业化的产品,要求是非常高的,客户付费了就是要配合优化,很多程序员写的代码,商业价值不大。
说的再直接一点,就是很多程序员做的事情,就是一个体力活,只是看似高级,这部分可以称之为码农。
大多数程序员有个比较要命的缺点,就是工作是工作,工作完了后就直接躺平。这是很多程序员在多年工作之后,突然产生危机的根本原因。
停滞不前,总是把自己定位到好好工作就行,到点就会发工资,然后拼命加一些班多一些奖金。当突然把公司撤掉,或者说市场突然变化,就会陷入死局,技术没有价值,而自己没有第二选择。
程序员写的代码,只有有人要才有价值,才能变现,这句话一定要牢记心里。没有市场价值的代码,就是一堆垃圾,毫无用处。
很多人没有意识到这点,是因为公司在做这个事情,这就导致很多人以为自己做了多大贡献,有可能只是公司还有盈利,没有裁员的必要。
要把自己和公司的关系,转化成买方卖方的关系,也就是公司一定是买了你什么价值,并且这个价值是能够产生收益的。
程序员喜欢炫耀的是自己做了多牛的功能,但公司却不买账,实际就是没有产生价值,没有变现。没有功劳也有苦劳,这句话很多人都信以为真,却不知道在市场现实里面,没有结果的苦劳,只是安慰自己罢了。
而程序员的主要能力,就是编程开发,而去上班是大多数人的选择,因为旱涝保收,并且不用分散精力,可以聚焦技术研发。
随着自己的能力提升,技术上占用的时间就比较少,而程序员可以选择的赚钱方式,一个就是接私活,一个就是做产品。
这里没有提到的是公司内部升职的路径,我们还是讲脱离公司的玩法,因为这个才是比较长远的事,因为说到核心,程序员面对公司,跟面对客户是一样的,公司其实也是客户,只是给你做了兜底而已。
接私活是大多数程序员的选择,但接私活刚开始是非常亏的,投入大量的精力,加班加点却没有太多的报酬,很多人就会选择放弃。但真正能够看长远的人,就能够坚持下来。
因为短期来看是亏的,所以要做优化,也就是接一些业务,要提炼出来一些可以复用的代码,为后续开发项目节省时间。
接私活主要是配合,也就是不能独立做完所有业务,比如只负责软件部分,如果有UI,有硬件,是需要合作进行。而在开发中最磨人的就是后期的测试反馈,修改意见。
前期如果没有约定好,这块会让你直接崩溃。
接私活很锻炼程序员,而接私活是值得去尝试的,主要是理解用户需求,用户做这个一定是有场景可以变现的。
很多大厂的程序员会看不上接私活,因为大厂整体工资高,并且福利待遇好,在内部升职,就能获得不错的收入提升。
所以很多时候程序员的规划,是因人而异的。有人选择安逸享受,有人选择未雨绸缪,没有对错,只是个人选择而已。相比接私活,做产品就更难。
之前我做了几款产品,主要是定位了一部分怀旧人群,做了一些小游戏。在选择产品的时候,可以定位大众需求,这样子就是价格低,能走量。或者是定位细分领域,细分赛道,这样子人群清晰,能够溢价。
特别是细分赛道的客制化定制,往往都是暴利。因为用户愿意支付高额费用,来实现自己的需求。
而在做产品的时候,千万不要犯一个错误,就是想当然的认为这个能大卖,就直接去做。而应该回归朴素的逻辑,进行搜索调研,判断产品的合理性,是否有竞品可以参考。
调研产品,然后定位人群,可以找一部分人来预售,测试真实数据。同时可以做最小MVP,把核心功能先做出来,在市场进行测试效果,有真实付费才算真的需求。
否则就只是自嗨而已。
关于如何做产品,该考虑哪些问题,后续有空再继续聊。
最后我想说的是,程序员的职业规划里面,不能只有技术。
我是明哥,说点实话!
我的微信 code_gg_boy ,欢迎大家添加,交个朋友。