5年Android程序员:穷的只剩下梦想还要坚持吗?

一、薪资追不上房价

曾经月入三万是不少人羡慕的薪资,就连马云之前演讲都说,

“一个月有两三万块钱、三四万块钱,有个小房子、有个车、有个好家庭,没有比这个更幸福了,那是幸福生活。”

但是!随着最近几年房价/房租的暴涨,如果在北京没有房子,月入三万也开始让人焦虑难耐了,尤其是当年龄来到 30 的门槛上,需要考虑结婚生子问题的时候

最近,我就因为一个月薪三万的Android开发朋友辞职离开北京的事情而感到有些伤感。

这个朋友年龄和我差不多,在北京一家互联网外企做Android开发,他平时加班并不算太多,在北京的生活还是蛮精彩的,除了写代码之外他喜欢健身拳击,他还喜欢跟基友在回龙观租住的两室一厅里打 DOTA,在我看来,这样的生活简直就是无忧无虑啊!

然而就在一周前,他给我发消息说“已经辞职,计划打包离开北京回去老家二线城市,晚上过来喝点小酒”。说实话听到这个消息让我很惊讶,非常不解为什么他突然选择了逃离北京。

一整天的疑惑终于是在回龙观附近这家音乐烤吧解开了,酒过五瓶,他难过的跟我说,从房东计划涨房租那天开始,他就开始萌生了离开北京的想法,经过一个多月的内心挣扎,他终于下定了决心辞职离开北京。

我也万万没想到我这朋友萌生离开北京的念头居然是前两个月房东将两室一厅的房租涨到八千。

那晚他跟我聊到六年前只身来到北京的热血澎湃,也聊到我们一起 DOTA 骂队友的那些快乐周末,但是他更多还是吐槽北京的高房价、高房租以及这些年一起吸过的雾霾。

他说今年计划和长跑 8 年的女友结婚,想到买不起的北京房子、拿不到的北京户口内心就极度沮丧,奋斗六年薪水从一万涨到三万但是回龙观房价却从一万涨到六万。


二、选择梦想还是现实

这个朋友离开北京后,我也思绪万千,这些年很多人陆续逃离了北上广,但是更多人却选择留了下来。

哪一种选择更好呢?每个人都会有自己的理由。

在我看来,北上广的确有高房价、难落户等等问题,但是这里同时也有更加广阔的天地和机会,国内几乎所有牛逼的技术公司都在北上广杭;

在这里我不看背景、不靠关系自己的能力可以轻松找一份写代码的工作;在这里三天两头都有各种技术/创业活动,只要我愿意,花很少的钱很时间就能够和业界一流大佬学习和交流。

北上广无法安放身体,二三线城市却放不下梦想,如果非要让我选一个的话,我宁愿半生租住在回龙观,努力去追求梦想。

就在昨天,我微信问这个朋友离开北京一个多月什么感受,他给我发了一个照片。

他回来了。

我内心是很替他高兴的,这小子,我也是万万没想到哈,二线城市不是说回就能回得去得呢。面对薪资、工作环境、工作方式的巨大变化,心理落差还是很大的。


三、那我们在追逐梦想的过程中要怎样去坚持?

(1)专注眼下

见过太多心猿意马的程序员,我不得不把「专注眼下」作为天字第一条。

他们往往有各式各样的小梦想,比如做个小茶农、做个小鹅贩、做产品、做销售、做投资,却被程序员的高薪或是没有转行的魄力「耽误」了,而因为不专注,他们不在意做好自己的本分,不在意锤炼自己的技能,不在意学习新兴的技术。

不可否认,这世界上存在着伟大的产品(像乔老爷)、伟大的销售(像埃里森)、伟大的投资客(像彼得菲),而他们毫无例外都是程序员出身。

可你听说过巴菲特评价的话么,比尔盖茨如果转行去卖狗,那他一定是全世界最大的狗贩。

我坚信除了少数的天才外,冥冥众生均可以在多个领域取得成功,只要保持足够的专注。而哪怕你下一年就想卖狗去,程序员的经验仍然能训练你强大的逻辑、谨慎和耐心,放在哪个行业都是相当可观的竞争力。

(2)思考力与推动力

我认为处理bug、崩溃、调优、入侵等突发事件比编程本身更能体现程序员之间的差距。

当面对一个未知的问题时,如何定位复杂条件下的核心问题、如何抽丝剥茧地分析问题的潜在原因、如何排除干扰还原一个最小的可验证场景、如何抓住关键数据验证自己的猜测与实验,都是体现程序员思考力的最好场景。

是的,在衡量优秀程序员的标准上,思考力比经验更加重要。

有时候小伙伴跑过来,问我「提交了一个任务被卡住了,怎么办」的时候,我总觉得他可以做得更好。

比如,可以检查试验别的任务,以排除代码自身的原因;可以通过Web UI检查异常(如果没有账号,可以让我提供);可以排查主机日志或删除缓存,再不济,总应该提供任务ID和控制台日志给我。

理想的程序员永远不会等事情前进,他们会用尽一切方法让事情前进。

(3)Never Say No

记得从前厂离职之前,找老板谈话,他说我最大的优点就是从来不和他说这个做不到。

后来我发现在很多团队里,都存在一种技术和产品的对立,程序员往往以「技术上无法实现」来挡产品的需求,而产品也往往以「Facebook可以为什么我们做不到」来奚落程序员。

这两句话应该属于禁语,从根本上都不利于程序猿和产品狗的相亲相爱。

一句「技术上无法实现」是容易出口,可有多少人在说出这句话的时候,心里是100%肯定的?

如果不肯定,为什么不能回去谷歌一下再回答?原本我以为程序员是充满想象力,因为有想象力,才能诞生那么多改变我们生活的软件和互联网产品。

见识多了,才了解大部分程序员已经在与bug的对抗中变得保守而不愿担当风险,与此同时许多团队也不愿意宽容失败。

于是「Say No」变成一种习惯性的抵触,还记得曾国藩为什么解散湘军么?他说那支军队已「暮气渐深」,不能打仗了。

要做优秀的程序员,就不能给自己滋生暮气的机会,如果面对不合理的需求,可以把时间成本摆出来,把曲线救国方案亮出来,简单粗暴「Say No」是不可取的。

(4)投资未来

程序员是一个非常残忍的职业。你所学所用的语言、框架、模式,很可能在数年内就成昨日黄花了;你现在嘲笑的另一群程序员,可能马上就能转身来嘲笑你了。

所以程序员除了做好自己的本分,还要花费时间来投资未来。

什么是「投资」?投资就是你现在投入的时间,在未来会以更多的时间或者金钱(看看早几年学习Android的程序员现在的薪酬!)回报你。

(5)善用工具

善用工具可以分为 4 个层面:搜索引擎、不相信重复、代码片段、自动化。

我刚入行那会,一个计算机专业却当了公务员的朋友问我,你一点都没学过编程,平时怎么写代码?我说,谷歌,于是遭到无情的耻笑,以至于我在哪里的账号都叫 2shou,告诫自己是一个无耻的二手程序员。

这是一个笑话,但如果现在问我,我还是要回答谷歌。

程序员的成长就像膨胀的圆饼,外面是无边无际的大海,圆饼越大,与大海接触的面也越大,懂的越多,不懂的越多。

而计算机科学又是一门更新换代异常迅速的学科,同时也是知识互联网化最好的学科,很难利用传统的科班式有教有学的方法,相反通过搜索引擎则很容易获取到最新的知识。

不相信重复,大师的话叫DRY原则(Don’t repeat yourself),代码写多了,会有人为的直觉判断好的和烂的代码,我的标准是简洁和规范,简洁并不是美感上的标准,重复越少,给自己出错的机会也越少,后期维护的成本也越少。

如果你不幸丢了三周前的代码,也许你能凭着过人的记忆力把脑子里残余的片段复写出来,但如果丢的是三个月前的代码,恐怕就没有那么好的运气了。

优秀的程序员会着力找寻有效的资料保存方式,把工作里灵光闪现写下的代码、脚本、配置、经验等短的片段保存起来,以便任何时候都能复查。

优秀的程序员必须懒惰。对他们来说,重复的步骤和重复的代码一样丑陋,如果意识到一项工作有可能长期要重复,那么自动化的时间总是越早越好。

(6)管理时间

之所以管理时间会对程序员这个行当特别重要,是因为在完成任务时你必须像荒野里的狼一样,「独行」。

没有外界约束的情况下还能稳定控制自己,保证能高效率地工作和学习,那么日积月累你肯定会变得比一般人厉害。

程序员干的是高强度的脑力活,一般每天集中4-5个小时应对本职工作就足够了,但工作之外,一定要安排时间用于学习。

除了学习,留点时间放空自己也是必要的,利用泡茶或者喝咖啡的间隙,把弥足珍贵的时间留给自己,往前想往后想,事半功倍。

说了这么多,想必有人会问,费尽心思成为一个理想的程序员,又有什么用处?会有高薪吗?不。能升职吗?也不见得。迎娶白富美呢?不如去卖狗。

稻盛和夫曾经说过一个故事,明治时期的手艺人被天皇召见,虽然都是不读书的乡下人,但一辈子兢兢业业地做一件事情,自然有一股高贵的气质。理想的程序员,应该就是循着这种高贵的气质而去的吧!


四、最后

这里可以分享一份大佬收录整理的Android学习PDF+架构视频+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料

这些都是我现在闲暇还会反复翻阅的精品资料。里面对近几年的大厂面试高频知识点都有详细的讲解。相信可以有效的帮助大家掌握知识、理解原理。

当然你也可以拿去查漏补缺,提升自身的竞争力。

相信它会给大家带来很多收获。如果你有需要的话,可以点击获取

如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!

喜欢本文的话,不妨顺手给我点个赞、评论区留言或者转发支持一下呗~

猜你喜欢

转载自blog.csdn.net/ajsliu1233/article/details/108785245