25k 以上的 iOS 开发工程师,需要会些什么呢?
Posted mcci7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了25k 以上的 iOS 开发工程师,需要会些什么呢?相关的知识,希望对你有一定的参考价值。
前言:
一,工作经历
1,毕业四年,第一家公司就是做ios开发,一直到现在,做了四年多iOS开发。前后换了四家公司,第一家是外包公司,那个时候我刚入门,在公司的项目中边学习边参与项目开发。后面的几家公司,都是一个新的项目,我过来从零开发,一个人独立负责项目框架搭建、业务功能开发、测试发布、项目的后期维护等流程。工作很忙,但也都能应付过来。
2,做时间久了,就慢慢发现,做业务功能的开发越来越没意思了,又都是一个人就能搞定的小项目,并没有太多技术含量。主要工作就是寻找合适的开源框架和技术方案,在业务中实践以完成功能的开发。重复这个过程完成一个个功能的开发。
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!
3,就拿我现在做的项目来说,是公司内部的移动办公项目。这样的项目,做的好坏公司其实并不会太care,只要没有明显的bug就行。基本就是能用就行,对性能、安全性、代码质量要求都不高,运营需求基本没有。另外,我们团队专业的测试、UI都没有,UI切图前端兼职、交互体验要自己想、测试基本都靠自己点。即便你想去做一些优化,也没有专门的时间分配给你。你自己花时间做了也没人在意,如果优化的时候改出问题了,又要自己背锅。有些时候就会让人很沮丧,没有成就感。
4,比如项目中纯原生开发的IM模块,我自己一个人参考微信、各种逆向工程,技术选型都换了好几次、加班绞尽脑汁优化体验,微信IM模块能看到的东西大部分都实现了。当时因为有安卓端在用也不急,这一个模块我就做了三四个月,还列出了后期种种优化的点。
5,然而最后却因为没有跟PC端通信打通,被告知这个模块根本没人用。后来就泄气了,IM模块就没有再维护过了,开发时列的那些优化的点也都没有去实现。脑子里面就会想做的再好有什么意义,有没有人在意,根本就没人用,业绩也不会因为这个得到提升。哎,伤心。
6,但是上心归上心,工作还要继续,还是要给后续的工作寻找意义。后来又原生独立开发了邮件模块,一样是打起12分精神,当是做自己的作品,绞尽脑汁把体验做到最好。这个用的人多一些,反响也不错,也让我找回了一些成就感,也算是一个小小的安慰。
二,面试被拒
1,慢慢地就想,在小公司做了这么多年了,也都是一个人在做开发,都没有经历过大的iOS开发团队。是时候去大的互联网公司历练一下了吧。于是就开始整理简历,在拉钩和boss上修改了求职状态。然后还真有大公司的hr或者技术邀请我投简历,投简历面了几家大公司。但是都是以底层知识了解太少、开发技能只是满足日常的业务需求的原因被拒。
然后就越来越沮丧,也促使自己开始自我反思。
三,自我反思
1,做iOS开发四年多,都在不停地做项目,还都是一个人独立开发的项目,自己一直都在忙于应付各种业务需求的讨论、开发、测试、发布、维护升级,再有新的需求的循环开发。都是重复的劳动。
2,前几年跳槽都是奔着能继续做项目练手学习更多知识,然后工资上也能多涨一点。但是几年的历练下来,回头才发现,确实是积累了很多做项目的经验,但是在大公司严谨的技术面试下暴露了自己很多的不足。没有认真研究过底层知识,对OC的原理了解太少。
3,没有深入研究过第三方源码,对于技术学习的自我驱动力太差等等。总之开发技能大多是能满足当前的业务需求开发,再好一点可能就是能把业务功能的体验做的好一点,bug少一些。说白了,都是业务驱动的开发。业务实现需要用到这块的知识,去谷歌一下学习一下,然后拿过来用。实现功能之后发现没问题就结了。
4,最终造就了现在的结局:项目经验丰富,解决问题的能力强,但是技术实力却不怎么样。
四,重新出发
1,总结一下,自己这边的问题就是平时只顾着业务功能的开发,在小团队里面太过封闭。导致疏忽了技术的学习,虽然做了几个项目,积累了一些项目经验。但是对于语言知识的学习,对于底层实现的学习太少。
2,后面准备在开发的过程中加强这些方面的学习,比如并发编程、逆向工程、设计模式、Runtime、Runloop等,然后再把常用的一些开源框架深入研究一下。
五,学习
1、在公司项目开发中培养发现问题的意识,平时开发中多思考,多去发现问题解决问题
2、挑选一个常用的三方开源库作为切入点,深入研究它的编码和架构,碰到不熟悉的知识点,再去补齐相关的知识,最后学习并输出相关文章
3、多阅读一些大牛的博客,开拓视野、开放自己的思路,给自己树立学习的榜样
4、把学到的东西或者一些思考,通过文字记录下来。加深理解和记忆。
5、工作中碰到的问题,或者项目中的一些独立解决问题的模块功能模块,可以考虑再次封装,做开源贡献
坚持自我学习,加油!
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!
文章来源于网络,如有侵权,请联系小编删除。
以上是关于25k 以上的 iOS 开发工程师,需要会些什么呢?的主要内容,如果未能解决你的问题,请参考以下文章
面试大厂屡屡被拒,感觉五年青春打了水漂!现在 Android 高级开发到底需要会些什么……