大公司和小公司的程序员差别在哪?程序员能去小公司吗?

大公司、小公司我都待过,今天就和大家说说我的经历,先从小公司说起。

之前文章说过,我的第一份工作是在一家北京的小公司做程序员,全公司一共 6、7 个人,最开始大家都挤在一间十几平米的屋子里,到我两年后离职的时候,条件改善了,搬到了一个两居室里。

公司里算上我一共 3 个程序员,其他人都是销售。销售出去接项目,程序员负责开发项目。

小公司做项目,要求你啥都得干,我在公司的两年多里,我参与的几个项目都是我一个人完成的。

比如我做的一个项目,是给天津的一个手机销售连锁店做个 CRM 系统,这个系统除了 UI 找的外包,剩下的都是我一个人做的。那个年代还没出现前后端分离这种高级概念,主流用的 Java、Servlet、JSP、JS 我自己现学现用,咬咬牙还能应付。

公司小,也没有专门的测试,这其实还好,自己开发自己测试呗,系统也没有多复杂,自己测试细心点就行了。

最头疼的就是出差去天津客户那里,从初期的调研需求,到中期的汇报演示,到最后的部署上线、给客户培训,都是我一个人去的,前前后后去了很多趟。

每次客户问起来“这个项目是不是就是你一个人做的啊?”,我都努力镇定的说“不是,我们有 3 个人一起做”(这是老板提前教的回答)。

客户的疑问咱也能理解,毕竟一个 10 万块钱的系统,每次只见到我一个人——毕业刚一年的稚嫩程序员,搁谁谁也不放心,生怕给做黄了。当年北京平均房价还不到 1 万,这 10 万都够一套小户型房子的首付款了。

小公司还一个问题,就是不规范,当时我也不知道规范的流程是啥样的。做了好几个项目,几乎没写过文档。遇到有的客户要设计文档、用户手册,那简直太痛苦了,心想还不如你再给我加几个需求呢。

可能你们根本想不到,我那时候连 log4j、logback 都没用过,从头到尾都是靠 System.out.println 搞定问题。

CodeReview、SVN 这些听都没听过,更别说用过了。

另外,就拿我们公司那几个人的规模来说,就注定做不了大项目,总做小项目,总是写 CRUD,写时间长了就没啥意思了,技术水平也没啥长进了。

在小公司那几年,虽然我干的事情很杂、不规范,但是现在回过头来看,那段经历也挺珍贵:

  • 一个人干多个人的事儿,真的很锻炼人。

  • 做事高效,有啥事情,一扭头就可以和老板商量了。

  • 气氛好,大家经常一起出去吃喝玩。可能也是因为公司人少钱少,根本没有拉帮结伙去争的必要。

后来随着跳槽,我经历过几百人、几千人、上万人的公司,接下来再说说我的大公司经历。

1.

公司大了,人多了,优秀的人也多了。我在一家公司认识了两位优秀的程序员,和他们一起工作过程中,让我受益匪浅,被他们带着一起学技术、分享技术、翻译书,这些之前文章写过,这里就不赘述了。

总之,他俩是对我十几年编程之路帮助最大的人,认识他们之后是我的技术突飞猛进的开始。

2.

我曾经待过的一家中等规模的公司,进一个项目组没几天,我就感觉到技术和业务的各种矛盾。一会儿是业务说技术理解错了,开发的功能没有按设计来;一会儿是技术说,业务上次定好的怎么说变就变了……就这样讨论来讨论去,项目开发中间反复修改。最后项目上线有问题了,又是互相指责,新一轮的甩锅大会。

以上情况在其他项目组也或多或少的出现过。

经过几次客户投诉,老板坐不住了,从某家大公司高薪聘来一位高管。这位高管确实有本事,强行要求了业务团队的文档输出,强行要求了技术团队的结果输出。总的来说,就是制定了一系列的流程规范,并且强制执行。

效果立竿见影,公司的各种项目落地速度加快了。当时,我还是个开发小兵,但是好处是能亲身感受到的,没那么多会议了,没那么多扯皮返工的事了。

谁知道,好景不长,一年多时间,高管走了,据说是因为公司的派系斗争。

高管走了之后呢,规范化执行就不再那么得力了,慢慢的又变成了以前的烂样子。

这次的经历,是给我留下了深刻的印象,我第一次体会到了规范化的重要性。

3.

大公司复杂的项目更多,复杂的项目可以倒逼程序员技术提升。

一路走来,我发现自己的技术水平很多时候其实是随着项目的发展被迫成长的。其实,很多时候,自身水平达不到能顺利完成架构项目的水平,但是只能咬牙坚持,逼着自己不断学习。

一个程序员的技术水平的高低,是看他做过多少系统,更重要是看他踩过多少坑。

就像做好几个单体系统,都不如做一个高并发、分布式系统的含金量高。但是一直待在小公司,又接触不多高并发。

4.

复杂的项目提升技术——这一条也不总是起作用。

十几年前,我参与过上海证券交易所的一个项目,可以说是一个又大又复杂的项目。

  • 大——整个项目好几百人,是我参与过的一个人数最多的项目,估计这个纪录到我退休也打破不了了。

  • 复杂——和股票、钱相关的项目,复杂性也不用多说了。

但是我想说的是,这个项目对我的技术成长其实帮助不大。为什么呢?

开发的时候,整个项目被拆分的非常细了,每个小组、个人所负责的功能就那些,而且各种规范也给大家定了条条框框。比如日志要求debug、info、warn、error必须格式到位,入参、出参、耗时更是严格要求打印出来。

我们当时调侃,写代码就像糊火柴盒一样。按照文档、图糊的这些火柴盒,都不知道能搭出来一个怎样宏伟的系统。

很多大公司的程序员都像螺丝钉,人尽其责,每个人只负责一块内容。时间长了,如果再没有轮岗,那早晚有干吐的一天。

5.

没去大公司的时候,我特别羡慕大公司的培训,这事多好啊,公司掏钱让员工成长。

刚进大公司,我发现大部分老员工对公司的培训并不感兴趣,能不去就不去。开始我还挺不理解这事。

随着我参加了多次培训之后,慢慢的,我也变得和那些老员工一样了。

  • 很多培训和技术无关

  • 有些培训学完也落不了地,比如 OKR

  • 平时工作就够累了,我学不动了,我想躺平了

  • 培训安排在周末,没诚意

6.

大公司的福利好、工作强度大、能给个人镀金……这些我觉得大家都知道,没必要写了。

以上就是我在小公司和大公司的经历和感受,不吹不黑。

以上都是个人经验,一家之言,可能都不对,但不接受反驳。

大公司、小公司各有利弊,无论是身在哪种公司,多看自己公司的优点:

  • 大公司规范、专业;小公司灵活、高效

  • 大公司项目复杂、挑战大;小公司更锻炼程序员全才

  • 大公司优秀的人多;小公司人少、是非少

  • 大公司有完善的晋升机制;小公司你能力强,或许晋升很快

最后,如果你第一次进入大公司,再给大家叮嘱几句:

1.不要乱打听薪水。小公司没多少人,人际关系也简单,大家接触多,互相都熟悉,有时候顾忌少。大公司要求员工薪酬保密,还是少问别人薪水,大不了以后对玩的好的同事知根知底了,找个私下场合,聊着闲天问好了。

2.别对已经定好的规范指手画脚。去大公司之后,各种开发规范让我这个小公司习惯了野路子的程序员非常不适应。后来我明白了,大公司制定规范的那些人当然知道规范会拖慢速度,但是人家除了追求“快”,更追求“稳”,更追求开发质量,更追求项目以后的可维护。

3.多认识点优秀的人。三人行必有我师,更何况大公司本身优秀的人就多。

4.不要给自己设限。我刚去大公司的时候,虽然有专门的测试,但是我在小公司已经习惯自己开发自己测试了,所以提交测试之前我都会自己先测的差不多了,既给测试少添麻烦,又显得自己代码质量高。

5.尽量参与核心业务。如果你参与的是非核心业务,即使是大公司,说不定哪天业务就被砍了,例如前几天的字节的教育版块。

最最后:

不管你在大公司还是小公司,多看公司的优点。那些改变不了的东西,再怎么纠结也没用。

调整心态,珍惜当下。

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号

好文章,我在看❤️

当年,我从小公司翻身进大公司之后……相关推荐

  1. 进大公司还是进小公司

    对于这个问题始终没有一个固定的答案,就像两条路始终都有人失败和成功.因为成长的道路上会有太多的因素在影响着我们.这里我想举一个可能不是特别恰当的例子但是相似的例子就是读大学.一个好的大学和一个普通大学 ...

  2. 学stm32有机会进大公司吗?如何选择?

    进大公司似乎跟你会什么单片机并没有直接的关系. 但凡做过几年研发的都知道,虽然我们是从事嵌入式单片机开发,但核心其实还是你的编程思维和水平. 企业做产品不是固定用哪个单片机的,而是根据市场的情况走,我 ...

  3. 想要以后利用建模创业,早起是进大公司还是进小公司好?

    很多刚踏入建模行业的人,不知道对于自己而言,是进入大公司对自己好一点,还是进入一个小一点的公司好一点,今天就来给大家分享一下到底应该进大公司还是小公司. 现今社会,很多人进入大公司都会觉得:啊,我在中 ...

  4. 35岁之后,不太建议你再进大公司

    年轻时候你扛得住,人一过35,就很难. 1 我打工10多年只进过一个大公司,就是华为,后来离职换行业,倒不是因为去不了别的大厂,而是,我20多岁那会儿,就见识了大厂对35+职场人的残酷. 当年在华为海 ...

  5. 程序员想进大公司?学会这门编程知识,决定你能进什么样的企业!

    对于程序员来讲,很多技术真正掌握之后,都能影响甚至说改变一个人的命运,比如:python.AI.DL.算法等等,但是如果只让你选择其中的一项基础知识,你会选择哪个呢? 如果是我, 我会选--数据结构与 ...

  6. 同样是程序猿,为什么别人能进大公司而你不能?

    有没有觉得今年过得特别快,一眨眼,6月过半!又将迎来一波求职期,想趁着招聘季换份工作的.快毕业开始实习的准毕业生们-各路搬砖党纷纷的"复苏"为找工作进行筹谋准备. 今天这篇文章,我 ...

  7. “2020,别进大公司了,android串口通信协议

    一部分人跟风焦虑,另一部分人默默牛逼 一些人对进大公司持悲观态度: "大专或高中学历进不了大公司!" "普通二本进不了大公司!" "工作不满3年进不了 ...

  8. 国际大公司到国内大公司的思考

    Intel到平安的转变 来到平安科技已一周有余,小小写点自己的感悟. Intel和平安,这两个都是世界五百强的公司,一个是美国企业,一个是中国企业,但两个之间的差别还是挺大的. 主要区别在于: 企业文 ...

  9. 从小雪球滚起——大公司的创业故事

    原文:Don't Start Big, Start a Little Snowball 作者: Justin Vincent 翻译:赖信涛 责编:仲培艺 小雪球 当我和我的同事在博客中访问Travis ...

最新文章

  1. 指针小白:修改*p与p会对相应的地址的变量产生什么影响?各个变量指针的长度为多少?...
  2. 来自damon的zencart二次开发教程-3.2复制模板(仿站)操作教程
  3. 上海交大python答案_上海交通大学python期末考试样题加解析
  4. void main()是错误的
  5. 机器学习模型实战!如何从 900 万张图片中对 600 类照片进行分类? | 技术头条...
  6. P6647 [CCC 2019] Tourism
  7. UE4特效萌新上手笔记-Houdini导Niagara配置
  8. python网络爬虫网易云音乐guihub_GitHub - GreatV/CloudMusic-Crawler: 网易云音乐爬虫,数据可视化。...
  9. jvm-垃圾回收(垃圾收集器)
  10. 韩信点兵(Hanxin)(C++)
  11. npm安装包报错,清除一下缓存
  12. p2.第一章 Python基础入门 -- 冯诺依曼体系和计算机基础 (二)
  13. activiti学习(二十一)——流程虚拟机源码分析(三)——从进入到离开userTask
  14. SpringCloud知识概括
  15. 中国探月计算机考试时间,中国探月工程三级跳:嫦娥一号到嫦娥三号
  16. C++【求逆序数The Number of Inversions】如1234的逆序数为4321;
  17. 影视解说怎么制作?求推荐免费的配音软件
  18. SpringBoot整合Activiti7
  19. CSS引入外部艺术字体
  20. s3c6410 Booting模式

热门文章

  1. 2022北京人工智能展览会时间表
  2. 最垃圾的系统之一:广东省自学考试管理系统
  3. jpg转pdf在线转换器哪个好?推荐大家几个转换教程
  4. Python 变量的命名规范
  5. python perl 比较生信_科学网—生信人写程序1. Perl语言模板及配置 - 刘永鑫的博文...
  6. 零基础无实物一步一步学PLCS7-1200仿真(五)-四路简易抢答器控制
  7. 遗传算法(Genetic Algorithm,GA)-基于MATLAB环境实现
  8. 佳能hdr_21天摄影打卡计划 5月15日主题:HDR
  9. 【原创】彼得德鲁克《管理的实践》札记(九)
  10. 从一年看不完1本书,到半年读完30本,我是怎么做到的?