码迷,mamicode.com
首页 > 移动开发 > 详细

25k 以上的 iOS 开发工程师,需要会些什么?

时间:2019-06-03 22:04:00      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:加强   编码   小白   前端   练手   团队   部分   解决问题   一点   

前言:

一,工作经历

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 开发工程师,需要会些什么?

标签:加强   编码   小白   前端   练手   团队   部分   解决问题   一点   

原文地址:https://www.cnblogs.com/Mcci7/p/10970101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!