开始之前先自我介绍一下,我叫王磊(人称磊哥),来自陕西西安,三十来岁,在软件行业呆了也算有十余年了。
2009 年初来乍到,先做了几年的 C# 开发,之后又去了一家 500 强的民营企业做了几年的技术经理,使用的技术也从 C# 开始扩展到了其他语言。
因为公司有很多技术小组,当时用的技术也比较杂,因此又涉猎了 NodeJS、Java、GoLang 等语言,都是硬着头皮去学的,不然控制不了场面。那时磊哥也是刚从一名地道的程序员转向管理岗位,来自编程语言和工作内容的双重改变,当时的压力也是很大的,不过这么多年过去了,感觉似乎也没那么难了。
转折点
生活的转折点,大概要从 2017 年底说起。17 年之前磊哥一直在西安待着,靠着家里面的支持,很幸运在 2011 年就在西安买了房,而到了 2017 年的时候,终于把人生第一套房的贷款给还清了,而此时也在当时的那家公司待了快 3 年了,无论是公司的业务还是技术发展基本都到了瓶颈,这时候突然决定“去大城市闯一闯”。
这个念头起源于 2016 年,2016 和朋友一块去上海参加某个技术大会,参加完技术大会之后,因为朋友之前在上海呆过,所以这边也有些朋友,于是就约出来一起聊天,当时我们谈的一个话题是关于“大城市容不下身体,小城市容不下灵魂”的,当时被上海这位朋友的经历打动了,反观自己,感觉一辈子平平淡淡的呆在某地,等老了连吹吹牛的资本都没有,于是想“去大城市闯一闯”的念头便悄悄的埋在心里了。
说干就干,2017 年底就去上海体验了一把“沪漂”,这场旅行在 2019 年落幕,之后回到西安,开始为自己的自由职业做准备,之后条件成熟便从企业中走出来,以技术写作为生,开启了为期半年的自由职业。
聊聊自由职业
这里重点聊聊自由职业的事情吧,可能这是很多技术人的梦。首先来说,自由职业并没有我们想象的那么美好,可以一边享受着阳光、沙滩,一边随便喝点什么,然后在笔记本上随便敲几下能把钱赚了。想象是美好的,而现实中却有着超多的阻力,比如以下这些问题。
1.没有完美的场地
以我来说,2019 年回西安有一重要的原因,是为让儿子以后能接受能力范围之内更好的教育。那么我自由职业之后,场地是没有限制的,我可以去任何我想去的地方,但儿子要接受好的教育是有场地要求的。我不能自己独自一人享受度假式的工作,让媳妇和儿子单独留在西安,显然也不合适,这并不符合我的价值观,我觉得在哪里不重要,和谁在一起才重要。
2.更长的工作时间
自由职业不是不工作,而是从以前对公司负责变成了对自己负责,以我的经历和对其他自由职业者的沟通发现,自由职业之后,普遍的工作时间都比原来更长了,甚至是没有节假日的,因为当你为自己做事时,你希望做的更多,做的更好,那么要付出的时间也更多。
3.自控力的焦虑感
自由职业对自控力要求很高,如果你的自控能力不高,强烈不建议你从事自由职业。如果你自控力不强,那么你将每天陷入挣扎和懊悔的焦虑中不能自拔,想工作又打不起精神,不工作自己有过意不去,这种焦虑感会慢慢把你逼疯。
4.寂寞也是你的敌人
自由职业的另一个敌人就是“寂寞”,自由职业一般情况都是在家办公,这意味着你将独自一人度过很长的时间,身边不会再有可以一起吐槽和八卦的同事,这些群居生活所必备的娱乐项目突然从你的生活中消失了,这种寂寞感和无人诉说的经历,也是你要面对的“敌人”之一。
什么情况适合自由职业呢?
我觉得想要实现自由职业至少要满足以下两点中的任意一点:
- 保证基础生活开支的“伪财务自由”,对于一个家里没矿的开发者来说,不要求完全实现财务自由,因为这太难了。你只要能保证你之前的财富积累所带来的收益能保证你基础的生活开支,这种伪财务自由状态,也可以考虑自由职业了,因为此时即使你自由职业没有任何收益,也不会影响你的正常生活。
- 长期赚钱的能力,即使不是长期也要保证未来 2、3 年之内,你从事的方向能得到可预期的回报,不然每天要生活在方向选择的焦虑中,和方向探索的事情上也会很焦虑。
综合以上情况来说,从理性的角度来说,你想要做自由职业,先让自己内心强大起来、自律起来,并且能有持续赚钱的能力,再考虑自由职业才是一个不错的选择。
当然每个人对于人生的定义是不同的,有些人认为有很钱有地位就是成功;也有人认为名誉和钱财都是身外之物,生不带来死不带去,只有过程才是最重要的,只要有勇气选择做自己最想做的就是成功,这也是一种选择,所以人生的路有很多,只要是你认为是对的事情,认真去做就是了。
转行的这一年
书回正题,接下来,聊聊我最近的一些改变和转行之后的生活。
去年大概是这个时候,已经尝试了半年自由职业的我,想要找一份 IT 讲师的工作,以此来完善一下自己的收入模型,原本的打算是以兼职的形式去做,但聊了几家之后,发现了一家很不错,很有技术情怀,并且在很认真做事的一家 IT 培训公司,所以就决定 ALL IN 全身心的投入进去,一起去做一家伟大的公司,为公司的发展贡献自己的一份力量,这是去年拿到 Offer 的信息:
到今天为止,去这家公司也快一年了,聊聊转行之后的几点感受。
- 所用技能有些不同,每个行业都有自己的特点,当你是一名软件开发者时,你只需要使用你熟悉的技术实现公司的业务功能就行。然而,当你是一名讲师时,你则需要将你的知识,以某种通俗易懂的语言,让所有人都能听明白,然而信息在传递的过程中也是有阻力和损耗的,所以怎么保证你讲的所有内容,让大部分人都能听懂,这是一件需要长期琢磨,以及反复实践才能做好的事。当然有好的软件编程技术,对于授课来说也是有巨大帮助的,但二者所应用的场景完全不同,一个是用来开发软件的,一个是用来作为知识进行传递的,所以并不能给二者直接画上等号。
- 工作的内容完全不同,开发岗位是以开发某些业务功能为导向,而培训行业是以授课解惑为导向,程序员的工作可能比较专一,基本就是技术研究和功能开发,但培训行业就不同了,除了备课、上课之外,还有问题答疑、作业批改、差生关怀、职业解惑、模拟面试、就业情况跟进等等。总体来说开发岗位以产品的开发为主,而培训行业以服务的提供为主。
- 上班时间完全不同,对于开发岗位来说,大部分工作时间都是周内,而对于培训行业大部分工作时间都是周末或节假日,因为你要在客户空闲的时间来上课,所以想要周末陪陪家人也是一件奢侈的事。但即使是周内,培训行业和 IT 公司上下班的时间也是不一样的,普通的 IT 公司正常的上下班时间通常是 9.00-18.00(不考虑加班的情况),而培训行业通常是 12.00 - 22.00。但我们公司还好,像 5.1 和 10.1 这样的假期还是会放假的,其中最爽的是过年的时候还会放 20 多天的寒假,这属于年终最大的福利了。
- 技术的迭代速度不同,对于开发岗位来说通常要用到各种框架,比如 SpringCloud 技术栈的相关框架,而这些框架的更新速度是很快的,因此对于开发来说,技术的更新迭代是很快的;而培训行业如果培训的方向是以基础培训为主,那么知识更新迭代的速度是没那么快的,比如数据结构和算法,这些内容可能很多年都不变。
- 技术的复用率不同,因为培训行业每年教授的知识变动不大(尤其是基础培训行业),所以培训行业的技术复用率通常是很高的,当然这里并不是说一成不变,相反好的培训机构,每年的课件都会进行小规模的升级和优化的。只是培训行业通常不会有一个超级大的颠覆版本,通常情况下都是在原有的基础上进行升级和优化,这一点可能比多部分的开发岗位要好一些,比如有些开发岗位,前一个公司用的还是 Dubbo 技术栈,而新公司又用的是 SpringCloud 技术栈,前一个公司用的还是 RabbitMQ,而后一个公司又用的是 Kafka,这样的事例有很多,所以通常情况下培训行业的技术复用率是比开发岗位要高一些。
总结
无论任何行业,只有认真的投入和努力的付出,才有可能会有收获。工作和生活是分不开的,工作是生活的重要组成部分,我们大部分的时间都是在工作中度过的。如果只把工作当成是养家糊口行为,那么你将会错过很多工作中的乐趣。这并不是毒鸡汤,当你全身心投入到工作时,你会达到心流的状态,此时你会发现工作的时间会过得很快,你也能融入工作的喜悦之中,这就是最好的状态了。
工作的时候认真的工作,玩的时候放纵的玩,这是对待生活应有的态度,好的工作能为幸福的生活提供有利的支撑,这有何尝不是一种双赢?一切经历皆为修行,好好享受这个过程吧。
最后,都看到这里了,磊哥斗胆求各位读者老爷们,一键三连再走呗~
欢迎关注磊哥的公众号「Java中文社群」,一起成长一起交流。