男人而立,一个非典型码农的职路历程

关注

一晃来虎扑十多年了,平时基本都是潜水,很少发帖,偶尔湿乎乎对线。自从话题区被永封后更是佛系看球,算是一个资深JR。很荣幸一直蹲守在直男大本营,见证了论坛的崛起和繁荣,期待上市的那天。

2008-2012 我毕业于某街上不入流985加上21世纪最强专业:生物。本科毕业感觉做本行是完蛋了,再加上对生物的看衰,毅然决定转行业。可是我当时简历上能写的只有wow TOC 25人服务器首杀,dnf pk尊6红狗和跳投小能手。汗。凭借着从小看大的大众软件还有本科时义务修电脑装系统的积累,最重要的是狗屎运,在大四的下半年入职帝都某国企,头衔是实施工程师。因为没有任何编程和专业基础,我觉得能找到工作已然是幸事,所以对做什么,待遇怎么样一概感恩的心,那时候是2012年,4000的起点,说不出好坏。

第一个建议: 起点很重要,包括单位的名气和待遇。别觉得刚开始钱少点没啥,这样很长时间横向比较你都会觉得自己在追别人,给自己的压力大,心态也会负面。另外由于个人原因,单位给很多双非的人解决了户口但是我没有,理由就是专业不符合。现在想想都是屁话,只怪那时候脸皮太薄,应该果断给自己的领导打点一下,如果想落户的同学要借鉴,心思要细,做事要坚决,别留遗憾。

2012-2014 入职后就是两年的出差,又回到了大学所在的城市,长期出差。好处就是太熟悉了,没事回学校看老师同学,倒不寂寞。坏处就是一下就胖了,体重暴涨30斤,至今无法下降。出差的日子现在想想就是痛并快乐着,因为啥都不会,大量恶补学习。工作内容是某大型商业软件的项目实施,只需要了解软件和一些操作系统的知识,不需要写代码。夜很长,风很凉,乙方加班想骂娘。不过自己太菜,干活就完了。过了一年多的时候,项目也有起色了,自己也学了不少东西,就不那么辛苦了,也开始带新来项目的小朋友了。这个时候就想着要休息一下了,因为工作缺乏挑战,枯燥加上长期出差,遂萌生辞职的想法。

第二个建议: 刚工作的时候有个好领导好组长真的太重要了,这也是你能否从0到0.5的关键。很幸运,带我的大哥很好,北京人,爱好就是英雄联盟,周末我们休息他就泡网吧,人才。当你自己很菜的时候摆正心态,放低姿态,这样才有人肯帮你。熟读fg情商,嘿嘿。

2014-2016 第三年过年后已下定和公司摊牌的主意,这时候正好在离家回京的上午接到某公司电话,正是我所实施软件的东家招人,内容为软件的二次开发,俗称外包。好处是可以在家办公,每天工作1小时,后期变成每周工作几小时,待遇涨了不少,9k了。坏处就是身份尴尬,中国的同事都是正式的,没有其它福利,没有工作环境。不过那时真的出差累坏了,觉得钱多事少离家近,就答应了。坐在家里边开会边打副本的感觉真好,出勤再也不会被扣dkp了。转眼就是两年。期间发现同事们的水平差异巨大,欧洲人是真的懒,美国人是真的勤奋,做开发也不是写天书,自己还有那么一丢丢兴趣。总之这两年也算是一个转折点,从一个完全不会写代码的小白学会写了一些脚本,sql,了解了敏捷开发和一些项目管理。不得不说美国人的方法论还是有用的,做事情有一套。

第三个建议,外语很重要,我能入职的原因就是之前和国外面试结果还可以,虽然我那时候听说一塌糊涂,但是贵在敢于张嘴,不管懂不懂专业名词就是扯,真的用尽毕生所学,着急了带出各种汉语。 IT的专业名词真的没用到就没线索,linux命令用英语回答直接让我有死机的感觉。当你练得多了,总和国外开会,面对各色口音,慢慢也能游刃有余了,一句话,干就对了,很多人都是吓死的。另外人脉的积累也是关键,对人真诚,直爽,容易交到职场的朋友。自己碰壁千次不如关键的人抬你一手,还是那句话,情商(fgnb,破音) 虽然我其实挺直男的,情商也不高。

2016-?? 在家养猪了两年,被爸妈逼着出去,正好朋友也介绍了一个现东家的正式职位,于是回京。正式工的感觉真好,妈妈再也不用担心我的公积金了。既然回京了,那就玩命干吧,毕竟先甜后苦,之前太悠闲了。于是经历了人生第一次写java写js做大数据做ml做k8s做一堆原来听都没听过的事,工资也从14到了30。虽然现单位很多人都是早10晚5,也有很多人天天在家办公,但也有很多年轻人拼搏不息,拿着外企的钱干着互联网的活,看到他们才觉得自己有点老了,同时也鼓着干劲不敢松懈(最近闲了几个月了😂)。期间各种心路历程,因为外包身份工作4年多也只是拿到最低级别的开发职位,不过又花了三年连升两级,算是追回了一点差距。有自己努力的原因,更离不开老板和同事们的关照。不得不说,虽然外企的工资不够看,技术能力也是明日黄花,但是人和人之间还是很单纯的,人际关系简单,舒服,大家素质都很高。职场是个大江湖,外企不是避风港,却也能给不入世的人保持一份初心。

第四个建议 有技术又能秀的,前途远大。能秀干活差一点的,适合当经理。能干活但是不发声的,要时势造英雄。都不想的就养老吧,没毛病。

手机码字,想说的很多但是又不知从何说起,感觉就写个流水账,大家觉得有意思可以交流一下,知无不言。放上几张去国外出差的图片,并没有福利

更新:

很多JR也问了一些技术的问题, 正好也总结一下做技术7年来自己的感悟和收获吧.

我目前从事的技术方向是大数据+AI, 行业主要是金融行业, 借着AiOps的东风, 大大小小的公司都在这个方向上发力. 目前来看着手点不外乎python全家桶 + 借鉴别人的模型或者通过主流大数据工具比如Spark, Storm, Flink结合ML的算法提供高算力的. 不借助开源纯手写的基本没有, 所以感觉都是在搭积木. 目前在这个领域还没有领头羊, 大家都号称业内翘楚, 真实情况无法论证. 个人觉得名气和实力都比较好的是第四范式吧, 可惜他们主攻业务AI. 个人的发展方向是 实施 -> 软开 -> 技术Lead & 架构, 感觉这也是一般跨行业从业人员的发展路线(指没有走培训路线无技术基本的跨行业). 技术方向是小白 -> Linux/AIX/UNIX的软件安装 -> 操作系统get -> 软件的二次开发 -> 数据库get/脚本get -> 自研商用软件 -> java web/JS -> 新的商业趋势 -> Scala/Machine Learning. 另外LZ也有思科的网络工程师认证, 当年的敲门砖. 所以基本从网络, 存储, 系统, 应用都有一定的接触和了解, 这时候会觉得IT真的是太大了, 靠个人努力去学习不仅毫无头绪而且会有沮丧感, 所以工作的时候调整自己的方向, 不用一门心思码代码, 个人觉得这样的效率比较低. 最后说几个工作中的方法:

1. 想清楚才能写清楚, 动手之前多思考, 多在Git上看看别人的高评价项目. 培养自己的编码风格很难, 一旦养成受益还是很大的, 因为常见的问题和应用场景无非就是几个模板, 互相套用, 省时省力. 技术建议就是多读别人写的代码, 养成评价代码的能力, 最终形成自己的风格.

2. 学会高效使用谷歌, Stack Overflow还有Git. 现在开源世界真的太强大, 个人的努力 vs. 几百万人的代码贡献基本都是毫无用处. 要避免造轮子, 相反学会花时间找更好用的轮子. 这时候就体现出英语的重要了, 敲黑板 & 认真脸.jpg. 准确的定义表达问题, 正中关键字, 往往事半功倍. 不要觉得自己能力强就喜欢自己手写, 复制粘贴不仅高效, 而且稳定.

3. 个人理解, IT行业的核心问题是如何快速解决已有问题, 如何高效解决已知问题和如何最终解决未知问题. 归结到人身上就是经验, 能力和个人特质. 经验靠多学习, 工作和日常积累. 能力因人而异, 不太好界定, 学习和天赋都很重要. 最重要的是个人特质, 感觉这个也比较玄学. 我见过在生产宕机还在排查问题不去恢复生产的"大牛", 也见过只望问诊切, 不动手就搞定问题的奇人. 如果觉得培养自己的玄学气质太难, 最好的办法是找一个你身边的例子来模仿, 培养自己的特质.

欢迎大家多交流.

10.14 新增

针对很多JR的共通问题, 做一些Q & A.

Q: LZ你的工资涨的幅度有点快, 另外你的技术栈也没说清楚, 啥也不会还能加薪, 是不是天天划水啊?

A: 横向来比, 我工资涨的真的不快. 举个例子, 95年华科本科的小伙, 2年时间通过3次跳槽到快手, 已经35 * 18了.同事老公北大本科数学的, 88年, 在腾讯做AI已经税后150W了. 有时候人和人的差距真的....面试谈工资运气成分很大, 工作中涨工资一般就看点本事了. LZ虽然也划水, 但是很多关键问题是还是挺重视的. 另外我没有2C的行业经验, 我所有的工作经历都是B2B的, 互联网离我有点远.

第一年: 4000, 主要做软件安装部署和客户化

第二年: 5000, 同上, 多了一些带人的活, 还有做客户需求.

第三年: 9000, 数据库开发, 脚本开发, 商用软件的二次开发.

第四年: 11K, 同上, 多了一些代码设计和调优. 下半年跳槽工资涨到14.5, 后普涨到15K+. 新工作内容为Java开发, 做产品的孵化和启动, 用到了Docker和K8S. 

第五年: 升职啦, 工资19K+, 由于Lead移民了, 我变成了Lead, 带人. 开始做大数据相关, ELK + Spark.

第六年: 团队变大了, 最多的时候快15人了, 工资微调到21K+, 年末断腿, 手术, 后在家办公恢复.

第七年: 继续做Spark, 年初涨薪到24K, 3Q升职, 30K多那么一丢丢. 继续TL + architect

技术栈, 软件基础和方法论 (勿对号入座, 仅参考)

精通: Shell, Linux/AIX (老本行, 运维出身, 不懂这个是不行的. 这里的精通仅限于操作层面, admin相关, 问我系统内核,C和汇编相关的, 并不懂.). Elastic Stack.

熟练: Java, Scala, Python, 目前日常的开发语言. Spark (别问源码还能做朋友), Db2/mySql, 一些常见的中间件(Kafka, zookeeper, tomcat/WAS). 虚拟化技术Docker. 一些云技术 (CloudFoundry?)

了解: JS (React/Angular), Ruby, Perl(三年没用了, 都扔了), CSS/HTML, K8S, openshift. 路由交换(都还给老师了)

永远学不会的: 数据结构, 算法, 我看到就头疼, LeetCode是给人刷的吗, 感觉除了背没啥捷径.

你需要知道的一些方法论: Agile (敏捷开发), Devops(CI/CD), design thinking, Data Science, Cloud.

Q: 听着感觉并不难, LZ你的经历有普适性吗? 我感觉现在挺迷茫, 虽然有offer但是职业生涯怎么发展?

A: 每个人都是独立的个体, 都要经历与众不同的一生. 从大众的角度, 99%的人都太普通了, 看起来都是一样的, 感觉照搬点东西过来就能复制职业生涯. 老实说我觉得不是的, 学历背景, 成长经历, 工作方向甚至智商, 都很大程度上影响你的发展. 如果你只是想复制别人, 那很难达到效果(TX除外). 我写这些只是给初入职场的从业者, 非专业出身但是想换方向的人一些建议. 人都是要走弯路的, 你转身的速度其实才是"走捷径"的体现, 非常不建议一条路走到黑.

说起职业生涯, 其实我觉得自己既不幸又幸运. 我曾在甲方的机房中摸过思科/H3 1万以上型号的设备(价格千万), 看到过大机, 小机, PC Server, 刀片. 监控过光纤交换机和存储(DS8000, V7000, 巨贵), 接触过各种网络设备和厂商, 现在仍能背出思科的mibs 136141, 学习了很多基础架构上杂七杂八的东西. 曾在东北冬天凌晨4点的雪夜被甲方叫醒到现场, 只是因为光纤交换机端口offline了(关我Pis), 曾第一次写Perl, 因为零基础任务重, 对着墙流泪, 最后用Komodo一行一行debug写完一个超千行的脚本. 第一次写Java, 还要写UT(我恨PowerMockito), 连着写了三天, 看着帝都从沉睡到被唤醒. 很多次从软件园的大转盘走夜路回家赶地铁, 只因为住的太近打不到车, 在寒风中凌乱. 有时候想想能坚持到今天也有点不可思议. 其中最不幸的就是每个工作在拿offer时都不顺利, 总会出这样那样的问题. 现在的这个工作其实就是我原来外包工作的正式工, 我从公司的一个大部门的外包变成了另一个大部分的regular, 但是由于身份问题, 我从原来外包的中级工程师变成了正式工的初级工程师, 这意味着我2年的努力变成0. 我为了争这口气, 3年时间从初级变成了高级. 很多同事都问我, 你技术挺好的, 为啥不去互联网, 挣更多的钱. 我觉得, 我只是不争馒头争口气, 我要证明给那些觉得我不行的人看. 不过现在得到了, 也感觉挺幼稚挺空虚的. 我觉得幸运的是现在父母安好, 自己又在奋斗的年纪, 只要能拼, 前途还是能看得到摸得着的. 

对那些拿到offer却觉得自己是白纸的JR, 或者想跳槽却觉得自己没有资本的(比如我), 唯一能做的就是向前看, 每天都做一些有挑战的事, 让自己负重前行. 

发布于北京阅读 487174

这些回复亮了

discusser-avatar

鉴心

· 上海

起点不高,也不容易了。

亮了(91)
查看回复(1)
回复
discusser-avatar

当风筝遇上风s

· 广东

看完了,希望自己也能通过努力走到街薪

亮了(56)
查看回复(1)
回复