Dragon Forged创始人:不想当空军的开发者,不是好程序员_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > Dragon Forged创始人:不想当空军的开发者,不是好程序员

Dragon Forged创始人:不想当空军的开发者,不是好程序员

 2013/8/6 19:08:23    程序员俱乐部  我要评论(0)
  • 摘要:英文原文:RunningaSuccessfuliOSConsultingCompany:ATopAppDevInterviewKyleRichter开始从事Mac程序开OS8推出的时候。此外,他从2004年到现在还经营着一家iOS应用开发公司,如今也发展得不错。迄今为止,KyleRichter参与了750多款iOS应用的发行,其中包括十多个特色应用,在苹果电脑全球研发者大会(WWDC)上被多次提及。如何经营iOS应用咨询公司?如何扩展业务?如何开发优秀应用?Kyle在这里告诉与你分享他的经验
  • 标签:程序 程序员 for 创始人 开发 开发者
class="topic_img" alt=""/>

  英文原文:Running a Successful iOS Consulting Company: A Top App Dev Interview

  Kyle Richter 开始从事 Mac 程序开 OS 8 推出的时候。此外,他从 2004 年到现在还经营着一家 iOS 应用开发公司,如今也发展得不错。迄今为止,Kyle Richter 参与了 750 多款 iOS 应用的发行,其中包括十多个特色应用,在苹果电脑全球研发者大会(WWDC)上被多次提及。如何经营 iOS 应用咨询公司?如何扩展业务?如何开发优秀应用?Kyle 在这里告诉与你分享他的经验。

  提问:请介绍一下你自己和你的公司。

  Kyle Richter:我在 2004 年的时候创立了自己的软件咨询公司 Dragon Forged Software。2012 年我们与 MarcusZarra 的公司合并为 Empirical Development 公司。如今公司已有 20 多名全职的软件开发员了。我现在仍然活跃在独立开发界,同时还出版了几本关于 iOS 软件开发的书,在全球各大软件开发和商业会议上发表过演讲。我现在住在佛罗里达州基韦斯特附近的一座小岛上。我的工作不受地域局限,所以就选择了一个最舒服的地点工作。

  

图:Empirical Development 联合创始人 Kyle Richter

  提问:涉足资讯领域之前你都在做什么?你为创业又做了哪些准备呢?

  Kyle Richter:我之前在美军服役,是个空降兵。2003 年我受了伤,退伍之后开始了漫长的康复过程。小时候我家有台 MAC SE 电脑和 C64 机子,当时我就爱用 BASIC 语言在上面对代码修修改改,退伍后我觉得重拾儿时旧梦的机会来了。我读了相关书籍,开始恶补专业知识。更重要的是,我还编写了许多软件,花了很多时间去了解我能用这些框架做些什么。后来,我开发的应用一个比一个好,而源源不断的用户好评终于使我下定决心,踏上了软件开发这条路。

  提问:你在创业初期是怎么拉拢客户的?

  Kyle Richter:我的第一批客户是通过私人关系发掘到的。当时我亲戚给我介绍了一个项目,是给当地一所高中编写一个后台管理系统。一开始,我对接一笔活儿该收多少钱一点概念也没有,只是觉得自己是个小程序员,一个项目的收入也多不了多少。后来做得多了,工作也越来越顺手,我就开始接一些大型项目,开价也涨了上去。我逐渐发现,让一个客户满意要比一切营销手段都要更直接,如今我们接到的业务绝大部分都是靠老顾客介绍来的。

  提问:你更倾向于固定投标的项目还是计时项目?为什么?

  Kyle Richter:一定要选的话,我还是选计时项目吧。按小时工作的时候你不用担心时间会超过预估,从而可以自由开发一些不同的解决方案。举个例子,如果你接了个限时 20 个小时的开发任务,但实际上要把任务真正做好却要 100 个小时,那你很可能会偷工减料。做计时项目的时候,完成一项任务后客户随时来找你,要求你再添一个功能或是重新设计程序,那样操作起来就简单多了。

  固定投标项目盲目性比较大。由于是一次性的谈判,我们常常要对一些之前根本没做过的项目进行估价,有时候我们报高了,有时候又报低了。但是对于计时项目,只要最后能把一切事项都清算出来就可以了。不过客户一般都倾向于固定投标项目。他们经常要守着上头规定的预算,因此都想事先对项目的完成进度有个大致地掌握。

  

  

图:Empirical Development 发展历程是一本创业的教科书

  提问:作为一个承包商,谈谈你碰到过的最难缠的客户吧?

  Kyle Richter:我认为不存在“坏客户”,一段雇佣关系发生问题往往是双方共同的责任。这些年来,我对项目的预测越来越准,倾向于向客户开门见山,告诉他们哪些地方是难点,哪些不是。

  我们遇到的棘手客户大多数是以下几种:

  • 这些年来,有少数客户会拖欠款项,或是对我们开的单据各种找茬。
  • 有些小型的创业公司对软件开发过程不了解,你一定要在最开始就跟他们解释系统漏洞、调整时间线和用户问题等概念,不然的话你到时候会吃尽苦头。
  • 总有些客户意识不到任何软件都有局限性,他们觉得你们开发商是万能的、不受自然规律限制的。遇到这种客户也没有办法。

  我发现只要从一开始就对客户实话实说,定下一个实际的目标,那么之后做事就会很顺利。千万不要事前夸下海口,因为事后可能会让客户大失所望。

  提问:你从何时开始意识到是时候开始雇人了?你又是怎么招到第一个雇员的呢?

  Kyle Richter:我在正式雇人之前已经和一些自由职业者一起共事了好一阵子了。我当时最需要帮忙的就是平面设计。我希望自己也能一手包办平面设计的工作,但我就连简笔画都画不成形。我在网上贴了一些招聘启事,在当地进行了一些面试,终于结识了一些设计师。我很欣赏他们中的一些人,有的一直合作到现在。

  第一次招人感觉是水到渠成,时机也很对,因为当时的工作量的确需要两个人来分担。招完员工后的初始阶段就像一道坎,公司的开支一下子翻了一倍。公司还没成熟,你就开始招人,如果要发固定周薪的话,一定要事先备好员工至少半年的工资。很多开发公司都是过早地开始雇员,最后弄得入不敷出,焦头烂额。

  这几年来我对招聘这件事越来越在行。我最开始雇的几个员工都是在招聘会或是 CocoaHeads 这种当地见面会中认识的。我一般先听他们介绍自己最近的工作,小酌几杯之后才能进一步地了解他们。如果这个人看上去比我聪明(千万不要雇一个比你笨的员工!),人也随和,我会和他签短约。他要是做得不错,我就会提供全职工作的机会。

  我们公司如今采用一种叫 Dragon’s Test 的招聘方法,这是我们设计的一套比较复杂但是效率极高的面试筛选程序。

图:Dragons’ Test 的招聘流程十分独特

  这套招聘程序分四个部分。Empirical Development 公司对招聘工作很看重,当一个雇员录取之后,下一次面试就会比这一次更难。

  Dragons’ Test 也可以检查应聘者实际的编程能力,编程的测试贯穿于整个过程中。Dragons’ Test 本身就是一个带有 5 个标签的 Ios 应用,每部分代码都有所缺失。考试的时候我们把源代码发给应聘者,然后开始计时,应聘者必须根据给出的 bug 清单对程序进行修补,难点在于有些 bug 没有出现在清单上。

  这套测试其实也是 Empirical Development 员工日常工作的标准。应聘者完成测试后,我们记录下他的完成时间,再请我们的高级工程师“打分”。10 年来,没有一个人能做出过完美的解答。

  提问:公司刚起步时,你是怎样管理行政事务的(比如法律事宜、会计、工资等)?

  Kyle Richter:除非你有风投公司或是一笔信托基金的支持,否则成立公司的初期,很难雇人来打理全部的行政事务。我从一开始就包办了所有的行政工作。实际上,我现在还在管理其中一些事物,例如工资发放等。

  法律事务是个棘手的问题,除非你是个律师,否则谁也不愿意处理商务领域的法律问题。最开始合同上的条款都是我自己写的,由于没有专业性,结果输了好几场官司,也赔了很多钱。但是聘个律师花费很高,很难确定什么时候雇他们。我也是在公司发展到一定阶段的时候才意识到是时候请个代理律师了,让他们经手公司各种法律事务,例如使用 LegalZoom 的服务来支持自己的保密协议等。

  提问:你们公司自己也开发应用吗?

  Kyle Richter:最开始我们只有开发了应用的业务,然后才扩展到咨询业务。Empirical Development 公司有一个产品平台叫做 Dragon Forged Software,这个平台推荐给开发者一些开发工具,例如 Resolve 和 Slender。开发者在 App Store 上可以下载到。

  我们也开发了一些游戏和几个小有名气的 EOL 产品,比如 Transactions 和 Handshake,还有一款数据修复的应用。我们尽量自给自足,自己创作日常开发工具。

  在移动市场哪里需要我们,我们就出现在哪里。事实上,一旦有所需,我们就会自行开发软件。我们公司也有一整套没有公开的内部产品,用来起草招标文件、评估员工绩效。

  我们的员工主要来自加拿大和美国,都是远程工作的。经过多年努力探索,我们现在远比固定场所工作的团队效率高出很多。我们的交流工具有很多,其中几款工具大家可以了解下:

  • 一对一交流时,我们就用 Adium/iChat/Messages,有时也用电子邮件。
  • 团队交流时,我们用 Campfire,辅助工具 MAC OS X Propane 是我们公司的 Trevor Squires 编写的。
  • 我们用 Freshbook 来管理时间、预算,工资和账单。
  • 管理工作进度时,我们用 LighthouseApp,它的辅助工具 ResolveApp 也是我公司的一个产品。
  • 我们也常用到 Facetime 和 Google Hangouts,因为有的时候面谈效果更好。
  • 再补充一点,为了发展和谐的员工关系,我们创办了一个公司内部的 wiki,每周组织全体员工在 Team Fortress 2 游戏的死斗模式下一较高下。

图:公司自给自足的办公软件 Dragon Forged Sofware

  我在各种大小办公室中都工作过,而现在的工作模式使得员工彼此之间更为亲近。要是从头来过,我还是会选择远程工作模式。

  提问:你觉得你公司开发的应用程序具体成功在哪里?

  Kyle Richter:我觉得是对细节的重视,没有成功捷径。要写个程序很简单,但要写个反应快、效率高、内存低又界面美观的程序就不容易了。不真正投入到你手头的程序中去,就不可能脱颖而出。一个开发者要经常问问自己:还能做得更好吗?还有别的方法吗?这是最佳方法吗?我经常对我的员工说:“这还不够好。”这不是存心刁难他们,这是种鞭策自己的方式,既要严于律己,也要严于待人。

  对很多开发者来说,按预期写好编码就算任务完成,而对我们来说这仅仅是个开始。一个对自己的产品充满信心的开发者绝不会随意复制粘贴 Google 上搜来的代码,也不会随便找一段公共数据库的资料稀里糊涂地拿来用。你写的软件能够反映出你的言行,你希望别人怎么看你呢?

  提问:对准备创办咨询公司的人们有什么建议么?

  Kyle Richter:要广交朋友,人际网络对公司成败至关重要。可以参加一些大小会议和 CocoaHeads 的活动,在论坛和新闻评论中积极发言。当你遇到瓶颈的时候,一个友善的社交圈会给你带来很大帮助,他们能帮你找到程序漏洞、替你物色帮手,还能给你介绍客户。过去十年来,很多时候都是靠朋友帮助,我们才躲过一劫。我建议各位外向一点,对每个人都友好相待,特别是那些乍看之下的泛泛之辈,他们往往会成为你事业成功的帮手之一。

发表评论
用户名: 匿名