我从传统的软件公司换到了互联网公司,改变的不仅仅是工作时间。虽然都是计算机领域,但是与传统软件企业相比,其中的不同有如中西方文化差异一样巨大。
虽然我工作的时间很长,但是一直从事应用软件编程,在网站开发上算是新手。技术上的不同并没有让我觉得困难,我真正觉得惊讶的是理念方面的截然不同。
- 互联网公司重视的是速度、效率,会议、邮件、文档都被压缩节约。这一方面是网站创意容易被互相抄袭导致的总要快人一步,另一方面是网站程序的修改发布相对传统软件便捷。
- 编程语言、工具的选择比较自由,因为所有的程序都是提供服务,用最熟悉的方式开发出来服务接口供前端和客户使用就可以。在后台利用第三方库实现功能是流行的做法,重新造轮子是不推荐的。而传统软件往往要自己重造许多轮子。
- 加班很普遍,个人的力量相对削弱,所有人都比较容易被替代。因为很少有自己的核心技术,能够接手功能的开发维护就可以,个人的技术能力相对于整个网站开发而言并不如传统软件开发者那样重要。数据库、数据分析,页面设计等等等等都分得很细很专业,各个部分通过标准协议即可交流。
- 互联网公司里面年轻人居多,更有激情和朝气。这得益于工作的成果很容易看到,有即时的反馈和成就感。潜在的问题是工作中不容易看到编程领域更底层的技术,对算法、数据结构的应用不够,能力发展往往流于表面。
- 团队、公司管理的层级不多,管理的方式更为松散。这可能也只是我所看到的。我觉得在BAT这样的公司里面应该能够看到更广阔的公司文化和技术发展方向。我应该在某些时刻去看看这些顶尖互联网公司的内部文化和企业风范,也应当从更高的管理层次去看互联网公司的文化和趋势。
我还算幸运,公司的氛围比较开放,也很鼓励技术交流、学习。第一个项目就是一个微型但是全面的平台网站开发,Python/Flask/SQLAlchemy, CentOS/nginx/MySQL,和前端的页面联调,后台数据库申请、配置等等,我了解了整个网站搭建的全过程。虽然辛苦但领悟颇多。
过些日子我应该可以抽空搭建一个自己的小站了。
知乎上有一个TOMsInsight报告:《人才流动:互联网化背后的无奈 》也正说明了我当前的处境,我能接受互联网的工作方式和文化,但是我也要面对第二个案例的问题。