NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

七步打造一家成功的软件开发公司

  • 2017-09-12
  • 本文字数:3582 字

    阅读完需:约 12 分钟

关键点

  • 团队非常重要,这是公司的支柱。这也是为什么你的面试流程必须非常严格的原因之一。
  • 要有清晰的焦点:不管是技术、服务还是产品,要获得更大的成功,你就要不断地尝试去掌握某一方面。
  • 多建立伙伴关系并重视它们:不管是现在还是将来,更大的关系网都会给你创造更多的机会。
  • 每天不断地向团队讲述你的核心价值观,并下大力气围绕你的核心价值观来打造企业文化。
  • 不断地紧跟时代潮流,寻找新机会,但同时也要密切跟进你的支出和收益。

打造一家成功的软件开发公司,这事从来都没有像现在这么难过。哪怕仅仅是几年前,不错的公司也不过是在办公室提供早餐、为员工提供培训机会来提升他们的技能水平,类似这些而已。可现在世道已经完全变了。为了吸引和留住顶级人才,我们必须去请来专业的教练,并且要把办公室安排在风景优美的海边。

用称职的和激情的 IT 人士组成核心团队

团队永远是最重要的!只要核心团队靠谱,你就已经踏上了成功之路。作为 Dreamix(一家做 Java 和 Angular 开发的软件公司)公司的 CEO,我可以非常有信心地说在任何 IT 公司,CTO 都是最重要的角色。不过,他或她并不一定要做一个可以实现任何你想要的东西的极客。相反,你需要的是一个领袖,需要他去鼓励团队,并且可以将最好的专家吸引到你的公司来。

我们公司的 CTO 叫 Angel(他也的确是我们的天使),他的确是我们的福星。在公司刚刚创立的时候,他还在当地一家大学里教 Java 开发。公司里有一位 IT 业界内的名人,这可是无价之宝。有这么一个人就意味着他会不断地培养出专家来,而不只是招个人进来,然后就让他去做个什么项目。从我们与 Angel 相处的经验来看,大家都非常关注和看重他关心的东西。

而且,你还需要一位强势的经理和软件架构师。这些人都到位之后,你就可以放手开干了。

关注关键技术或业务解决方案

这是一个永远的话题:你到底该关注技术还是业务解决方案?对我们来说,技术为先。我们决定关注 Java 后台和网页解决方案。我们不做.net 或智能手机 App,也不做页面设计。我们甚至花钱请了一家别的公司来帮我们重新做了主页,因为我们真的没有做过任何页面设计相关的项目(的确如你看的那么可笑,一家 IT 公司竟然还要请别人来帮忙做网站)。

“我们公司里随便一个人都可以搞定任何问题”,这样的大话在以前也许还能管点用。但如果现在把你们和业界顶尖的公司放在一起比较的话,没人会相信你们这拿着一把小瑞士军刀的公司,会比别的拿着大砍刀冲过来的公司强。

而且根据我的经验,当你的员工们各自有各自的强项时,大多数人其实是坐在候补席上的,因此你的利润率就更低了。因为你不可能让销售把各种类型的项目都找来做。而且按墨菲定律所说,等你招到了一个 Ruby 开发者之后,你接下来的项目就肯定都是用 Java 或 C#的,但绝对不会有 Ruby 的。

建立严格的面试流程

核心团队建立之后,你就要严把用人关,只让合适的人被录用。要同时做技术面试和“文化适合度”面试(下文会更多地讲到文化)。严格的面试有两方面好处:

  • 这样可以帮你请到很强的专家。你要保证你请到的都是顶尖高手,因为顶尖高手才能打造顶尖的公司;
  • 这样你在业界面的名气就有了。比如你拒掉了一个有十年工作经验的人,原因是他的多线程编程技术达不到你的要求。一下子全城的人都会听说这件事。然后怎么样?有些高手就会非常想来尝试一下,看看你会给他打多少分;

不过即使你请到了技术非常强的员工,你们公司也不一定会发展得非常好,因为大家都知道,开发软件很重要的另一方面是与对方进行沟通。因此我们的面试流程中还有另一部分:“文化适合度”。在面试过程中我们会问,你自己提出过什么点子?在上一家公司工作时你做出了怎样的贡献?你怎么给予你的同事帮助呢?这些问题会帮我们确认我们选中的人将来可以融入我们,并且善于沟通,会成为我们的好队友。

建立伙伴关系和业务开发网络

业务再重要也比不上客户和合作伙伴。作为一家近岸外包软件开发公司,我们的客户来自不同的国家,甚至不同的大陆。这意味着我们必须注意保持与客户近距离接触。因此我们与不同国家的许多软件开发公司都建立了合作伙伴关系,包括英国、瑞士、德国和美国等。有了好的合作伙伴,就能接触到非常不错的客户和项目。如果交付的软件质量又非常高,那很快你就会成为他们的第一候选。不过,你要明白这个过程并不容易,你要做好付出的准备。

根据我的经验,当你一个项目也没完成时,客户一般不会信任你。比如,我们第一次帮一家位于伦敦的咨询公司做项目时,我们派了一位员工去他们公司驻点。我们的专家干得很漂亮,没用多少时间就把项目完成了,成功地证明了他的 Java 和集成技术是多么熟练。之后不久客户就联系我们了,还想再多做一个小项目。尽管项目需要出差到威尔士市郊,我们还是克服了困难,派人去那里干了几个星期。那个项目很难搞,有很多旧程序要重构,根本就算不上“梦想中的项目”,但我们还是花了很大精力,做了很多牺牲,最终成功地超出客户预期完成了它。

做完了这些早期的项目之后,再扩展合作、讨论新的项目机会就容易得多了。所以我才会建议你一定要重视最开始时的小项目,一定要做得非常好。一旦你成功地获得了客户的信任之后,再去争取一些长期的、好的合同就是水到渠成的了。

企业文化以及为什么它很重要

企业文化的意义在于,你相信的价值是什么,为什么你要追寻它,你想了什么主意去支持它。在这里我要感谢我的伙伴 Stoyan,他成功地在 Dreamix 里建立了很好的企业文化——在他的一篇博客“ Dreamix:为什么企业文化这么重要?”里你可以了解到更多内容。

简而言之,你要确保的是:

  • 你们公司的价值:包括内部和外部两方面。内部价值指可以帮助员工们工作得更好的东西,外部价值在于可以吸引和留住客户的东西。
  • 支撑着它们的点子:如果你的价值是要在新兴技术中做得很好,那就定个例会,每两周开一次,在会上每个人都做一下分享,新的框架、技术、甚至新兴公司等都可以。如果你想成为一家成功的咨询公司,那就请一些著名的咨询师来,分享一下他们是怎么成功的。
  • 找些办法去推广你的文化:可以写博客、拍视频,或者组织些活动去展示一下你在这方面取得的成就。

有个良好的企业文化可以让你在很多方面受益。比如根据我的经验,每周举行线下的例会可以让大家有机会在众人面前展示自己并提高受关注度,可以在有问题时及早发现。大家对工作满意时,就会推荐自己的朋友来应聘新职位。我们设立了内部推荐奖,结果在招聘工作上省了一大笔钱,所以我们就更可以专注于把公司做得更好。

跟上新技术的步伐

现在主流的核心技术差不多每五年就会发生一次重大变化,作为这个时代里的一家技术公司,你就要不断地改变自己,适应变化。

十一年前我们公司刚成立时,RIA(Flash)技术已经应用得很广了。现在我们在把 Flex 程序改成 Angular 的。假如当初我们决定固守旧的技术,那现在就只能做做支持旧程序的事,当下一次技术变革到来时,我们就完全无事可做了。与之相反,我们一直在紧跟潮流,现在我们还在筹划着建立一个 AI 部门。

这里还有件趣事。在大家刚开始鼓吹“JavaScript 框架”的时候,我其实并不看好它,可是公司里有些骨干却非常热衷于它。后来,好几个人开始主动地进行尝试,有一个还成了使用 AngularJS 和 Angular 的 JavaScript 前端专家,这些都是发生在 JavaScript 流行推广开之前的事了。

经验更丰富之后,我们就开始在内部举行培训、讲座等活动。等我们成了专家,我们就开始写博客,分享知识。我讲这个故事的关键在于,你要依赖你的技术人员——你是 CEO 并不意味着你就可以搞错技术潮流甚至错失商业机会,要知道别人可能很轻松地就可以看出来。

关注底线

公司的技术实力强,这与成功并没有直接关系。项目做得好却赚不到钱,这样最后也会是死路一条。同时,也很符合常理的是,你提出来的方案必须是对你最划算的。我们在公司里搞了个商业智能白板,用于监控我们的收入、支出和利润。这可以帮助我们:

  • 鉴别出那些赚钱的项目;
  • 关注支出;
  • 了解利润率以保持竞争力;

我们会跟进公司里的所有指标,从而计算出上述内容:工资、社保、租金、销售支出、试错代价、培训、病休、假期等等。另外,我们也可以通过这种办法了解每个部门的预算,比如当我们决心加大销售支出时,我们也可以知道我们到底想要投入多少,从哪里可以压缩些费用出来补贴这边。

上述七点内容来源于我们十一年的实践经验,也是打造一家非常棒的软件开发公司所必须关注的主要方面。当然,我相信你肯定也会有你的独门秘籍,可以让你从众多竞争者中脱颖而出——如果你能写在下面的评论区里,我感激不尽。

关于作者

Todor Gigilev是外包软件开发公司 Dreamix 的 CEO。他有软件工程和架构的背景,曾服务于 BNP Paribas、苏格兰皇家银行和 Vistajet 等公司。现在,他的公司的使命是帮助跨国公司实施他们的关键软件平台,以及成功地完成数字化等。

阅读英文原文 The Seven Steps to Building a Successful Software Development Company

2017-09-12 17:352727
用户头像

发布了 152 篇内容, 共 68.1 次阅读, 收获喜欢 63 次。

关注

评论

发布
暂无评论
发现更多内容

易观分析发布:证券类APP用户体验指数评测框架

易观分析

证券app

恒源云(Gpushare)_模块化oss数据上传小技巧

恒源云

深度学习 GPU服务器

受信通院之邀出席全球信息系统稳定性峰会,数列技术实力再获认可

TakinTalks稳定性社区

架构训练营模块九作业

Geek_16d2b8

架构训练营

字节”再次起跳!内部651页剖析HotSpot 源码手册,GitHub开源

Java架构追梦

Java 程序员 后端开发 字节

张文骁:游戏开发的“零件人”梦碎之后|OneFlow U

OneFlow

2022年短视频电商品牌营销专题—手机品牌抖音营销分析报告

Geek_2d6073

宜搭小技巧|巧用审批按钮,流程随心流转

一只大光圈

低代码 数字化 钉钉宜搭

如何用 Serverless 低成本打造个人专属网盘?

阿里巴巴云原生

阿里云 Serverless 云原生 网盘 低成本

腾讯云百万容器镜像安全治理运营实践

腾讯安全云鼎实验室

安全服务

企评家|上海星光电影股份有限公司成长性报告简述文章

企评家

大数据 企业 企业评价 企业大数据 企业成长性

【今晚19点】关于论文复现赛,你想知道的都在这里啦!

OpenI启智社区

PaddlePaddle 论文复现

KMRE 再升级!你们想要的功能它来了~

优麒麟

开源 软件 安卓 优麒麟 KMRE

架构训练营毕业总结

Geek_16d2b8

架构训练营

自动化,怎么能少了性能测试

SoFlu软件机器人

利器解读!Linux 内核调测中最最让开发者头疼的 bug 有解了|龙蜥技术

OpenAnolis小助手

开源 内存 技术分享 内核 龙蜥大讲堂

知乎疯传3W次,堪称最强Java面试题,顺利拿下京东T5的35K*16 薪 Offer...

Java架构追梦

程序员 java面试 offer 后端开发

华为云持续快速增长 践行“深耕数字化,一切皆服务”

科技热闻

区块链合约安全系列(一)公链合约权限校验引发的严重安全问题

BSN研习社

区块链

nginx配置系列(一)nginx配置语法解读

乌龟哥哥

4月月更

编程好习惯

源字节1号

软件开发

云原生小课堂 | 一文入门性能凶悍的开源分析数据库ClickHouse

York

数据库 开源 容器 云原生 Clickhouse

热烈欢迎金蝶云·苍穹正式入驻 InfoQ 写作社区!

金蝶云·苍穹

阿里云EMAS旗下低代码平台Mobi开放定向内测

移动研发平台EMAS

阿里云 低代码 公有云 研发工具 全端

企业团队协同软件,SaaS模式产品快速增长

小炮

SaaS 企业团队协同

精巧的Boyer-Moore投票算法

皓月

算法

关于一家企业的成长性评价,其评价维度都有哪些?

企评家

企业 分析 成长性 评价 企业成长性分析

聚焦新基建,企业如何实现供应链管理再升级?

数商云

产业互联网 新基建 供应链

被裁后半月面试8家公司无果,凭借这份Java面试指南成功入职阿里

Java全栈架构师

程序员 JVM 高并发 架构师 java面试

恒源云(Gpushare)_社区小伙伴的技术小闲谈

恒源云

深度学习 算法

堪称完美的SQL调优笔记居然是百万年薪阿里P8大佬熬肝纯手打,内容简直太香

Java架构追梦

Java 程序员 java面试 后端开发

七步打造一家成功的软件开发公司_文化 & 方法_Todor Gigilev_InfoQ精选文章