大公司与小公司的差异
1.背景信息
我是一名普通的程序员,2015年毕业于广东海洋大学
我的工作历程生涯
- 九天软件,2015年9月至2017年2月
- 阿里巴巴-uc,2017年3月至今
恰逢进入阿里巴巴快两周年,谈谈自己对于大公司、小公司的理解吧
2.小公司
第一份工作,加入了一家创业公司,很幸运,我是除了公司创始人之外的第一个技术员工
公司的主营业务:提供集cti、crm、电商与一体的电销系统
在该公司的一年半时间里,系统从0到上线,经历过几次重大的波折
2.1.业务困境
- 在前面的半年多时间里,我们花了很多系统去做crm系统,但是却遇到了一个致命的问题,我们用了普通crm的模式去开发电销crm系统
- 公司内缺乏相关的业务人员,系统按照程序员假设的方向在演进
- 接入第一个客户时,才发现系统与客户原先的旧系统差异性巨大(上线时间紧迫)
2.2.技术困境
- 由于客户的数据规模在:200W左右,一些核心功能的查询性能底,无法满足实时性
- 使用了一些第三方的技术,但是由于缺乏有效测试与架构能力,导致系统不稳定,比如redis,rabbit mq,mongo等
- 数据迁移时间长,不能无缝升级系统,比如总是通宵上线系统
- 服务部署选型失败,使用了window来作为服务器
- mysql引擎选型失败,使用了myisam,导致事物失效
- 缺乏有效的自动化部署工具,部署成本高
- 缺乏有经验的大牛,走的弯路多
2.3.环境变化带来的困境
- 大环境变化时,公司损失巨大,一些合作伙伴的资金无法回笼
- 资金压力,使得我们不得不裁员
- 人心不稳,大家恐惧公司解散
2.3.小公司的收获
在小公司中,由于活多枪少,很多事情都得一人去做
- 比如我是一个java程序员,由于没有前端工程师,摇身一变,自己从0搭建了项目的前端开发框架
- 缺乏产品,自己边开发,边做交互
- 没有DBA,sql性能问题只能自己去研究,比如如果突破mysql在百W,千W数据规模下的查询
当有足够的实际场景的支撑,其实很多问题都变得不是问题,在解决问题的过程中,其实就是不断成长的过程。在九天这一年半时间里,是我第一份工作,但是很幸运,也是一份让我将大学所学的知识,都能够很好的在实践中得到足够的锻炼
2.4.小公司的困境
- 技术突破慢
- 工作背景差
- 收入不稳定,离买房好远好远
3.大公司
在九天,在产品上线后,经过思考,我参加了阿里巴巴-uc部门的面试,经过一番面试后,很顺利的拿到了uc的offer
经过进两年时间的工作,浅谈下在uc工作的感受
3.1.技术成长
来到了新的团队后,发现技术差异性很大
- 语言的丰富度(java,python,scala,php,react,angular,vue)
- 数据规模更大
- 更多的项目
- 多人协助开发,运营、产品、研发、测试
3.2.丰富的基础组件
- hsf
- acl
- aone
- 在线文档
- ...
虽然只是使用集团的一些基础组件,但是能够大大丰富视野
3.3.更厉害的圈子
在小公司,由于资金有限,招聘的技术人员也是鱼龙混杂
比如在小公司时,感觉自己技术杠杠的,但是来到uc后,才发现几乎最弱的就是自己...
认识的同事越来越多后,感觉朋友圈变化非常明显
3.4.更完善的福利保障
这个不用多说,uc提供的服务,让我赞叹
- 全额公积金,社保
- 解决了广州户口问题
- 一日三餐
- 加班打车报销
- ...
4.总结
两种规模的公司,都让我有了不同的收获
现在的我,已经能够从容的面对工作所带来的挑战
或许每个阶段,都会有不一样的认识与收获,好好努力吧,少年