在自己创业、看别人创业、和别人一起创业的过程中,一直有个“悖论”困惑着我,让我很不舒服。
因为如鲠在喉,所以不吐不快。
悖论
早期互联网项目,通常来说,技术难度不算大?
从创业者角度来讲,最理想的情况是,在最短的时间里,把整个“产品”有个简版的实现,符合早期的商业需要就可以了。有了产品,就可以尝试去销售,去运营,去和风险投资人谈投融资。等到有钱了,商业方向初步验证了,再大力在技术方面发力。
但是,从技术人员角度,尤其是很有水平的那种,非常希望做出有“技术含量”的架构。一是,体现出自己的技术水平。二是,更为关键的是,技术是自己的核心竞争力。如果技术水平不提高,项目成功了,自己获得的还是偏少。
三是,项目是否成功,根本说不好,如果老板真的很有信心,技术人员自然更倾向于架构合理点,不然老板天马行空,技术返工率较大。
如果,技术人员是团队骨干,或者是创始团队的一员,那么他更有可能从项目总体成功的角度,去思考技术问题。
但是,如果只是普通一员呢?这可如何是好。
雷观
出现这种情况,我认为根本原因还是“利益不均衡” 。
创始团队&创业者&老板: 项目成功了,能赚钱,我可以得到巨大的回报。项目失败了,在创业的过程中,商业判断力和管理水平等都有很大的提升。
技术人员:项目成功了,有较大可能还是正常拿工资,少部分能拿到一点期权和股票。创业中,公司的商业运作等各种又没机会接触,可能也没兴趣。(通常来说,早期项目成功率还比较低。)项目失败了,从新找工作,找工作,又是得看技术。
存在这么一个现象:技术人员在做公司项目的过程中,更有意愿去尝试一些新技术,新挑战。
(做个人项目,花时间,没收入。时间不充足,不容易坚持下去。个人收入和商业需求方面,都没有动力)
解决办法
双方的诉求,都是合理的。这是需要首先承认的。
解决这个问题的方法
1.在创业团队中,引入一名懂技术的合伙人或者核心成员。
这个技术成员,能够在创业过程中的商业和技术等方面,做出一个取舍。
在合适的阶段,引入相应复杂度的技术。
2.大老板,需要把当前阶段,比如最近半年的规划和目标,告诉技术方面的负责人。
如果技术人员在创业团队中的地位较低。
比如,我们这个项目,3个月后开发必须上线,第一阶段推广人群大概在10万到50万,只有50万的研发经费,10万的运维等其它开支。
技术负责人,自己去衡量。
个人观点和假设
早期互联网创业项目,技术含量,应该尽可能低。尤其是,第一版的时候。
重点放在,实现商业需求、产品设计上,做出较为靠谱的产品,让市场去验证。
如果商业可行,再重新考虑“技术含量”,满足新阶段的要求。
平衡点,为了保证早期的技术努力不白费,容易扩展,快速满足产品的需求。
我认为:技术规划需要早点确立下来,代码组织和变量命名等可以确保可读性。然后就是,面向接口编程和单一职责。
一个接口,尽可能只做一件事。
如果今后业务发生了变化,在接口不变的情况下,修改内部实现就可以了。
如果业务变化太大,新加一个接口就足够了。
比如,充值就是充值,消费就是消费。如果需要转账,再增加转账接口就可以了。转账接口需要升级,兼容前一个版本升级,或者再新开一个接口就可以了。
虽然我没能从,数学严谨方面去证明和论述我的观点。
但我提出以下假设和观点。
假设:在接口清晰和单一职责确立的情况下,技术架构扩展和升级都是比较容易的。
小雷FansUnion-一个有创业和投资经验的资深程序员-全球最大中文IT社区CSDN知名博主-排名第118
博客:http://blog.csdn.net/fansunion
2016年7月30日
湖北-武汉