为什么不建议去外包公司?我原来的公司就是做外包业务的,现在回想起来,原因有这么几点:

  • 业务的深度不够。我虽然在富士通做了 2 年 C,也写了 20K 左右的 C 代码,但是代码大多都是调相关库的接口,只涉及简单的一些逻辑,没有复杂的数据结构 和设计模式。这种代码写多了就会给人一种错觉:“C 也就那么回事,没有什么技术含量”。自己就是这样感觉的。后来来到华为之后才发现,这错的是多么离谱。
  • 业务的连续性不强。在前公司,光是 C 语言项目,接触的就有 4、5 个,时间短的项目甚至 1 个月就结束了,长的也就半年。这就导致人接触的比较杂,感觉 啥都看过一点,但是问起来也就只懂自己做的那一小部分业务逻辑,对真正的软件开发是没有概念的。来到华为后,七个人一组维护一个 140K 左右代码的组件, 上下游交互的组件就有 10 余个,这就导致每改一行代码都需要考虑对其他组件的影响性。这样长时间的做下来,对软件开发的理解会较前者深入很多。
  • 人员的素质不高。在前公司,入职的同事大多都是二本学校或者普通一本学校毕业的本科生,而华为这边大多都是从 985/211 来的研究生。

以上。