软件开发是典型的知识密集型产业,同时也需要一些工资、办公、设备和服务器成本。软件开发用钱不多,适合我这种缺钱的创业者。
成功需要内因和外因,其中内因是主要的在尝试软件创业的过程中, 我总结出了五个关键点。
第一、交付高质量代码。这主要涉及三个要素:熟练运用编程语言和IDE、实践测试驱动开发和利用Git工具进行项目管理。条件允许的情况下应该通过扩大团队规模和结伴编程来避免长时间工作和脑力透支。
第二、面向对象设计。软件设计有很多流派,面向对象设计是被我信奉的一种。面向对象设计应该采用需循渐进的方式,避免在项目早期给出全面细致的面向对象设计。这是因为项目早期,程序员面临的业务上、依赖性上、和算法上的不确定因素众多,而且程序员对项目的理解尚不成熟。应该针对相对容易的局部需求给出面向对象设计,然后逐步扩大功能范围并且逐步重构设计。 经典的面向对象设计模式需要在实践中融会贯通。
第三、容器 kubernetes,和微服务架构。对于一般项目来说,只需要学会这几件事:简单的容器化操作、租用kubernetes和kubernetes的基本配置、简单的微服务架构设计和k8s部署文档。目前完全有可能做到自动化部署k8s集群,但是其中的关键工具被墙了。 对于我来说,手动部署k8s集群是可以接受的。
第四、学会各种乱七八糟的工具。这些工具包括操作系统、数据库、消息队列、PDF编辑器、无头浏览器、前端图表框架等等等等。总得来讲,对于绕不过去的需求,竞品中选一个最流行、教程最全、文档文笔最好的,花上一两个星期学会怎么用就行了。
第五、经营纳税。一些互联网服务,比如短信业务、电话业务、少数云服务、申请成为某些平台的第三方开发者等,需要提供企业认证信息。这种需求不多,而且大多数情况下豆可以绕过去。 因此只要不雇人,就不需要注册公司。注册公司之后每年要给记账公司交钱,这笔钱对经营几乎一点好处也没有。