在西农-S14: freespace

前两天看到 最美应用 上推荐了一款时间管理 App: UBhind,其主要功能是统计你在手机上的各种时间消耗。让我想起了我在大学组团队一起做的一款"软件"。

以前从来没有在文章里介绍过大学里让我引以为豪且获益匪浅的团队。这篇文章专门介绍一下大学找人组团队、一起做事情、再之后团队解散的整个过程中我的思考。

-—

1. 背景: 那个时候的我

时间发生在大三下学期(11年春季),我大一大二都处于半迷茫的状态,方向不定,没那么多的思考,技术上很不成熟。有些想法,但是技术上远达不到。

要说我真正开始做事的时候,应该是在上海江游的那段时间(2014/2015)和现在。在北京的一年都算不上;但是开始独立思考和尝试去做一些事是在大三以后(2011~2014),那几年一直在尝试做一些自以为"有趣"的事,基本上都是已失败而告终。

当你不能理解一件事情或者能力所不能及的时候,于是你开始质疑,这种质疑只能通过你自己实践去验证,比如软件工程。

我最早对于软件工程的认知不是通过软件工程这门课,而是通过李老师(lijianliang)的口述。学校有段时间要和日本谈合作,所以从各个老师手底下找了一些学生模拟企业开发环境 "装装样子" 让日本方觉得我们有这个实力。副院长(zhangyang)和李老师牵头执行这个事情,学院很重视,我也有幸"参与"了进去。在办公室坐了一两周的时间,其实还是各自做各自的事情,但是这个过程中让我开始想了解软件工程。开始接触版本管理器也是这个时候(当时有个svn的培训)。

软件工程课是在大三开的,至于上学期还是下学期我已经记不清了。我当时的体会是,老师讲的很缥缈,工程不像编程语言、操作系统,不是一台电脑、一个编译器就可以验证的。在 C++ 的学习过程中,我了解到跟着学校的课程、教材学不到太多的东西,老师有可能不全懂,教材也可能是错的(当我读完了《[C程序设计语言](http://book.douban.com/subject/1139336/)》的时候,才知道谭浩强的C语言教材真的是渣渣)。于是,从图书馆借了几本软件工程方面的书,乱看。现在能记得住的书只有两本:[敏捷软件开发](http://book.douban.com/subject/1140457/)、[人月神话](http://book.douban.com/subject/1102259/)。书没怎么看明白,不明白什么是「迭代开发」,不明白什么是「变化」,不明白为什么「人月不可兑换、人月不是神话」,只是掌握了很多新的概念。幸运的是,对于敏捷的不解,到风行之后逐渐理解;对于「人月」的质疑,到江游得到了验证。

有部电影我看了很多遍,叫 社交网络,是讲 Facebook 创始人 马克·扎克伯格 在大学创业的故事。看我的心潮澎湃,觉得自己的大学不应该是这样的。

于是,我想到要组个团队。一来想尝试一下和别人一起做事的感觉;二来,这也很酷。

2. freespace(自由空间)

当时找人有两个标准:

  • control,找个刺头进来,谁都管不了,还不如没有;
  • 技术水平上还可以。虽然是计算机专业,但是实际上愿意写代码的人也没多少,所以能力上更不能强求了;

大学大家都比较闲,也没什么利益冲突。找几个人也并不是一件很难的事,我选择了他们:

  • 我:产品经理、软件架构
  • 祥子:当时眼里真正的技术大神;技术攻坚。
  • 杨溪:基础还可以,私交也是一方面;开发与测试。
  • cy:学习能力强,基础好;开发与测试。
  • 小宝:基础还可以,其实主要是想到小宝在学生会的关系,容易拉到资源;开发与测试。
  • xdw:基础还可以,不是我们班的;开发与测试。
  • cx,lb:我们班的两个妹子,能 PS;UI设计师兼职测试。
  • 邬明:负责宣传,其实他就是打酱油的;产品运营。

按照现在想法来看,这个团队的人员配置还是挺合理的:有产品、有架构、有开发、有测试、有UI、有运营。

这里要解释一个问题,*为什么不让 zq (当时女朋友)参与进去?* 这个问题很多人问过我,她自己也问我。

高三的时候,家里在县里开了一个小饭店,最后以失败而告终。其失败让我明白了几个道理:

  1. 不能用亲戚
  2. 权利要集中

很好理解,当不服管理而且不能直接开除的人变的多的时候,也就离死不远了。组团队的时候,zq 是第一个排除的,和她个人能力没有任何关系。如果以后有机会自己创业,也是一样的,只会找靠谱的朋友,不会找亲人,这是我自己的原则。当时没有解释这么多,后来还闹了一些矛盾,看来合理的沟通是至关重要的。

freespace 这个名字是我起的,而且是先有的英文名,后来直译成「自由空间」(还记得 zq 当时跟我说这名字和某卫生巾的名字很像,好尴尬)。在叛逆的几年中,我常提的一个词就是「自由」,甚至偏激的以为自由就是无拘无束,没人管。当时的我,能起出这样的名字,顺理成章。

文章的封面图片是 cx 和 lb 做的 logo 的深色版本,下面是浅色版本:

freespace_white.jpg

这可能是我见过最好的 logo 了。

3. 噱头

一帮人跟着你过来了,你总要跟他们解释一下,我们是什么,要干点什么。绞尽脑针,顾虑也确实很多,写了下面这么一段话:

FREESPACE, 中文名称为自由空间。

以“理想 创新 自由”是为的核心。开发免费软件(并不是免费开发软件),依据我们的创意,开发出来的软件免费提供给别人使用。现有团队一共9人,以开发小型应用软件为主。团队中的任何一员,无论想做什么样的软件,无论它简单与否,是否有应用价值,我们都将全力以赴。团队之中无利益关系,无雇佣关系,“任何队员可以在任何时候以任何理由离开团队”。

FREESPACE崇尚理想,崇尚创新,崇尚自由。你可以实现的的理想,实现你的创意(idea),同时又不受约束。   

FREESPACE, Just for fun. Enjoy ourselves, and Enjoy yourselves!

这段话现在仍旧挂在博客园的博客,什么是FREESPACE

团队需要一个主页,我买了一个域名 freespaceteam.com,并在博客园同时也开通了一个[团队博客](http://www.cnblogs.com/freespace/archive/2011/04/12/2014107.html)。现在想想,还好有两个博客。

4. 两个软件

4.1 DES算法计算和演示软件

不详细介绍了,可以跳转到[博客园](http://www.cnblogs.com/freespace/archive/2011/05/07/2039802.html)看简介。

我心里的定位是用来磨合团队的一个软件。从组团队到开始做的时候,我一直都保持的怀疑的态度,不知道自己的想法正确与否,不知道大家的心里的想法。尽管在找人的时候,我尽量找了一些脾气相投的人。但毕竟我不发工资,大家都是偏玩的心态,不是每个人都像我那么认真。

还有个很严重的问题是,大家都是学习和写代码的心态,而不是做产品的心态。这样会导致生怕自己写的代码少,自己做的功能不是很重要,不是很难,所以任务不好安排。**我的想法是能让他感觉到一些难度,但是努努力也可以做成,让他有一些成就感。**

这个软件做成以后,我很开心。不是软件做的有多好,而是我的很多担心多余了,他们每个人都当成一个事去做了,**到现在我都想不明白原因**。这为第二个软件的开发做了一个良好的开始。

4.2 ActivityAnalyse

在科技日益发达的今天,计算机已经越来越普及,而形形色色的软件也随之而来。很多的计算机用户,原打算使用计算机学习某方面的知识,但却把时间浪费在了QQ聊天,浏览网页,听音乐等事情上,而自己却浑然不觉,到最后才发现时间已经过去。

针对上述情景,本款软件主要实现对用户正在执行的当前窗口的监控和记录功能,记录用户每次登陆后对各个软件使用时间的记录。并能够通过图表的方式,将结果直观的展现出来。能让用户了解近期在使用电脑的时候把时间浪费在了什么地方,并在下次使用时作出相应的调整。

这是创意来源,也是我坐在计算机的真实感受,时间过去了,但不知道自己到底干了什么。创意很好,起名很蛋疼,最后都没有中文名字。基于我对任务安排的认知,并对此进行了软件“架构”。你不能想象,在产品的设计的时候,反而考虑了人员数量和满足人员成就感的病态思维方式,但是当时真的就是这么做的,要让每个人都觉得自己很有价值。

  • 数据获取: 祥子,cy,有一定的技术难点,祥子带着 cy 搞定。
  • 数据处理: 杨溪, xdw,纯 C++ 算法逻辑,让他们两个来再合适不过了。
  • 界面开发: 我,小宝,UI 相关涉及的东西比较多,技术是一方面,审美是另外一方面,只能自己来。
  • UI 支持: cx,lb,我不打算要任何一个原生控件,美术工作量很大。

开发过程很顺利,两周的时间就出了一个[测试版本](http://www.cnblogs.com/freespace/archive/2011/06/08/2075889.html)(2011/5/21~2011/6/8)。

第一个测试版本只是功能上完成,存在很多程序上的问题。两个问题比较严重:一个是底层性能上的问题,另外一个是资源泄漏。资源泄漏和祥子查了很久也仅是泄漏的不猛了(MFC在图片资源的管理上,很蛋疼),没有根治。几天优化以后,发布一个[正式版](http://www.cnblogs.com/freespace/archive/2011/07/04/2097183.html)。

软件设计大赛

每年的下学期学校都有软件设计大赛,11年 正好赶上我们软件开发完,为了满足些许的虚荣心,就报名参加了。和别人的区别在于,参赛人是 FREESPACE,而在比赛开始之前没有知道 FREESPACE 是谁。比赛举办在在大三快结束,大家都在软件实习,有些人去深蓝、达内,我当然不会去。

比赛是我和杨溪代表团队参加的,PPT 是我做的,杨溪作为主讲。在比赛之前我的想法是该你们看看真的东西(那个时候虽然很菜,但是还挺狂),PPT 先介绍团队以及理念、再介绍创意和产品,最后是产品以后的发展。

我看过前几届的软件设计大赛作品,所以我深知这是一个水分极大的比赛,是否公平暂且不说,最大的问题在于它不太像是一个软件比赛,更像是一个科研 demo 演示。评委都是搞科研的,没几个人关心软件自身。

这一届也没例外,有部分科研老师带的学生把科研成果做成软件演示一下,还有跑着跑着跑崩了的情况,剩下的是学生自己做的玩的。

看别人的作品,如果评委懂一点软件的话,我觉得我们完全可以碾压他们,当我和杨溪站到台上的时候,我觉得稳了。评委大部分是软工的老师,软工的老师科研味道略轻,而且都和我很熟,计算机的几个老师和杨溪比较熟,学院的老古董只能听天由命了。不拿第一,第二第三应该不成问题。上台之前杨溪也是洋溢着自信。

不出所料,拿了第一,团队每个人都很开心。

我觉得没什么,就软件而言我们就是最好的,明眼人都能看出来;但是我们的软件的问题我自己心里清楚,充其量就是一个玩具。而且这个比赛是没什么技术含量的,学校不够重视,我看到的很多学校比赛,实习,规章制度都是走过程,有的时候比赛都结束了还有人不知道比赛什么时候开始。

还记得大三的数据库实习,最后导师时间关系不让每个人都上去演示自己的作品,我当时就非常不爽。在最后让每个人说说自己的实习感受的时候,每个人都装模作样的谈感受,千篇一律和小学生写作文一样。我愤青的说如果学院不愿意搞这样的实习就不要搞了,做样子浪费时间。几个老师还给我耐心解释了原因,搞的气氛很尴尬。这种过程式的教育方式随处可见,我真的很担忧。

比赛奖品是一个音箱和一份证书,杨溪想要给杨溪了,让他请我们团队吃顿饭;证书我复印了多份,抽签决定谁拿原证书,大家也都没什么意见。

我觉得这样挺好。

5. 一次申请教室的经历

第一个软件开发完之后,知道大家整体水平。C++ 基础都还可以,但是系统和UI层面的东西了解太少了(学院没教)。就想着做一次分享,祥子针对 Windows底层,我针对 MFC。分享不是要写的,我要写的分享需要一个教室,放 PPT。这次申请教室的过程,让我对学校彻底的失望了,我和小宝一起去申请的。

  • 要申请8号楼的教室,第一反应是教学楼管理员。管理员说你得去找你们学院的学生办写申请;
  • 学院学生办说这事肯定不归我们管啊,那是教务处的事情;
  • 去找学院教务处,学院教务处说,我们没有这么大的权利,可能你要找学校的教务处;
  • 找到学校教务处,学校教务处说,是我们管的,但是你们需要写一份申请,写明缘由,并且要你们学院老师和教务处签字。我已经有些不耐烦了,小宝安慰说,没事回去找人签字就是了;
  • 我回去写了一份申请,找了班主任李老师签字,李老师签了,还顺便说了一句,你们啊,瞎折腾;
  • 然后去学院教务处解释了半天,才给签字;
  • 最后去学校教务处,我心想,这次总可以了吧。学校教务处一看说,李老师是谁啊?是教授吗?我说不是。人家说,那不行,必须要是副教授以上的老师签字才能行。我……

我记得很清楚,离开教务处办公室的时候,把申请直接撕了,扔到了办公司的废纸篓里。所有人把视线都移到了门口,我大步走了出去。

小宝说,别生气,再想想办法。我说,去他妈的,不弄了。让我气愤的不是跑来跑去,繁琐的流程,还要签字什么的,我也明白这些做教务管理的难处,而是面对的每个人从来没认真的把你的申请当一回事,都是敷衍了事。在别的行业,我可以理解。在教育行业,我非常不理解,你是一个老师,为人师表、授业解惑,你凭什么这么不负责任?大学的很多老师,我现在都可以当着他们的面说,你不配当老师。

最后分享还是做了,没有申请教室,找老张(zhangzhiyi)借了一个投影仪。老张是好人啊,一说要投影仪,二话不说自己来拿就行。大学的一大快事是操作系统上听他讲故事,在8号楼道上,我们坐在地下,他蹲着、抽着烟和我们扯着淡。

上篇文章,忘了说一件事,在大学同学中,从大一到大四邬明的改变是最大的,而我以为对邬明影响最大的应该是老张了,他得感谢老张。

6. 解散

团队的最后一款软件是: 梦幻扫雷。所谓梦幻,就是普通扫雷的基础上加上战争迷雾。搁浅了!

大四上学期已经没什么和你一起玩了。要么去西安租房子找工作了;要么拿着暖壶瓶去自习室考研去了;还有一种就是胖子这种要考公务员的。

邬明、小宝、cy 去西安找工作了,剩下的人除了我以外都是要考研的人。我是一个唯一一个不愿意找工作也肯定不会考研的人,在外面租房子学 D3D。梦幻扫雷是在大三结束的时候定的,大四之后我也不太好去找他们,毕竟找工作和考研都是人生大事,耽搁不起。

我不喜欢悬而未决的事,性格就是这样,太过理性了。既然都没人了,发封邮件解散完事。就这样了,解散了。

解散的过程没有太多的感伤。我所理解的感伤是基于有希望而没达到的情况。对于大四大家的情况,我都很了解,所以谁都不怪。

freespace,成立于 2011/04/12,解散于2011/09/23。

7. 后记

现在看那段时间所想、所做。不能叫「幼稚」,有些过了,「青涩」应该更好一点。想法不成熟,技术不成熟,思路不正确。对于后面解散也不能称之为以失败而告终,因为整个过程都像是小孩子在打闹一样。

但是,那是理想开始的地方:「找几个靠谱的人,做一些实用的东西」。

张杰

2015/01/15