A question we are frequently asked, usually by less experienced iOS developers, is how to prepare for an iOS interview. Most candidates look for our advice for preparing on technical details such as what frameworks or libraries to invest their time in, what architectural patterns should they be using, and other technical details. We believe that it is essential to acquire the knowledge and develop a proper understanding of such tools and notions and the ability to use them efficiently. Moreover, we like to introduce developers in thinking somewhat differently when considering changing jobs or even starting a career in software development, emphasizing on the relationship and mutual benefits for both you, the employee, and your future employer.
If your goal as a candidate, is solely to receive an offer, regardless the characteristics of the employer and team, then you should probably focus on two aspects; answering all the questions correctly during the interview and convincing the interviewers that you can deliver what they require. You can approach interviews as a “number’s game” where the more of them you attend, the more offers will get if you’re meeting the criteria, especially when the demand for iOS developers in the job market is high.
However, becoming capable of passing interviews with only short-term goals may very well not work for the best in the long-run. While it can be exciting (and scary) in the beginning to prepare for and jump into the deep waters of commercial software development, we believe you ought to think what kind of career you’d like to have. Because the career is what’s important. That’s how you’ll spend most of your time, opposed to the interview process that overall might take less than ten hours.
Passing an iOS interview as a skill
In all the years being responsible for hiring new developers for our teams, we’ve seen competent candidates performing suboptimally during interviews due to the stress and pressure they experience. It's not uncommon during the interview process (over the phone or in person) for fear to kick in because of many unknown elements candidates might be facing. For example, such elements may consist of the environment like the room or office space or questions that the candidate might not know how to answer immediately. Moreover, the lack of instant feedback from interviewers may lead candidates to a false perception that the interview is going bad, which can influence their performance.
Although it may sound counterintuitive, a way to overcome such fears is by accumulating more experience at interviews. By attending a lot of interviews and testing yourself, regardless if you progress to the next stage or not, you can identify weak spots on your performance and start working on them. Perhaps you may feel that you are strong technically, but lacking good communication skills. Or even the opposite. What's important is to identify what improvements you need to undergo and work on them yourself or expedite the process by asking help from expert coaches.
Building a career as an investment
Joining a new team is a gamble for both the newcomer and for the hiring team, as both have only established assumptions as to how the other party will perform in the future. Of course, this shouldn’t stop you from being thorough and conduct your “due diligence” of potential employers, the market they operate in, the products they produce, the growth and problems that might have faced over the years. Most importantly you should be able to justify how you will be able to contribute to the company’s needs and at the same time how the company will contribute to the increase of your market value. You should be able to ask these questions during the interview process and develop metrics and filters throughout your career. By thinking in terms of reciprocity, you can align your incentives with other developers and businesses and try to create a mutually beneficial relationship.
Because of the dynamics in the capital and job markets, we have reached a point where a significant portion of developers jump between jobs every six to twelve months. We believe that this period doesn’t suffice to create meaningful relationships and exchange maximum value with a company or a team. Moreover, in an ever increasing pool of iOS developers (increase in supply in the job market), competition may start becoming more fierce. Relying only on technical excellence can be a risky proposition when we already know that teams require qualities such as sound leadership, communication, and risk assessment to function optimally.
Finally, most importantly, such a mindset isn’t constrained by seniority levels. Regardless the years of prior commercial experience, your attitude should promote the eagerness for personal and communal continuous improvement through the pursuit of creating more value for others.
In summary, each interview process is different, and the candidate’s incentives will vary from time to time. Being offered roles solely based on your technical skills and/or your seniority level may work well in the short-run. However, if you want to build meaningful collaborations with other developers and companies, you’ll need to fill the needs of non-technical nature. Many companies aren’t looking just for programmers, but for people that can provide solutions to a plethora of internal problems that might be facing. You shouldn’t be afraid to ask the interviewers about what may be valuable to you to know, as it’s probably the first substantial step to start developing a foundation for reciprocity. Even if the interview process doesn’t move forward, it’s advised to maintain a friendly an open attitude towards the business or the interviewers, as your paths may cross again in the future.
We’ve been helping dedicated developers to get from low paying jobs to high tier roles. Sometimes in a matter of weeks! To do so, we continuously run and share free market researches. Learn how to improve your skills with Empathy, Integrity, and Economics in mind. If you want to step up in your career, access now our latest research for free.