1. 浑浑噩噩的 10 年
我 1985 年出生,2006 年二本毕业,专业是电子信息工程专业。说实话,大学毕业之后一直没有什么职业规划,也不懂什么叫职业规划。老师没教过,父母虽高中文化,奈何没有很好的建议,也帮不上忙。
这 10 年走了太多的弯路,请容我娓娓道来。我做过四种类型的工作:LED 工程设备修理工程师、房地产公司行政、人事、策划。但是每个工作都做不长,最长的 2 年,短的三个月不到。再说说工资,最高也没超过 1w,我一度怀疑自己的能力,未来怎么办?焦虑不堪。
哦,对了,2010 年工作实在不怎么样,我裸辞备战考研,一个月内感冒 3 次,这一年我轻度抑郁,半年内搬了 4 次家,后来逼着自己去健身,身体才好起来。之后报的南开大学的经济学,由于专业课太差(专业课 79 分,高数 140 分),未能上岸。
2015 年初,我发现我 30 岁了,可是一事无成,觉得不能再这样混下去了,是时候要做出改变了。我四处咨询朋友,终于贵人出现了。
2. 贵人相助
其实要说起贵人,还真的不止一个,我们一个一个来。
第一个,我的小舅子,虽然不是他教的我 iOS,但是他根据我的特长、性格,以及当时的互联网环境,给我了很好的职业建议,我非常非常感激他。
第二个,小舅子的同事(已回贵州老家,但现在依然是最好的朋友兼老师),不言而喻,刚入门时给了我很多技术上的指导。我相信你应该能体会,非科班出身的程序员一开始有多难,我觉得如果不是他,也没我的今天,感恩贵人。
第三个,我的家人,尤其是我的老婆对我的支持,给了我坚强的后盾,让我这个结婚时没有工作的人,能义无反顾、毫无顾虑的学习 iOS,投身 IT 行业。
最后说说自己当时的感受,人生到了低谷,其实挺无助的,我抓住了能抓住的任何希望,然后发疯的、不要命的学习,真的唯有知识才能改变自己。我依稀记得自学那半年基本没出过门。
3. 第一份程序员工作
因为没什么编程相关经验,我就网上各种找资料,模拟一些小项目,记得当时简单的写了一个登录界面,就海投简历了,现在想起来自己还是太天真了。
由于市场上招聘岗位挺多,投出去几千份简历,可是约面试的寥寥无几,当时也是初生牛犊(30 岁算老牛啦)。
我珍惜每一次面试,无论多远,都风风火火的按时到达。我记得有多次面试乘坐一个多小时地铁到公司后,面试官让随便做几道题,聊了没到 5 分钟就打发走人啦;有的一屋子做了十几个人,像黑社会一样,一点技术没问,就说试用期没有工资,但管吃住,问我干不干的。差不多一个月时间,被人拒绝了至少 20 次。当时我就想,反正我什么都不会,你们拒绝我正常,只要谁能给我机会,我肯定比他们学的都快。
终于,功夫不负有心人,碰到一个在深交所上班的大佬,他因为工作轻松,业余时间学习了 iOS,并研发了几款爆款 APP(面向海外市场),于是他和腾讯的同学创立了一个小公司,公司刚成立,需要 iOS 初级研发。
我还记得当时过去面试,直接上机做题,在流水布局的单元格中,区分一下视频,并标记出来,完全没有实操经验的我,竟然懵懵懂懂完成了需求,之后他又和我聊了一会儿,居然第二天下午就通知我去上班了。我觉得我所有付出没有白费,我把这个好消息告诉了我媳妇。
后来他告诉我录取我的原因是:虽然快 30 了,但是感觉我完全是积极向上的心态,特别有活力,加上又是自学 iOS 的,说明还是有一定潜力的。事实证明,我确实进步很快,转正后老板多加了 500 元给我,现在想想,真的挺感谢他给我的第一次机会改变我的人生。
我也就这样顺利入坑,记得入职当天,我发了一个朋友圈,图片是苹果笔记本配上一台苹果 4S,文字是'开启神奇之旅',真的好难忘,哈哈哈,人生真有趣!
4. 转行这 6 年
截止此时此刻,我已入坑近 6 年时间,经历 3 家互联网公司,最近一份工作已有 3 年之多,目前任职前端负责人。
目前我任职的公司是某行业头部企业,研发中心预计年底 500+ 人,前端部门包括安卓、iOS 和 web 工程师,目前 30+ 人。
这六年我是这么做的:
第一、非常努力的学习专业知识,这是我的立身之本
当时最有效的学习方式是看视频,不断的看视频,然后进行实操。我找到第一份工作后,老板只提需求,实现方式全部自己想。那段时间下班我先跑半个小时步,然后回去疯狂撸代码,各种找资料、各种调试、遇到问题百度,翻墙,问朋友等等,总之,不搞定问题不罢休。
在 iOS 开发初期,我深入研究了 Objective-C 的内存管理机制,特别是 ARC 与手动管理 MRC 的区别,理解了引用计数、循环引用的常见场景及解决方案。对于 UI 渲染,我掌握了 Auto Layout 的原理,能够处理复杂的自适应布局需求。随着技术发展,我逐步过渡到 Swift,利用其类型安全和现代语法特性重构旧代码,提升了项目的可维护性。
进入前端领域后,面对 Web 生态的快速迭代,我系统学习了 JavaScript 核心概念,包括闭包、原型链、异步编程(Promise/Async/Await)。在框架层面,我深入钻研了 Vue.js 或 React 的生命周期、状态管理(Vuex/Redux)以及组件化设计模式。为了提升构建效率,我配置了 Webpack 或 Vite 等构建工具,优化打包体积和加载速度,确保用户体验流畅。


