2020转眼已经过去了一半,突然想起来一个有意思的想法,能否像做项目一样,给成长中的自己也定个版本号
V0.0版本
刚毕业的前三年,本科计算机毕业,却没有到大城市去找正经的专业工作,也没有做软件行业,在老家厂里混日子
是一个很坑爹的版本,现在想起来,都觉得当时是不是脑子给驴踢了,不知道当时是怎么想的
我本身一个比较勤奋的人,上大学就经常9点去图书馆,学到晚上11点才睡觉。但是这样一个人,毕业时却没有选择一个像样的工作,自己都觉得不可思议
虽然这样,但是还是想记录下来,人很多时候真的是这样的,当局者迷。在读书上一直很努力,尽量做到最好,但是对读书外的事情毫无概念,直到随着年龄增长,一些想法才慢慢清晰
V1.0版本
来广州的前两年,第一家软件公司,虽然公司一般,做的项目很老旧,但是却是自己进步最大的两年
找到了第一家软件工作后,虽然很菜,但是有了目标,一身的精力终于有地方可以用了。由于骨子里是个勤奋上进的人,所以很自然的就会想把技术学好做好
这两年每天下班我都会学到12点,公司工作做完就学新东西。就这样,两年内,我从只会Java基础语法,学会了Java客户端开发,Java服务端开发,Android开发,数据结构,设计模式,算法也全部看完看懂了
由于我喜欢研究原理,自己设计东西,所以学的东西都非常扎实,用得非常熟练,做什么都有自己一套清晰的方法
我觉得这两年,是到现在为止,我一生中最有意义的两年。比较努力,又有目标,而且没有依靠外部环境去推动。不但技术上进步飞快,而且养成了自己的学习方法
读书的时候,努力可能就是统一的书本加学习资料,付出的时长。这两年,我逐渐摸索了很多新的学习方法。学习除了读书,还可以看视频,看博客。书和视频都有好有坏,而且看一本可能还不够。学什么内容,看书还是看视频,选什么书,选什么视频,怎么搭配效率最高,怎么才能保持学习时专心,怎么平衡学习和工作生活。这些都是要靠大量的学习经验,才能够总结最高效率的方法的。现在想来,读书时候的我,只是比较勤奋而已,并没有很好的效率,只是靠上进心在逼迫自己而已
其实我并不相信,一个从不努力的人,一下子就会具备努力的能力。因为努力也是需要大量的积累,才能养成习惯和方法的。从卖命式痛苦式地努力,到头脑清晰地努力,中间是需要有个过程的,一般都需要几年
V2.0版本
说来惭愧,V1.0的光辉之后,并没有迎来V2.0的传奇
在第一家公司学得差不多之后,就换了现在这家公司,工资比上家高了一倍,而且现在这个时候如果换家工作,工资还能再涨不少,毕竟两年时间,只要不是糊弄式得完成工作,进步肯定是有的
这家公司现在也正好是工作了两年多一点,虽然有进步,但是相对于开始的前两年来说,效率和成长速度,起码是低了一大半的
现在这家公司工作安排比较乱,多个项目同时做,项目没做完就交给客户使用,没经测试的程序,自然是有不少BUG,就得花时间去维护BUG,还得保证不影响客户的已有数据,一个项目还行,多个项目都这样搞,还同时进行,自然是乱得不行。平时都是被这些乱七八糟的事情缠绕着,学习的事情自然想得少了,慢慢学习的习惯也就淡了,好不容易有时间也想休息下。有时项目不忙,但是这种心态已经形成了,还是会想工作的事情,或者休息下,打打游戏,已经找不到前两年那种,工作轻松做完,回家学习进步那种感觉了
其实要说加班,我倒是很少加班,我也不是那种拼命讨好领导,什么都不拒绝,拼命做事的人。加上技术比较好,有些事情只有我来做,领导也会妥协一点,不会太压榨。工作带来的负面影响主要是思想上的,因为你也不知道哪天有事情,你会脑子里面天天惦记公司的事情
磨了两年,公司在管理和技术上没任何进步。我也慢慢想通了,公司就是这种模式的,不考虑员工感受,也不追求开发效率和产品质量。和工厂苦力一样,随便接活,尽量加班,能多做一点是一点,纯粹是一种凑体量的模式。这也不是某个员工能改变的,领导本身根本不愿意管事情,提完需求自己都不记得,想到什么就随口乱说,连基本管理工作都不做,怎么可能花精力去改进其它的
现在我想清楚了,还是下班多学一点东西,公司的事情能推掉就尽量推掉,毕竟除了体量,完全看不出效率提升的公司,也不值得去额外付出。等技术提升了一个档次,就换下一家公司
我本身还是个比较喜欢稳定的人,不喜欢跳来跳去,毕竟相互熟悉是要花很长时间的。有些事情,别人知道你性格原则,就会尊重你。不清楚你性格的,可能就会提一些你不情愿的要求,特别是工作上的,这很浪费时间。所以一般不是在技术上有质的提升,我是不会轻易换工作的,稳定下来才有更多精力学习
这也算一份经验吧,虽然不是技术上的,但影响也挺大的。下次遇到这样的公司,就尽早看清换了吧,不要在上面太纠结,浪费精力。如果公司没什么发展前景,就不要太在乎员工关系和上下级关系的维护了。毕竟说白了,这些关系都是你花私人时间,帮别人做额外事情换来的,不是你真心愿意的,也不是义务。如果没有别的什么,比如工资,很深的交情,你很尊重的人,值得你为了这些去额外付出的,还是尽早放弃吧
V3.0版本
从现在开始,到下个质变完成的过程,就是V3.0了,暂定的内容主要有
学习FFMpeg和常用应用场景
学习Android音视频多媒体框架
学习Idea和Gradle插件开发
学习APT工具开发
学习Framework基本内容
熟练开发高级UI,熟悉新控件,了解Android自带高级控件的实现原理
展望
不要太拼,感觉有精力就学到12点,感觉比较累,10点也可以睡觉
程序员拼死拼活的,除非你的目标非常重要紧急,否则真没那个必要
留个好身体好精神,比多出来的那一点点技术实在多了,这个世界不像高考,只看分数
当然,这个建议仅限那些很努力的,从不努力的,就别拿这个来作为不努力的借口了
我是建议你不要每天拼到12点,不是让你从来不到12点
对于一个上班族来说,如果你每天都是10点睡,其实学习时间只有1-2个小时而已
当你档次高了,学的东西也会更加难,更废时间,1-2个小时还不够进入状态的
把这些都学完,如果2/3的业余时间都用上,我觉得可能需要一年时间
学这些不仅是为了Android,也是为了学习一些更加专业的知识和设计能力,换了其它语言也是有用的
其实个人而言,我是希望Android被淘汰,出来一个新的热门语言的
因为我已经具备了自己开发框架,开发插件的能力,而且比主流框架还好用
只是Android/Java已经是一门比较完善稳定的开发语言了,大家都有一套公认的工具链,新东西已经没市场了,只能自己玩玩
如果新出一门语言,作为搞技术的来说,反而是个机遇。如果你率先开发出东西推出去,别人可能都用你的,你这个人从此就火了,很多机会随之而来了。技术藏在自己脑子里,跟你和别人说,XXX主流框架是我开发的,那效果是不一样,后者一句话就解决了所有的信任难题。再不济,你也是,XXX语言首批高质量开发者,肯定待遇是低不了的