标签:
如果你想知道如何成为一个专业的iOS开发者,这个清单就是我建议你要做的。我会从我作为5年的iOS顾问、8年的软件开发者以及一个HR——我在最近3年内雇佣了几个iOS开发者来处理我无暇顾及的工作——的经验来说明。这些是当我雇佣一个iOS开发者时会考虑的。这里的清单很重要,是一步一步递进的,在某些情况下,前一步甚至是后一步的必备条件(即必须的)。
有很多描述软件构建方式的术语。我说的是技术,与术语是不相干的。你应该知道如何很好地构建软件——如何很好地开发它、测试它、调试它以及如何在最低限度上进行版本控制。如果你仍然对这些实践不太熟练,那就该学习了,在开始之前,我推荐阅读一下The Pragmatic Programmer。
版本控制非常重要,所以我提了两次。对,它是软件技术的一部分,同时它也足够重要到单独说明。如果你计划和其他iOS开发者一起工作(即使你不打算),你绝对需要知道如何使用版本控制。它让你可以打点,回到以前的某个代码版本,并解释为什么你要做出更改。很有可能你会使用git,现在很多公司都是用的它,但你也可以检查一下他们使用的是什么。对于git,你应该知道:
这些是基础——还有很多你可以用git做的事情,并且你可以(也应该)学习更多的东西。如果你还不知道git,可以从学习try.github.io开始
如果你想要做一个专业的iOS开发,就需要了解Swift或者Objective-C(两个都了解最好)。对于一个初级职位,你应该至少要知道语法和大量的基础框架(对象、集合、数据类型、网络、JSON)。此外,你需要了解基础的面相对象概念,比如对象是什么、类是什么以及如何写一个方法。
你可以在参考the Beginning Swift course构建你的第一个Swift app时学习网络、JSON等等。或者你可以通过How to build a hybrid iOS app开始学习Objective-C。
而且你可以在iOS Boot Camp中学习任何你需要知道的关于Swift的内容。
如果你想要成为一个专业的iOS开发者,你就不得不了解iOS。这表示你需要对如何做下面的事情有一个好的理解:
你还要知道view controller lifecycle和应用的生命周期
我在What skills would I need for a job as an iOS developer?中扩充了本节的内容,仅仅专注于你找到iOS工作需要做的。并且你可以在iOS Boot Camp中学习到大部分的技能,所以如果你还不了解iOS,我非常推荐你学习它。
如果你已经构建过一个app了,就已经证明了你知道如何构建一个app。而如果你知道如何构建一个app,对于潜在的雇主来说就比一些说了解Objective-C和iOS但却没有构建过任何内容的人更有价值。所以通过构建一个真实的app来证明你了解你要做的事情吧。
因为你这时候应该了解版本控制了,在构建你自己的app时就应该使用它。如果你在一个iOS工程上真实地使用版本控制,就会更加清楚什么文件应该忽略而什么不应该。
我说这个可选是因为对一些雇主来说,你可能不需要提交一个app到Apple——可能团队中有一个高级开发者来处理或者可能只是把app发布到内部使用。但因为你可能需要发布你未来的雇主的app到App Store,你应该知道其过程。而自己做一遍是最好的学习方法。即使团队内有一个高级开发者负责提交app到Apple,也可能有时候你需要登录到iTunes Connext来处理更新的元数据、取消一次更新或者其他的事情。做这件事,就可以向你未来的雇主证明你了解App Store。
如果你想要专业地开发iOS,就需要申请一份工作。但在你做之前,思考一下:为什么一家公司想要雇佣你?为什么公司总是雇佣员工?
知道么,他们想要从你什么赚钱。他们想要销售你的工作然后获取比在你身上花费的更多的金钱。或者,如果他们准备精简开支,他们想要保留比花费在你身上的更多的金钱。无论哪种情况,他们都想要通过雇用你来增加他们的利益。
所以你的工作就是说服你未来的客户/雇主:
大部分公司甚至不会问你这个。他们可能会做一个技术面试以及一个性格面试来看看你是否合适并且能帮助他们。但如果你明白他们想要从你的工作上赚钱并且清晰地沟通你可以如何做到,你就更有可能被雇佣。向他们展示你的iOS工作是你可以做的一种方式——你在向他们证明你可以完成工作。此外,如果你与一些公司员工有关系并且你可以获取一些参考或者被你认识的人雇佣,会更容易获取工作。所以在你继续提高你的技能和寻找工作时阅读一下focus on building relationships吧。
本文翻译自博文How to become a professional iOS developer,也就是如何成为一个专业的iOS开发者,我觉得要求比较基础,因此去除了专业二字。从一份建议的阅读清单看到的,本想看看如何变得更加专业的,不过作者写的很有条理,也非常注重版本控制系统,比较适合新手吧。
标签:
原文地址:http://blog.csdn.net/cloudox_/article/details/52277395