Career 2016 年 7 月 23 日

说说我所经历的公司

不知不觉我已经毕业三年了,今年的七月十五号是我正式工作整整三年的日子,在上海这座城市也呆了整整三年,不过今天想说不是上海,想说说我曾经待过的那些公司们,他们的企业文化,工作氛围,员工状态,当然仅仅都是我所感受的。

Intel

厌倦了研究生每天实验室无聊的学术研究的我,和导师商量好了之后,毅然的离开了哈尔滨,潇洒的奔向北京,公司是 Intel,身份是软件开发实习生,加入的是 SSG Open Solaris Group。 和导师商定的时间是不超过 4 个月,不过后来断断续续差不多一年的时间都在北京混,直到毕业前不到三个月才回学校,蛮感谢我导师容忍了我的任性。
作为实习生身份,我并没有做太多深入的东西,依稀还记得当时完成了一个 XML 读写库,当是基于 MINI-XML, 全部使用 ANSI C 进行编写,这是我生产环境的第一个项目。 这段实习经历收获到的东西远比自己对团队所产生的价值高,带我的是一位很资深的软件工程,从他身上也学到了不少知识,对一个初入职场的新人来说很是宝贵。Intel 的这段经历让我养成了很多好习惯.
  • 多看好书 还记得当是刚入职,带我的老师就推荐我两本书: 程序员的自我修养编程珠玑, 现在我毅然还偶尔会翻看。
  • 版本控制, 无论多小的项目
  • 学会测试,然后养成习惯
Intel 的工作环境还挺不错的,茶水间有免费的饮料和水果,自由的上下班时间,同事之间氛围和谐,项目规划很人性。

docomo

当是去docomo的原因其实是毕业论文还没有完全写完,还有很多理论的东西需要做,所以想离开Intel,去一些可以安心做科研的做研究,致力于写好毕业论文,所以最后选择 docomo。 我在 docomo 呆了大约一个月,给我最大的收获,无论如何,都不要去一家日本公司。无他,企业文化和我基因有冲突。

Synopsys

Synopsys 是我毕业之后正式工作的第一家公司,也是对我影响最大的公司。一呆就呆了两年多,我收获了很多东西,好多好玩的小伙伴,我们一起做项目,一起玩晚会,一起吃喝玩乐,leader 和 manager 都非常的 helpful, 他们给你充分的自由,又让你养成了很好的责任心。
我当是加入是 Synopsys SWE team, 这也许是 Synopsys 这个传统的软件公司中最不传统的部门,SWE 主要是负责 Synopsys Infrastructure 方面,我们开发了很多很优秀的基础设施软件,从 Workflow 的管理,到 Build 和 Regression Testing 的 sheduler, runner, monitor, analyzer, 到 disk, virtual machine 的管理和控制。
Synopsys 是家很好的公司,SWE team 是一个很棒的团结,老同事们都经验丰富,乐于助人,不少的老同志也可以说是我心中的极客,而新的小朋友们也都特别的优秀,充满了责任心。我很享受和怀念在 Synopsys 工作的日子。

Second Spectrum

Second Spectrum是一家洛杉矶的大数据创业公司,虽然是一家成立不到三年的创业公司,Second Spectrum 已经成立了包括中国上海,瑞士洛桑,美国洛杉矶三个研发中心,感觉应该像个跨国的超大公司,其实我们所有员工加起来不到70人,作为体育领域大数据分析的佼佼者,Second Spectrum 80%的员工都是工程师。 Second Spectrum 也许是我待过的所有公司中名校毕业生比例最高(主要是 MIT, 加州理工,康奈尔)的公司了,不过在公司刚开始成立的时候,公司为了招 MIT 的人,也是蛮拼的,专门在 Boston 开设了一个办公室,给那些不愿意来洛杉矶的 MIT 或者 Harford 的同事。
Second Spectrum 也是对新技术最激进的公司,在项目中, 数据分析团队大量使用 Python, 而开发团队则大量 JavaScript, Go, Rust, Ruby, Nim, Elix, Swift,Lua,而最近在评估Closure,在框架方面也是五花八门,前端方面 React 已经成为了公司前端项目的默认框架,而 Koa 也逐渐的取代了 Express 成为了公司 Node 项目的默认后端服务程序,Postgres 超越了 Mongo 成为了公司的首选数据库,移动开发方面,Swift 是必选,而 React Native 是否可以用作下一个大移动项目,也正在评估阶段,因为 Redux + React/React Native 的开发方式,真是俘获了好多工程师的心。
Second Spectrum 的工程师们做事情很快,从 CTO 到普通工程师,大家想好要做一个东西之后,拉几个人过来,开始探讨方案, 然后一个构建后端 API,一个构建前端, 一个解决和其他项目的依赖,不到几个小时,一个 demo 就搞出来,然后就开始开发 feature, 很快就可以做展示,然后 push to production, 不断 scale。当然能否这样去运行你的团队,取决于你团队中的工程师,Second Spectrum 招人的时候考察很多时候并不是这个人 Python 有多厉害,JavaScript 有多厉害,其实更多的时候他是否有良好的计算机基础,解决问题是否有清晰的思路。Second Spectrum 会详细的看你的 GitHub, 会审阅你的代码风格习惯,会详细的看你的博客。而在面试的过程中,范围也不固定,从数据库,到前端,从设计模式,到移动开发,都可能会涉及。而对于是非英语母语的候选人,英文会是很重要的一部分。
Second Spectrum 很重视测试和 Code Review, 每一个 feature 的开发,大家都会自觉的写好相关的测试, 进行 peer-to-peer Code Review,然后才会 deploy。
Second Spectrum 是工程师文化很重的公司,无论是在洛杉矶团队还是上海,自由的工作时间,开放的工作环境,分享是公司文化的很重要的一部分,而且融入到了面试中,所以资深的工程师们都十分热心帮助年轻工程师,而作为上海团队资历相对浅的我,得到很多很多的帮助,不仅仅是技术层面,更多还有他们多年工程历练之后的技术态度和问题观看视角。Second Spectrum 基本上和我心中的硅谷优良的创业公司基本上一致,灵活,自由,激进而又不失稳重。

未完待续

我不知道在我的职业生涯,会经历多少雇主,当然,只会不变或者变多,但是我希望不要太多,而且我希望其中有一天我希望雇主是我自己。