在大公司做凤尾,还是在小公司做鸡头?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a724888/article/details/99709891

阅读本文大概需要 4 分钟。

作者:黄小斜

大家都知道互联网大公司一向以技术强悍而知名,BAT的技术在国内互联网公司里算是比较领先的了,这也是因为大公司的业务繁杂庞大,必须要有足够优秀的技术去支撑。

相对而言,小公司更倾向于选用快速扁平化的技术架构,相对来说技术的沉淀就不会像大公司这么多,所以你会发现大公司里和小公司里,大家的技术思考可能也不太一样。

大公司里通常牛人很多,相对来说小公司里的牛人相对少一点,当然也有很多从大公司过去的牛人。所以这就出现了一个问题,在大公司里,你的技术可能平平无奇,甚至比大多数人都要弱一些,而在小公司里,你可能就会有更多的机会,更多的施展空间,但是你也可能学不到那么多先进的技术。

 

遇到这样的问题,你该如何选择呢?简单来说。是选择在大公司里做凤尾,还是在小公司里做鸡头呢?

首先,从成长方面来考虑,在小公司里,相对来说,做的事情比较独立,而且大公司里,做的事情非常细化,往往你只要负责一个模块,你并且把它做得非常的出色,你需要能够在某一个方面、某个系统或者模块中能够出色的完成任务。

 

同时,在大公司里,你必须要保持快速成长和学习,才能达到比较好的水平。因为身边的人基本上都非常优秀,所以你也没有时间去浪费,你必须要马跟进,要么就会掉队。

在小公司里则不太一样,你可能需要负责比较多的工作,需要承担更多的工作,可能你要负责整个系统的规划、设计,以及各方面的一些考量。

可能在一个项目中的大大小小的事情都需要你来安排和规划,你也可以接触到更多的工作内容,当然了,小公司里主要的问题就在于,你需要做的事情太多了,可能稍微显得会不够专业化,你做的事情可能深度不够,

 

这是小公司里程序员经常遇到的一个问题。当然了,小公司里可能会有更多的机会,因为公司的人比较少,如果你比较优秀,其实很容易就能看出差距的。

这种情况下,你的机会相对在大公司里要更加的多,毕竟大公司里人多优秀,人也多,你就比较难以脱颖而出,这时候如果你能到小公司里去做一个更适合你的工作的话,可能更加的容易完成晋升。

对比完大公司和小公司的优缺点之外,我觉得这个问题更应该按照人的特质去回答。

比如你是一个比较自我的人,不太喜欢太多的团队合作,或者不喜欢跟太多人打交道,可能小公司更适合你。很多时候你可以独立做完全部的事情,不需要太多的和太多的人和事打交道,你可以专心做一个事情。

 

如果你是一个比较能吃苦,并且学习能力比较强的人,大公司显然正适合你,因为大公司的技术比较成熟,如果你能快速进行技术学习,就更有机会成为这里的优秀人才。

到时候你也不必担心去别的公司会有什么问题,只能说,在大公司里可以更快地成长和历练,在小公司里更适合你去带一个项目或者团队。

也就是说,在你拥有了一定的技术沉淀之后,再去小公司可能会更加的得心应手一点。对于普通的同学来说,在公司里的最初几年,你只能当凤尾,很难超过你的前辈。

所以,在大公司一定要保持好自己的心态,多向他人学习,不要放弃自己的成长,一定要多看多学多问,这样子,你才能更快的抓追追赶上其他更优秀的人。

否则实力不进则退,身边的人太优秀了,你可能会感受到一定的压力,但是这是你前进的动力。

事实上,我只在大公司做过凤尾,并没有在小公司做过鸡头,所以如果以上YY的内容有什么偏差,那么也欢迎发表你的看法~

 

谈到大公司和小公司,这里分享一下我之前写的一篇文章《从三流小公司到一线大厂,聊聊程序员的成长之道》

用我的一些经历,来给大家一些更直观的感受。

作者:黄小斜

 

我想,没有一个程序员能够一步登天,一下子达到很高的高度,有些路是我们必须要走的,有些阶段是我们必须要经历的。有入门,才有进阶,才有更上一层楼。

别看我现在在大厂,但是我也待过小到不能小的小公司,也许你会感兴趣,那么不妨听我说说,我在学习编程路上待过的公司吧。

 

不到20人的小公司

我在大学的时候学的不是计算机,上的课程基本上和计算机也没太大关系,但是我从小还是比较喜欢捣鼓电脑的,不瞒你说,以打游戏为主,修电脑为辅。

兴趣使然,于是大学期间想要自学编程,但是无从入手,于是让家里人介绍了去了当地一个小公司学习php,对,就是那个世界上最好的语言。

公司一共就10多个人,大老板就在旁边办公。当时我对计算机语言的认知是:Java好像很火,php没听说过,上班(学习)之前只在w3cschool上看了一些简单的教程,然后就自信满满地去公司实习了。

结果一看公司里的代码就懵圈了,这啥玩意啊,我学的怎么都用不上呢。再看看其他人,都很熟练地写着php代码,所谓的“师傅”压根也没空搭理我,索性我就开始自学,学了几天html和css,写了几个小页面就开心得不得了,给我师傅一看,他特别鄙夷地看了看,然后再也没管过我。

一个月之后,我就开溜了,当时主要也就是想体验一把程序员的生活,顺便学习一下世界上最好的语言。

这么一体验可把我打击坏了,原来写代码这么难啊,这么小的公司代码我都看不懂,哪有可能去大公司啊。

所谓初生牛犊不怕虎,大概也就是这个意思吧,无知可怕,但一直无知就很可怕了,后来有一个契机,让我再次接触到了编程。

500人左右的公司

大三的时候交换了一段时间,学习了几门编程语言,像Java、前端、php、Android等技术都接触了一些,算是对编程有了比较具体的理解,特别是在Android课程上,写app让我特别有成就感,那时候我就想,我以后就搞Android吧!

当时想法很单纯,感觉搞app有意思呀,于是想找一份Android的实习,我们家那边的IT公司本来就不多,稍微大点的也就一个,几番争取之后,在这家公司也获得了一个实习机会,只不过当时他们不需要Android工程师,于是安排我做Java Web,于是我和Java Web就这样结下了梁子,以至于我后来就在这条路上走到黑了。

这是我大学毕业那个暑假参加的实习。因为当时已经考上了研究生,所以想积累一点实习经验。

这个公司比上一家靠谱一些,当时用了一些框架,还需要我自己写前端代码,那时候我基本也是0基础的状态,一边学Java语法,一边学html、css、js,然后还要完成部门安排的新人作业。那时候感觉自己真的菜啊,隔壁几个学历不高的小哥哥都可以熟练上手,各种开发,我还一脸懵逼,无从下手呢。

那时候我学会了向技术大牛提问,用有道云笔记做笔记,以及使用eclipse,也算是误打误撞地入了门,当时觉得Java Web好难啊,我要去做Android开发,不过最后还是没有等到机会,于是呆了两个月就走了。

然后,我就开始念研究生了。

网易和百度

在读研之前,我是没有想过我能进大厂工作的,我记得大四的那个招聘季,投了我们省内的一些公司,罕有面试机会,有面试机会的岗位也都没有通过,当时仗着自己有Java实习经验就去投Java岗位,结果各种吃闭门羹,其实都不是什么有牌面的公司,但是却都拒绝了我,可见当时我的水平有多次。

于是从研一开始,我终于确定了Java这个方向,并且疯狂补基础,计算机基础、Java后端技术栈,需要什么补什么,大厂怎么要求我就怎么学,可能是我的执着也感动了我自己,后来就拿到了网易的实习机会,再后来也拿到了百度的实习机会。

在网易实习让我过了一把大厂瘾,当时去实习也就是打打杂,做点边边角角的任务,但是已经很震撼了,大型项目用到的技术、代码量、架构设计、标准业务流程,都让我很兴奋,不过当时光顾着兴奋了,没用到多少资源西就走了。

百度是第二次大厂之旅,相对来说没有那么兴奋,但是百度的技术还是比网易要靠谱一些,能学到的东西也更多,部门的技术栈虽然和我不是很搭,但是作为热爱学习的我来说,还是愿意花时间去学习的,在百度呆了半年,说实话技术没提升多少,其他的东西倒是学习了很多,比如百度自研的一些技术,以及部门在用的OpenStack和docker。

有了两段大厂经历加持之后,秋招也变得顺风顺水起来。最后能拿到不少大厂offer,我想是时间帮了我最大的忙。

阿里

刚刚开始,且行且珍惜

 

微信公众号【黄小斜】作者是蚂蚁金服 JAVA 工程师,目前在蚂蚁财富负责后端开发工作,专注于 JAVA 后端技术栈,同时也懂点投资理财。目前我坚持学习和写作,用大厂程序员的视角解读技术与互联网,我的世界里不只有 coding!关注后回复【程序员】【JAVA】【面试】等技术关键字,即可领取我推荐的免费学习资料。

                     

 

展开阅读全文

做业务还是做底层?

05-17

我工作有2年了,做java的web应用,在一家国内知名的互联网公司。rn做的就是一个具体的互联网产品,也就是大家现在天天玩的东西。rn做了两年了,需求分析——系统设计——代码实现——迭代开发,rn迭代速度都很快,业务上琐碎的细节也很多,很多时候都在疲于应付产品设计师或者产品经理的业务需求,rn有偶尔停下来思考下系统的技术优化,但发现自己每天都是写一些重复的业务逻辑代码,rn很多东西,都已经摸索出来一套解决的套路,也许我并不知道其中的原理,但是我可以按照这个还算优秀的模式来实现它。rnrn现在这个产品在改版了,其实一直在改,互联网产品靠的就是流量,也就是人气,但是我做的这个产品,一直没有达到上头期望的人气。rn最近自己开始思考一个问题:发现自己这两年,忙碌确实也很忙碌,充实也很充实,但是,却并没有真正掌握什么实际的东西。rn为什么这么说呢,rn我每天都在用Spring,但其实你要问我很多配置项的含义,Spring底层的实现,我都不知道。我只是知道怎么来使用它。rn我每天都在用Java写业务逻辑,但是实际上,基本都是调用底层的数据层接口,没有多少设计到List,Map,多线程的业务逻辑代码。rn我每天都在用Jboss,但是我并不知道里面的原理。rn。。。。。rnrn是我自己没有去钻研,这样说也对,但是因为每天忙于做业务逻辑,忙于进行项目管理和资源协调沟通,我其实并没有多少精力来钻研这些,而且,就算我去钻研了,但是实际的日常工作中也很少会用到,不久就忘记了。rnrn我是不是就是传说中的代码工人?rnrn但是实际的我的月收入并不少,而且我是研究生毕业,并且是我们组的业务骨干,核心开发,很多项目都是由我负责的。rnrn但说到底,我还是觉得我只是个做业务的,我没有多少机会去接触性能调优,shell编程,多线程编程,算法设计等。。rnrn最近准备跳槽,也想给自己换一个方向,不知道我这样的想法是否合适,还请万能的javaEye能给我一个指引!rn 问答

没有更多推荐了,返回首页