今天收到这样一个私信问题:
天花板,你好。我是XX大学计算机系的大一新生,我对编程一直非常感兴趣,特别是APP开发。你觉得学习APP开发有前途吗?听说会开发APP的程序员能接到很多私活,甚至能通过接私活实现财务自由。不知道是不是真的?
PS:公开此条私信已征得本人同意
看到这个私信之后我最想说的是:做APP能实现财务自由我还上班干嘛。
财务自由
做到财务自由就是要不工作了也不用为钱发愁。我想说自己经常在为钱发愁。
从09年起,我先后做过Symbian开发、WinCE开发、iOS开发、Android开发各种大大小小的APP也写过几十个,所谓的私活也接过一些,但这并没有让我觉得离财务自由更接近了多少。如今,职业收入依然是我的主要经济来源。
我认识的大牛程序员也有一些,几乎没有人实现财务自由。用“几乎”这个词是因为的确有很少一部分人已经“自由”了,可惜他们“自由”的途径是在正确的时间做了正确的事——买房。这和APP没有半毛钱关系。
也许,我说的是也许,这位小朋友说的“财务自由”是不用工作,或者不用好好工作,一年接一两个私活就足够自己过上有质感的生活,那么接下来我们说说接私活的事。
程序员接私活
很多朋友问我,你又会做网站、又会做APP、还会搞公众号,那你肯定经常接私活吧?
面对这样的问题,我想说:我已经快不记得上一次接私活是什么时候了。影响我接私活的因素主要有下面几个方面。
1. 时间和精力
自从开始带团队,连下班打游戏的时间和精力都没有了,更别说私活了。我在简书的C语言学习专题好久没更新了,每次收到私信问我是不是不再更新的时候我都非常歉疚,不是我偷懒,真的是太忙了。
大部分程序员的工作压力人尽皆知,每天都被项目进度压得喘不过气,偶尔不加班就不想跟任何带屏幕的东西打交道。你让他再多做个项目实在是不容易。
有时候朋友找到我要做个什么东西,我一般都是能推就推,实在推不掉的话都会转给底下的新人做。这方面新人还是很有干劲的,而且他们也很想通过私活赚点外快。不过,慢慢地他们会发现,虽然单个项目的收入还可以,但算一下投入产出比并不划算。
2. 私活难度比较大
这里说的难度大并不是技术上不容易实现,只不过是要一个人去完成一个完整项目工作量比较大。麻雀虽小,五脏俱全,从需求分析到最终的部署、测试、交付、维护都自己做,的确比较辛苦。那么为啥不找人一起做呢?原因很简单,多一个人做就多一个人分钱嘛。哈哈。其实还有另一个原因,找一个配合默契的队友真的不容易。
3. 需求难确定
一般找你做私活的人都不会太专业,因此提供给你的需求也不会很明确。所以光是确认需求就要花很多精力。
客户:“我想做个在线销售的APP。”
程序员:“大概要做个什么样的?”
客户:“我也不知道,你觉得我做个什么样的好?”
程序员:“......”
客户:“我想做个员工考勤管理系统。”
程序员:“你想在内网访问还是在广域网里访问?”
客户:“我无所谓,哪种方便就哪种。”
程序员:“...... 都方便”
程序员:“你想要C/S架构还是B/S架构?”
客户:“有啥区别?”
程序员:“C/S架构就是要在电脑上装一个软件......”
客户:“你不用说了,先做一个C/S的看看,不行再换。”
程序员:“......”
客户:“之前我们说的方案我想了想觉得不太好,我想改一下。”
程序员:“......”
客户:“我们老板看了你做的,他想加几个新功能。巴拉巴拉......”
程序员:“大哥,楼都盖好了你要加个地下室啊......”
4. 线上测试难
产品开发好之后,需要一段时间在真实的环境中测试,也就是试用。出现问题随时修改。一般出现问题的时候开发者不在身边,又没有专业人员能够帮助记录和重现问题,这让一些本来很容易解决的bug变的很难处理。
5. 维护周期长
一般产品交付之后,出现任何问题客户都会第一时间打电话找你。比如服务器连不上。这时候,你必须耐心地在电话里指导他从服务器电源开始排查,后来发现原来是域名过期没续费,这时候心里无数羊驼奔过。
关键是这种情况你总不能跟人家说“不好意思,我们当时说免费维护三年,现在时间已经过了,我不负责了你找别人吧。”毕竟都是朋友介绍的,这么直接地拒绝损失的可不只是一个潜在客户而已。
综合上面的原因,大多数程序员每天依然在兢兢业业地加班工作,接私活这件事在他们中间并不常见。