这题我会!
中游985CS专业毕业加入腾讯的师兄来回答下。
先说结论:月入几万的大有人在,完全不是吹牛。
但是计算机行业两级分化严重,收入高的大有人在,收入一般的同样很多,找不到工作的也不是没有。
如果毕业能进BATTMD等大厂,收入薪资福利都很不错,简单贴一张2021校招薪资表:
这还只是本科生的薪资信息,最高都40万了!
但如果是中小厂那就不一定了,如果是小厂那就惨不忍睹了,7k、8k的大有人在。
关键是进大厂,对于程序员来说,只能进小厂和能进大厂的差距真的是巨大的,并且这种差距会随着时间的推移越来越严重!
重点说下如何进大厂:
首先做好以下几点:
算法和数据结构:数组、链表、二叉树、堆栈、排序算法、B+/B-树、DP(动态规划)等;疯狂刷题,撒比算法题、Leetcode等等,都挺不错,刷起来计算机网络:HTTP、DNS、ARP、TCP、IP、ICMP、UDP等;操作系统:IO、存储器、多线程/多进程、同步机制、处理器调度及死锁、设备管理、通道等;计算机组成原理:冯诺依曼计算机组成、计算机层次结构、计算机性能指标等;选定一门主攻的语言方向,比如Python、C++、Java等,并真正攻克它;多实践多上机另外,再多说几点吧:
1.起点很重要
大学期间的学习至关重要,毕业后你就会发现,大学期间学的好的同学越来越开挂,而学的差的同学不少都成了题主口中的「低级码农」。
要想不成为工作5年,还拿着不破万工资的「低级码农」,起点非常非常重要。比如我自己,2008年硕士毕业就年薪10万了。
压根不用考虑题主说的:怎么才能避免那种月工资两三千的码农甚至码奴的生活呢?
以下四点大学学习的建议,如果都能做到,本科毕业15K、硕士20K及以上,并不难:
1.学校内的课程,计算机基础知识,如C语言,数据结构,计算机组成原理,计算机网络,计算机操作系统等这些基础专业知识一定要理解掌握,在校招中,这些内容必考。
2.提升自己写代码的能力。不会配置环境,不会框架,就去找资料自学,B站,慕课很多免费视频课程。
3.做项目。这里不是指学校做的项目,而是真正可以部署上线的项目。你可以去GitHub上找,也可以从学长学姐或者老师看是否有合适的项目,或者找一些大厂实习岗位。
4.疯狂刷算法题。leetcode上的题目很多都可能在校招中被拿来当面试题,《剑指Offer》也挺不错,leetcode最起码刷个200,300道,然后把《剑指Offer》背一遍,基本没大问题了。
尤其是刷算法题,非常重要,知乎上总有些人讽刺刷算法题的人是「小镇做题家」,其实我告诉大家,如果你真是小镇或农村的孩子,当好做题家是你逆袭的第一步。
读硕士的时候,就和另外三个校友一起组队刷题,那个时候我们是在北大ACM网站上疯狂刷:
(这是我刷北大ACM其中的一个账号)大家可以在Leetcode上刷题,如果你能把Leetcode上重难点掌握,说实话你就搞定了70%的大厂技术面试的最重要环节,这绝不是在忽悠,而是身边师弟师妹的普遍反馈。
比如这个阿里大佬刷Leetcode总结的算法笔记,如果你能吃透,那我相信80%的技术面试都会不在话下:
2.多读计算机经典书籍
我一直认为读书是世界上性价比最高的成长方式,书很便宜但分量很重,是让我们摆脱平庸走向卓越的方式之一。
对于计算机专业的学生而言,读计算机经典书籍不光能让你快速提升知识和能力,更会让你在校招之际如虎添翼。
工作12年之后,我愈发觉得能否保持读计算机经典书籍的习惯,是高级工程师和初中级工程师的分水岭,这里送大家一份经典书籍打包资料,我把大学和工作中用的经典电子书库(包含数据结构、操作系统、C++/C、网络经典、前端编程经典、Java相关、程序员认知、职场发展)、面试找工作的资料汇总都打包放在这了,点击下方链接直达获取:
我已经帮大家打包好了,点击下方链接直接获取:
3.用心热爱、用力拼搏
2008年毕业加入腾讯做C++开发,第一年的感觉是:卧槽,我能改变世界了,太奇妙了!你看腾讯的这些游戏就是我做的!
2009年加入人人网,担任技术主管,负责人人游戏大厅,第二年的感觉是:我居然还有这么多不会的,尤其是在插件领域,居然有这么多新玩法!我要抓紧学习。
2010年降职涨薪加入创业时期的360,担任高级工程师,负责一个远控软件,同时要跟操作系统底层打交道,入职不久直属Leader就被调整,我开始带团队。
面对前任Leader留下来的数十万行耦合严重的代码和框架,压力巨大。360素来以打仗凶猛著称,发版以天计,甚至有时候一天好几个版本。面临的最大困境是:如何在高速迭代的过程中重构整个旧的框架。至今还记得,面对一个两万行的主类的心情,那是崩溃和无力的。但越大的压力,你扛下来往往是更高的成长速度。
一瞬间,又回到了大三的那种疯狂状态,每天极限Coding,甚至接近入定的状态,上班往那一坐基本不动弹,就靠几瓶水几个面包,一天的三餐就对付了。
我们将代码组件化、模块化,实现了一边飞奔一边换轮子。就带了两个实习生,花了3个月搞定了这一堆恐怖的代码。
当系统彻底被改造完毕之际,那种兴奋难以言表。
在重构过程中,我还大量学习算法知识,算法的确重要,尤其是在性能调优之际。不懂算法简直寸步难行。
顺便送大家一份硬核算法笔记,算法厉害的人进大厂非常容易,这本本阿里P8撰写的算法刷题笔记送给大家,身边不少朋友通过它加入大厂:Github 疯传!史上最强悍!阿里大佬「LeetCode刷题手册」开放下载了!
这段时间,我的架构思维开始突飞猛进,我们在每一次的重构之前,都会先画出业务时序图、类结构图、工程关系图,然后按图索骥,每每在实现的那一刻,不由得惊叹:程序世界,太奇妙了。
这期间,还开始大量阅读优秀的开源代码,比如Google chrome的源码,初看时,真是有一种始惊、次醉、终狂的感觉。
Chromium多进程架构图深刻认知到编码差距之后的刻意练习,会让你开启高速进化之路。
说一个诀窍:源码不要只看不上手,编译起来运行起来,多改改看看会发生什么。这个过程即好玩又能加深你对源码的理解。
真是不比不知道,一比吓一跳,有的时候,我们真的是处于愚昧山峰:
尤其是程序员,因为天天跟代码打交道,一不小心就以为自己是代码王国里的上帝了。。。
这个时候,要么有比你能力更强的人来打击你,要么你主动去寻找去学习更牛逼的存在:顶尖开源代码就是这样的存在。
Google的所有开源代码在这,感兴趣的朋友可以看看:
包括了:Android、Angular、Chromium、Dart、DeepMind Lab、Flutter、Gerrit、Go、Istio、gRPC、Kubernetes、Polymer、Ptotobuf、TensorFlow、V8、WebRTC。
看完Google Chrome源码之后,开始大量学习游戏开源代码。
2012年动手做了一个Iphone2d游戏引擎,用这个引擎做了一款小游戏上线到AppStore体验了一下独立开发者的炫酷。
2015年,使用自己的游戏引擎,研发出一款画质、流畅度都非常高的2D卡牌对战游戏:《死神Q传》,并获得投资人认可,融资500万,开启了我的创业生涯。
虽然创业做了CEO,公司有20多个员工,编程依然是我的热爱,技术攻坚我依然冲在最前面。这期间我们尝试过2D手游、2D对战游戏、3D格斗游戏,无奈最后惜败,这段经历大家可以看看我的这篇文章:
这期间,错过了巨大机遇后,公司要转3D研发,从没接触过Unity 3D的我,依然冲在最前面。找专家咨询、自学,一时间又是997的节奏。
当我们的第一款3D格斗游戏demo跑起来的时候,那种荷尔蒙的感觉再度袭来!
手游创业随着风口和环境的变化,最终失败,2016年底我将公司出售给一家金融巨头。而直到今天,曾经建的《死神Q传》玩家群还有人在问这款优质游戏为什么要关闭?很无奈,从某种意义上来说,我征服了代码却无法征服商业。
2017年年底,和赶集网创始人之一的刘洋一起合伙创业(赶集网40亿美金出售给58,这位大佬已经财富自由),融资一亿,做少儿在线教育。刘洋要求产品在1个月内上线,彼时我带着10来个技术快速攻坚,基本住在办公区。
直播系统(第一版非自研)、教务系统、教学系统、一个小的CRM系统、网站等等,这么多系统,时间就只有1个月。还记得出来创业的时候已经临近过年,只好放弃休假,大年30都在编码。
最后,我们真的在一个月把公司的产品做上线了,2018年年初,第一个用户付费使用我们服务,那一刻真的是开心无比。
说下我写十年程序的感受:虽然我们也是在谋生,但代码世界的乐趣真的只有程序员才懂。
4.保持高效学习和工作
我们在学习工作的过程中要始终牢记:保持高效!
那么如何做到高效学习呢?做到以下几点基本就够了:
保持学习的极致专注:寻找心无旁骛的感觉,如果做不到就卸载那些让你上瘾的软件、戒掉那些让你分心的嗜好。打造拆解-执行-复盘闭环:领到任务,先拆解,越没有把握的事情,拆解的颗粒度要越细,将ddl也同步拆解到每一件可执行的事情上,最后保持周期性复盘。尽可能利用碎片时间:不清楚碎片时间的威力?你可以做一个时间表,看看每天有多少碎片时间,结果会让你非常吃惊。更详细的高效学习的方法,大家可以看看这个回答:
大家无论是在读书又或者在工作,始终要记得:只有自己能改变或者救赎自己。无论是拿到好的绩点还是考上985研究生,又或者是加入大厂工作,都需要制定明确的目标,并一步步去接近更好的自己。
当然,奋斗未必就一定能成功啦,但这不是我们摆烂当咸鱼的理由和接口,因为不奋斗真的是一点机会都没有的。
这个世界不存在躺平,如果你能躺平,那要么是有人帮你承受了风雨,或者是让你难受的时间点还没到而已,并且躺平之后的难受,可真是能到绝望的程度。
人生中有些事是不得不做的,于不得不做中勉强去做,是毁灭,于不得不做中做得好,是勇敢。
5.程序员的持续破局
大家要相信一点,优势一定是持续积累的。毕业能找到好的公司,拿到好的Offer,固然很开心。
但这并不能让你摆脱码农的身份,也不能让你躺在功劳薄上睡大觉。
程序员持续逆袭有以下几条路:
1、加入独角兽公司,拿到大量期权,并坚守到上市套现。
2、找到靠谱的创业公司和诚信的创始人,拿到百分比左右的股份,坚守到出售或者上市。
3、通过技术创业,公司出售或者上市。
4、建立影响力,通过技术咨询、自媒体、技术入股等方式实现财富自由。
5、经历长时间职场竞争,最终成长为公司高管,通过股份实现财富自由。
6、积累一定的原始资本,通过投资理财(炒股、btc、投资朋友公司)致富发家。
拿我自己来说,毕业加入腾讯工作一段时间之后开始了1-6的尝试,目前来说除了2,3两项多次尝试都以失败而告终,1、4、5、6都有不错的成绩。
2008年毕业加入腾讯担任工程师,记得当时月薪是7000,那个时候在马路上看见宝马奥迪,都会由衷的感叹有钱真好。
2009年做了一个决定:北漂。因为我认为毕竟的互联网公司更多、机会更多。
记得刚来北京的时候,存款只有5000,因为不确定是否能留在这个繁华的城市,也因为囊中羞涩,我找到高中的好基友诚总,赖在他租住的房子里整整三个月。那是回龙观的一个小区,一个4居室住着6个年轻人。
大家下班后偶尔会在客厅喝酒吃饭,喝醉之余一群年轻人就开始胡言乱语,诸如3年赚到100万、考上CCIE之后我要改变世界等等。
在我们楼下,每到周末都会停着一辆奥迪Q7,有时候诚总感叹:吗的,什么时候等我发财了,一定要弄一辆。
2010年,我加入了彼时的独角兽公司:360,当时360估值仅仅3亿美金,只有400名员工。这是我改变命运的第一步。
2014年,我正好30岁,在360套现接近1000万,加上薪资收入先后在北京买了三套房,存款几百万。
2015年我离开360,拿到500万天使投资开始创业,一年后创业失败,无奈将公司出售给一家金融公司。
2016年-2020年这四年,我先后加入三家公司担任合伙人CTO,参与创业,无奈一一失败。
2020年回到大厂做管理,年薪+自媒体+咨询收入总计几百万,今年开始炒股,大概一年时间获得200万以上的收益。
今天的我,虽然依然在写代码,但我丝毫不担心被公司淘汰、被社会淘汰,因为高起点+用心的拼搏+不断的探索已经给我构建了人生的护城河。
当然,我的经历,大家只能作为参考,毕竟每个人的路都要自己一步一步走出来。
上一篇:写作月收入过万真的那么容易?