一个5年iOS开发者的困惑:路在何方?

    最近陆陆续续参加了四家公司的面试,居然一个offer没拿到。

     一个5年iOS开发者的困惑:路在何方?_第1张图片 

     最后一家面试回来,我坐下来静静地回想了一下这次的面试历程:

     第一家公司:

         公司概况:一家初创型公司,公司的老板是90后,看样子是个富二代,手里面有一些人脉资源,公司的主要业务是准备做一些小额贷款系统出售,大饼是后期做一个系统超市,实现流量变现。公司的预计技术团队包含iOSx1、 Androidx1、Javax3、UIx1、测试x1。

         面试情况:总共就一个技术面(面试后半段90后老板出来一起陪聊),面试官是做Java的,我将App给他看了下,他简单地点了点,没问技术方面的问题,就说他们那边要做的应用很简单,主要是从一些合作的第三方那边获取数据展示即可。面试最后我提了薪资要求,面试官觉得太高了,90老板提醒面试官让人事来处理,我们就这样散去了。

         面试分析:公司的发展前景堪忧(面试官说公司的办公地点要搬到90后老板的家里),感觉面试官个人的技术水平一般,就算公司答应了我的薪资要求给了offer,我也不会过去。

    第二家公司:

        公司概况:一家做视频的公司,看的出来公司在视频领域的积累挺深的,公司的CEO清华大学硕士,软件工程师出道,在大厂有研发和管理经历,目前的公司是他的创业公司,公司有几个办公地点,南京这边的研发中心成立不久,50人左右。

        面试情况:第一轮面试是技术面,面试官就Objective-C问了一些底层原理性的东西,看得出来他的面试经验不多,面试过程中一直在想问我什么,聊了一些技术原理后,问我iOS组件化做过没,我目前的公司一人一岗,整个项目都是我来负责的,自然用不到组件化,没想到他揪着组件化不放,可能觉得我没做过组件化,后面入职很难融入团队,但总的来说我们聊得还行,感觉他还是比较认可我的(技术面过后有一道手写编程题,他还是主动提示了我);第二轮面试是负责人面,负责人不是做技术出身,我们聊了聊公司业务和发展的未来发展,从他口中得知,南京研发中心这边主要负责的是业务层面的事情,说白了就是外包性质的,跟上一家公司很像,根据客户的要求,开发定制系统,当时我心里就有点不愿意了,因为我还是愿意去做自己产品的公司(事实证明,我他么太理想主义了);两轮面试结束,我当时觉得这个offer十拿九稳了,就准备赶下一场面试了(当天下午两家面试),临走时,公司的HR加微信发了一个链接给我,并附有用户名和密码,是公司的在线考试,我当时以为就是走个过场呢,第二家面试完成后,我回来参加了在线考试,看到题目整个人都不好了,8道选择题,2道编程题,不能上网查资料(系统能检测到页面切出,而且还有摄像头对着我),选择题除了Objective-C相关的题目还有逻辑题(甲乙丙谁是罪犯那种),编程题更要命(不是那种简单的排序,第二道还是一个经典的数学问题),编程题交了白卷,选择题也错了一些,成绩惨不忍睹,后面果然没在联系我,看来这个在线考试所占的分量还是很重的。

        面试分析:因为简历上标注我已经有5年工作经验了,所以面试官原理性的东西问的比较多,而原理这一块是我比较薄弱的一环,在线考试的编程算法0分也突出了算法能力差这一致命缺陷,所以这次面试不通过,我毫无怨言。这5年来,除了完成公司iOS业务开发外,我的重心其实放在了新语言Swift和Java后台上,这也为目前的囧境埋下了伏笔(具体后面再说)。

    第三家公司:

        公司概况:一家做街具设计的公司,公司的规模很大,南京研发中心这边目前主要业务是做垃圾智能分类。工作时间大小周(我当时也是抱着试试看的态度过去的,心里琢磨着如果公司很有发展,大小周也能接受)。

        面试情况:两个面试官,一个是那边的技术负责人,一个是做iOS的,iOS面试官先是看了下我App,点了点,问有没有一些复杂的UI界面,因为业务原因,两个项目并没有特别复杂的页面,后来简单地问了几个问题,我都回答出来了,而且最后一个问题答案很显然就是面试官想要的,问完问题他就走了,剩下我和技术负责人聊了一会业务发展,聊得挺好,我当时也以为发offer的可能性比较大,但是后来HR跟我说综合考虑下,他们还是选择了别人。

         面试分析:性价比问题。这家公司应该只想找个能干活的,价格低点的。

    第四家公司:        

        公司概况:一家很大的外包公司。

        面试情况:总共一轮技术面。面试官是做iOS的,先让我做了自我介绍,并让我介绍项目,我直接让他自己看了App,他同样也问了我有没有一些复杂的UI页面(我欲哭无泪,业务如此,我总不能怎么复杂怎么来吧),他看我有做java的经历,就问我怎么去做java的,我说做java也是为了更好的做iOS,降低前后台沟通成本。后面他也问了一些常规的问题,我都答出来了。我问了他公司的业务发展规划,得知他们目前在给上海的一家物业公司做业务,他自也说不会很复杂,感觉聊得还行(至少在我得知他对我的评价之前)。面试完成后,HR来找到我,直接跟我说让我回去等通知(是不是很熟悉的reject方式)。

         面试分析:回头我问了HR我的被拒原因,她把面试官的评价给了我:Swift语言掌握得不错,新项目采用Swift开发。但缺乏复杂UI布局经验,OC掌握的不好,后期协作有问题。我立马蒙了,首先他没有问我Swift相关问题(他自己应该还只停留在OC上,没有用过Swift),我只告诉他【云眼监管】项目是用Swift写的,再者他也没问OC的知识点,为啥笃定我OC掌握不好,我仔细想了想他可能觉得我现在的精力都放在了Swift上,OC生疏了,而目前他们的团队用的都是OC,如果我入职加入团队,配合起来会有问题,这也就解释了他为什么会觉得后期协作有问题。

    小结:

       逆风开局!我本以为傲的两大优势(Swfit、Java后台)却让人大跌眼镜。先说Swift,就我所了解的一些公司,他们的iOS业务还是由Objective-C来完成的,新语言对开发者来说有学习成本,对公司来说有混编下的更高维护成本,所以公司和开发者更倾向于Objective-C,所以我目前采用Swift,对他们来说不仅不是优势,反而是与团队其他OCers的协作阻力;再说Java后台接口开发,除去一部分公司后台用PHP之外,那些就算用Java后台的公司,他们在招聘iOS开发者的时候,压根没有想过让iOS开发者来负责接口,其实【云眼监管】项目的实践证明,如果让我来负责后台接口,真的能达到1+1>2的效果,但很显然他们还是更倾向于找个本本分分的螺丝钉?。

        所以,这次的面试经历,让我感觉到路在越走越窄。不可否认,现在App开发由于受到小程序的冲击,当然也有移动互联网泡沫的破灭,初中级的移动开发者处境不容乐观,但作为一个从事软件开发5年的老鸟,算法和基础能力的欠缺也是导致这场战役失败的关键性因素,换个角度说,如果算法和基础扎实,那么那家做视频的在线考试就真的是走个过场。

        猥琐发育!如果想在软件行业站稳脚跟(至少说平稳点),那么算法和基础能力就必须提升,虽然这个行业技术更新速度飞快,但万变不离其宗,过硬的算法和基础能力就像打通了任督二脉,后续学什么都快。

       选择大于努力!除了明白算法为先、次基础、技术为末的道理外,后续我准备往Java方向转,App开发维护成本过高的事实已经让其失去了作为公司首选技术方案的优势。

        一个5年iOS开发者的困惑:路在何方?_第2张图片

 

 

        

你可能感兴趣的:(程序人生)