本人做ios开发五六年了,在现在的公司已经四年,舒适区呆久了,自己都不知道自己是啥鸟样了。
由于客观生活要求,还有年龄已经30了,再不做自身职业规划,似乎可以准备告别北漂回归家乡了。
之前的几年公司的事情和项目不是很多,再加上结婚和有了孩子,似乎自己从内心里放松了挣钱的紧迫感。对于开发中遇到的问题得过且过,技术上也不再那么敏感好奇。除了几次自我兴趣使然,大部分是公司项目的推动来学习新的技术和知识。这样一直持续到21年7、8月份,有幸,真是的有幸有一天下班回家看一篇知乎,上面也有一位ios开发诉说自己经历,他的经历可以说和自己现在的情况很是一致,这一篇知乎打开我对自己的思考。
做技术开发的,干的是实实在在的技术蓝白领的活。一定程度上有多少能力就吃多少饭,工资薪酬福利待遇都是与自身硬实力密切相关。没有个富二代的命,又撸起代码的板砖,不努力又能怪谁,没错只能怪自己。
本人大学专业非计算机专业,但是大一和大二也跟信计一起上学,学差不多的计算法相关课程。但是大学嘛,知道的都知道,有课程不假,假的是上课的人。除了c语音里的if-else,其他已经忘的差不多了。但既然已经走上这条道,而是ios这条看起来很是危机的程序员道路,怎么着也要在30而立之年努力拼一把!
不,不是拼一把,这次要彻底改一下,改变一下自己的思维。不再为了工作,被动去学习开发技术,而是树立自身程序员开发者的思维,自发主动学习技术。
梳理一下自身的情况,有事没事拿出来看看,鞭打一下自己,好涨记性!!😌
1,思考自己在这几年有哪些收获?
这几年在公司的开发任务,技术是有进步的。
```
一个是技术图谱拓宽了,除了本职的ios开发,Python、Go、Java、H5、js都学习接触了一些。但整体接触程度比较浅薄。Python当初学习是为了做做移动端验证码模型和逆向攻击浏览器H5;学习Go是为了改造wireguard的源代码,满足公司业务功能;学习Java是为了自己感兴趣,搭了一个简单服务;H5是为了开发智能验证码和微信小程序;js是为了更好做webview的交互和验证码的无感校验。
```
```
一个是ios本身技术路线拓展了一些,由于公司主要是做加密安全领域业务的,ios设备的参数特定采集,安全防护,逆向攻击都了解。Mac端的APP开发也做了,cocoa框架有了一定程度的了解。
```
但是最近面试ios相关工作发现,我特么这都玩的啥啊。哎,啥也不是!
2,我与这个互联网开发脱离有多远?
一句话,so far~
要说起这个,咱们得聊一下,目前互联网行业对ios开发或者移动端开发有哪些要求。
```
网络通信、算法、数据结构、设计模式、编译混编、跨平台flutter/uni-app等等
```
ios自身基础知识和技术
```
设计模式、组件化、Runtime、RunLoop、多线程、block、性能优化、音视频、常用第三方框架源码研究、底层原理、LLVM、调试等xcode工具等等
```
说实话最近的面试,那真是苦不堪言、丢尽颜面。我记得啥也没准备,改了一下简历(还是直接复用自己几年前简历模板),直接投了拉勾。面试的第一家就是字节跳动,第一轮面试下来,我都懵逼忘记自己在哪里了。
不管是原理底层实现的问题,还是一些copy和strong的基础类问题,还有最后的在线算法实现。现在回想起来都是一阵社死般的尴尬。啥都不准备直接上一线战场,直接跪趟~
3,现在努力是否还来得及?
还是一句话:心有多大,地就有多广。我才30岁,依然有时间弥补和学习。
改变自身的方法有很多,我自身原因总结了一下,大致分为两类。一者自身内动力,一者是被迫压力型。其实前两年跟同事聊天也说起ios的行情不好,未来受到冲击比较大,自身公司是安全工具类的业务方向,方向狭隘算是脱离互联网主流方向,不学习说不定有一天想离职都离不了。
但是这种聊天或者其他类似的压力,对于一个在舒适区待久了的程序猿,有时候就是过耳旁风。可能当时还会想想自己接下来要努力,但大多坚持不了多久。
一则是因为这个外在压力并不是时时刻刻存在,提醒着自身。缺乏自身内动力的驱使,行动起来不长久。
二则是懒惯得人想动起来是件不容易的事,开发不用懂啥脑子,有问题直接百度/Google,然后CV大法施展,运行改造一下完事。所以懒,特别是脑子已经懒惯的人,这种时候是最难受也是最需要改变的。
依然那一句话,我现在已经30岁,是否再次努力,还能不能继续在这个行业里混下去,是比较有尊严的混下去。答案自然是肯定的,问及内心,也一样。回顾过去的几十年,自身不算什么多优秀的人,但是坚持自身不做逃兵的底气还是有的。
30岁是程序员也是其他工作者的一个年关,因为此时大多数情况已经有了家庭孩子,生活有方方面面的事情影响着你。但是30这种而立之年又得是自身剖析自我立身之根的年龄,近几年我本人能从那里更好获得money,更好利于未来几年乃至十几年的发展。不做剖析,总有要栽跟头的时候。就像我这样仓促之下想要跳槽,离开舒适区,碰得满头包。
4,必须改变,有能改变,那又如何改变呢?
这个问题这段时间始终萦绕在我脑海里面,直到昨天我又一次想要报一个ios进阶培训班时,我妻子的一番话打醒了我。
```
她说:“我宁愿你花点时间,多花点钱买书,也不愿你报这种培训班。”
--“看书做题挺好的,培训班的课就是在一刻不停向你灌输知识,这里面的知识没有一个是你自身主动探寻思考挖掘出来的。”
--“如果依然报培训班,几年以后你依然还是这样!”
```
是的这几句话让我当时真是感到当头棒喝,报一个进阶培训班,相信过了一两月,面试突破一下,绝对找到一个不错下家。但是这对我,对自身面对35岁这个更大的关卡时无疑从内在层次产生更大的阻碍。
是的不谋一时者不足以谋一世,不谋一隅者不足以谋全局。近期情况的要做改变,未来的情况也要做梳理和规划。
我放弃报培训这种更快获取知识,更快通过面试,更快获取offer的道路。接下来我将从四方面对自身学习拓展做出规划
```
第一点,自身技术根基优化,ios依然这一两年谋生主要手段。这条立身之根必须要扎实走深。主要途径,寻找互联网大厂提出的新技术,或者进阶培训班进阶知识大纲,有条理自身挖掘学习。看相关技术视频,写博客做记录笔记。完善基础知识、底层原理的探索、组件化、性能优化、内存管理等
第二点,辅助技术知识的补充学习。ios的运行和编译,优化和混编,都少不了其他技术支持。数据结构、算法、设计模式、架构、网络通信原理,内存分区系统运行原理等等
第三点,其他技术语言的学习。目前暂定一年内flutter跨平台的学习,web大前端特别vueJS学习,两年内java和golang后端语言学习。这类学习不能像之前简单浅层次接触,而得深入进去学习项目开发,学习原理。
第四点,程序员软实力的提升。技术硬实力是根本,软实力的跟进才能走的更稳。我理解的程序员软实力主要是对于程序员自身职业持续规划、心里建设、习惯培养,次要的是管理学以及其他知识有意接触学习
```
立此贴为证,我张某人有一天也会成为别人眼中的大牛!