创业公司这两年
此文来自我的个人微信公众号(于2019年9月27日写的),现在分享给大家。
昨天与IT职业生涯中的第二家公司告别了,晚上的时候和一位同事吃着日料、烧烤、喝点小酒、说了很多事情,感触良多。
等到离开的时候,各自坐地铁回到自己的住处,坐地铁的过程中,我在想,这近两年的创业经历,应该要做个总结才对。这个总结以什么形式开头呢?
就以最初来到这家公司以及做的一些项目来说吧。
一、面试
记得来这家面试,我绕了一个远路,从5号线到10号线,然后加一趟公交,终于到了,整整花了近一个半小时,实际上,一个小时不到就能到。不过还好,总算是准时。
来到公司,接待我的是一个小姐姐,来公司一同面试的,好几个人一起,小姐姐给我们来面试的发了几份面试题。奇葩的是,我是来面试后端开发的,她却给我的是安卓面试题,然后我跟她说给错了,她更换后,又给我了一个前端面试题,我再次跟她说明我是来面试后端的,面试题总算是给对了。
面试题是中英文混合,中文的我想我应该基本上都答对了,英文的话,由于只能猜到大概的意思,只能根据感觉来回答了,最后感觉似乎全做错了。后来面试官,也就是经理,他问为什么这几道容易的题目你答错呢?他说明题目的意思后,我口述回答了下,答案也令他比较满意。具体面试过程中谈论了什么,这里就不叙述太多了,大致主题主要围绕这些(自我介绍、期望薪资、离职原因、做过哪些项目以及是否对公司创业项目感兴趣、多久能上班等之类的)。
总而言之,最后,我有幸成为创业团队核心的第五位员工。
二、第一天上班
之前来面试的时候,注意力比较集中,没有注意办公室里的环境是怎么样的。
第一天上班就是弄一个接口文档自动化生成和搭建项目框架及其阅读项目背景文档和相关材料等。
当我注意到办公室内的环境时,一个冰箱,空荡荡的厨房,主厅内还有两张床,整个环境给我的印象是感觉在做传销似的(后来才知道经理住的地方比较远,当时公司急需招满7个工程师(两个安卓,三个后端,两个前端)等,尽可能充分利用这段时间增加招聘人员的概率)。
经过一周的工作,上下班时间基本就是975(早上九点上班,晚上7点下班,一周五天)。
三、项目成员基本凑齐
根据专业划分,除两位经理外,开发人员一共五个(后来我们的私底下的职员群就叫五个人),两个安卓开发兼小程序,三个后端开发兼前端。最初我还想着来一位前端开发工程师来为我分担分担前端界面的开发,最后等来是我们老板公司派遣的职员。
简单的说下,我们老板旗下有15家公司(领域为房车、户外设备、文化媒体等),基本上都是传统产业方向的公司。我们仅仅只是他旗下的一家公司。
经过两周的磨合阶段,公司也算是进入正式开发阶段了,两周左右的时间基本上确定了框架和参考对象以及公司服务器。由于我在上家公司担当过运维的职责,Linux方面也弄过挺多的,所以正好在这家公司运用的上。
四、项目开发进入正轨,直至成型使用
老板要我们尽快在一个月内拿出能够体验的产品,时间可谓是万分急促。
为了快速拿出一个产品,我们参考业界酒店系统做的比较好的公司,业务逻辑是我们自己的,但是前端方面如果是从头一个个div布局之类的写,显然时间是不够的。另外我们所做的是互联网项目,并非不变,所以我们要拥抱变化适应变化,所以传统的瀑布模型显然是不能适应的。所以我们采用的敏捷开发。
找到找到对象,然后进行模仿,利用chrom等浏览器查看源代码属性,将参考对象前端界面全部弄下来。然后将我们自己的业务逻辑仿造其对接上。这样一来前端开发的时间将会大大缩小,用于后端业务逻辑编写的时间和思考的时间将会变多,这样一来会减少一些业务逻辑上失误的概率。
另外为了对接智能门锁(本来预想是公司在中山或者深圳那边找一些工厂打造属于我们自己的门锁以及招相关的嵌入式开发工程师来弄,但是短期内肯定是无法实现的,在遇到种种压力情况下,我们购买第三方门锁和通过第三方接口,让房车上的门锁与我们自己的系统联动起来。最初的酒店系统,在18年春节前夕基本上已成雏形。
这是我们的系统界面(即便那个项目已经宣布失败了,但鉴于一些信息不能公开所以得做些处理):
界面看起来比较粗糙,但是该有的功能基本都有。
还有一个门锁系统,如图:
这两个系统从最初找到对应的参考对象,然后模仿以及结合我们自己的业务逻辑整个全部调通,整整花近半年的时间,当然了,这半年不仅仅是这两个系统,还有对应的安卓APP以及小程序。
近半年的时间,中间老板也带了不少投资人。最后我们的产品也在18年6月份的亦庄国际展览会上展出。
亦庄国际展览会上结合我们的房车以及对应的产品进行展出,效果并不是特别好。以至于会后,我们陷入整整一个月的平淡期,平淡期期间,我们主要做的事情是整理项目文档和相关资料、总结项目得失(比如这半年期间我们团队也确实遇到不少技术难点,虽然最后也攻克了,但是花费的代价也挺大的)、解决项目一些bug(即便上线了,仍然还存在一些问题,这些问题不会对流程上造成任何影响(流程主要是用户使用我们的APP或者小程序,从订房到入住,再到退房这个流程)。
五、亦庄国际房车展会出差
展会前期间:
去过两次,基本都是调网关(可以理解为一个小路由器,因为门锁是与其绑定的)。
一次是为了确保实际演示跑流程不会因为网络问题导致开不了锁的情况发生,提前预先把现场环境弄好,然后简单的演示两到三次左右。
另外一次是总公司的雇佣拖拉房车以及弄现场展示环境的工人们,有一个工人无意之中将所有的门锁都放在一个房车里,而那个房车恰恰是我们的产品,然后我和另外一个同事去那边现场弄了一下环境,确保网络联通,然后使用小程序开锁解决了这个问题。
展会期间:
我们团队派四个人去现场,一方面做技术支持,另一方面由于总公司人手不足,我们需要做一些销售方面的工作(主要是卖房车)。
两个人一组,我和另外一个小伙伴去了一天半的时间,这一天半里,真的是腰酸背痛的,基本上除了吃饭时间外,就处于站立状态,同时也得跑来跑去。
一天半的时间,也给老板带来的潜在投资人演示几次,但是那些潜在投资人似乎不是很感兴趣。
不过出差的一个好处就是住一家较为豪华的宾馆,住的挺不错,而且早上还吃着西餐。
还有一个好处也算是体验一下销售的工作。
展会结束:
展会结束后,总算是可以喘息一段时间。那段时间不是特别忙,度过了紧急期,处于一个缓冲期,缓冲期期间,上下班就是早九晚六,任务也没有以前那么多,每天完成特定的任务后,还可以看看技术博客,研究一些技术方面的,或者是看会技术书籍之类的充充电。
六、来了一位合作伙伴,新启共享洗浴间项目
这位合作伙伴和我们经理认识,听闻我们开发的酒店和门锁项目后,觉得他的共享洗浴间项目能够用的到我们的酒店和门锁那套东西。所以双方就围绕这个方面进行讨论。从项目立项->需求分析->架构设计->功能优先级行程安排->第一个Demo。
展会结束的一个月后,我们经理觉得现在的架构上有不少地方可以抽取公用的,例如权限、菜单、日志、组织部门、监控、代码生成器等。于是我们针对其做了一个项目,既可以叫资源系统,又可以叫快速开发平台。
快速开发平台如下:
第一个共享洗浴后台管理系统就是在此基础上的沿用。
后来我们抽取出来将其优化成这样(与开发平台分离):
于是我们的合伙人便带这个成型的项目去找合作伙伴,因为于他而言,他手里的资金实际是另外一个项目拿到的融资,他只能将一小部分的资金用于共享洗浴而非全部。
六、无领导状态
所谓的无领导状态,主要负责人经理,平时基本都盯着我们,防止我们松懈。这段期间,他就没有再来过公司。
而这段期间,我们各自的工作,还是整理项目文档、写一些小Demo学习新的技术,同时也优化了原来的如酒店、门锁、开发平台、共享洗浴等项目。
随后没多久,领导就派一些特定的任务,这些任务标志着我们再度重启一个新的项目。
七、重启新的项目
该项目主要是教育方面的,为了快速开发,拿出一个成型的方案,我们又开始变得非常忙碌了。这一年是2019年1月份,1月份中旬的时候,经理让我们时不时礼拜六也来公司加会班弄产品。从那以后,965或1065,就变成了986或996了。
八、公司可能要解散了
经理跟我们说,合伙人如果2019年3月前拿不到投资,这个共享洗浴间的项目就没戏了。那么公司也将于3月份宣告解散。
也许有朋友疑问,你们不是新启了一个新的项目吗?
我的回答是,这个新启的项目是我们经理自己的。
随后经理接着说,经过一年多时间,他不希望我们的团队就此解散,希望我们接着跟他一起创业。
九、同志们努把力,太慢了
“同志们努把力,太慢了”。
年后我们团队成员就被经理催促着赶紧弄。说是3月份要投入让学生试用。
等到3月份到了的时候,我们经理说,这个月20号务必要弄出一个没有bug的产品或者减少bug率。
这款新的产品主要是二次开发,很多东西不熟悉,以及业务流程上也存在一些问题,导致bug率过高。20号的时候,经理试用了下,提了很多意见,然后我们就接着开发新的功能,优化现有部分功能,解决之前bug。
这一个过程一直到4月份,4月份左右,经理去了趟外地出差。
十、体现我们的用武之地的时刻到了
老板那边让我们弄也给电商平台,老板的想法是将户外相关的产品,如露营设备、房车和其它产品放在我们自己的电商平台。
刚开始我们不想自己动手做,想找一些平台来做这件事,但是老板那边说让我们自己动手做是因为不想在第三方平台花这些钱。以至于我们花了近两周时间做调研。离展会也就20多天了,时间不可谓不紧。
十一、学习早期的淘宝买一个吧
好不容易体现我们的价值,大家一定要把这件事情做成功。这是我们大家的共识。起初我们想着是每个人凑个几百块然后买一个。但是后来由于种种原因这件事没成,后来经过团队的努力,大家各自发挥,终于找到了一个电商开源项目,同时还自带小程序的。这时离我们承诺给老板做出的日子,越来越近,终于在离展会仅仅剩下半个月的时候弄出来了。虽然是开源项目,但是仍然存在不少bug。但这些bug不影响使用小程序购物的流程。只不过后台这边做了一些灵活的处理(例如将一些提示信息,例如提示信息失败了,但是实际却是Ok的,直接都改为Ok,时间太紧张了,我们必须要提前半个月弄好,然后接着确保没有问题,以及完成老板那边一些定制化需求等)。
经过我们不懈努力,提前完成了,而且小程序也顺利通过发布流程,直接上线了。
十二、如果你们不在了,这个项目出了问题怎么办
"如果你们不在了,这个项目出了问题怎么办?",这句话来自老板那边人。
老板那边的人,同时也暗示我们,说我们团队可能撑不了太久。
我们这边的给的回答是这样的,如果我们不在,这个项目出了任何问题,你们除非雇佣相关专业人士,否则将没人解决。
基于这种情况,老板那边的人说,如果是这样的话,我想将你们这里的情况跟老板说一下。
此时已经到了6月份了。
十三、我们用第三方的电商平台,不用你们开发的这个了
得知这一消息,我们向经理汇报,经理那边大致的意思就是,乐观看待,然后我们继续开展下面的工作,也就是教育项目。
然后经理说,大家努把力,7月份,学生都放暑假,咱们要紧紧把握这次机会,产品试运营,然后拿下这个市场。
十四、老板没钱发工资了
微信加入不少技术方面的群,也看到不少朋友吐槽说,公司拖欠好几个月工资。
这是我第一次遇到这种情况。
经过一年多相处,老板的确为人还不错,我们大家也一致认为老板不会因此不发给我们工资,老板也仅仅只是暂时的困难,资金一时周转不了。
从今年开始工资就开始变得不那么准时发放了。
十五、你们从七月份开始工资由我来发
“你们从七月份开始工资由我来发”,这句话来自我们经理,也就是从七月份开始我们正式跟着他混,也算是名正言顺的创业了。
十六、教育产品面向用户,问题巨多无比
我们的产品主要是客户端以及浏览器端应用程序。客户端存在大量问题,体现在有的学生电脑上是xp系统,有的是win7,还有就是操作系统之间位数不兼容问题。这一点是我们之前没有考虑到的。我们大家都是使用win10系统开发的,之前是开发Java应用的。而且之前开发客户端应用,编译打包以及增量更新之类的都没有问题,基本上在我们自己的环境测了一遍又一遍。
此时经理和另外两位同事身在长沙,服务端这边基本上由我负责,客户端那边由另外一个同事负责,当然了,客户端那边用javascript(node.js)写的插件,我有的时候也得优化或者改一些bug及开发新功能满足需求等。
十七、经过一段时间,产品总算是相对处于稳定状态
不久,同事都从长沙回来了。教育产品此次虽然问题较多,不过也都解决了。
十八、创业公司一年零九个月我学到了什么
我不禁问自己在创业公司待的一年零九个月我学到了什么??????答案四个字:学到很多。
归纳一下:
(1)独立解决问题的能力提高;
(2)自觉性提高,长期公司处于无领导状态,偷懒的机会非常多;
(3)技术总的来说,还是有不少提升,不过深度的较少,广度的较多;
(4)程序员的产品意识必须要提高,换言之,"人人都是产品经理";
(5)不要重复造轮子;
(6)"抄",对于互联网产品很重要;
(7)学会分享,分享很重要,既能成就他人,也能成就自己;
(8)养成文档记录的习惯,并分类好(于己于公司都有好处);
(9)没有什么是不可能的,重要的是愿不愿意想方设法(有句话叫做:"成功者千方百计,失败者千难万难");
十九、关于离职
每个人的追求不一样,有人是为了成长,有人是为了金钱,也有人是为了使命,也有人是为了爱情,也有人为了稳定。
二十、感恩
感恩生命当中的每一个人。不管是给我带来帮助的或是伤害的。