If you've been a mobile developer for a few years, it's likely that the time has come to advance your career. When...
you interview for a higher position, you should be well-versed in technical mobile application developer skills -- and be able to communicate those effectively to your interviewer.
Technical skills are the most important factor that interviewers will assess. You should master -- or, at the very least, get a good grasp of -- the most in-demand mobile application developer skills.
Client-server communication: Know how mobile apps communicate with back-end servers and which issues can arise in this context. Understand the use cases for GET, POST, PUT and DELETE HTTP request methods, as well as the meaning of 2xx, 4xx and 5xx HTTP status codes. In addition, review the structure of HTTP requests and responses. Be able to explain what HTTP headers are and why you need them. Also, make sure you know how Secure Sockets Layer/TLS works.
To go the extra mile, learn the rules that govern the caching of HTTP responses. Also, familiarize yourself with different authentication mechanisms, such as multifactor authentication.
Offline work: Offline work kicks in when client-server communication isn't possible. It's impossible to understand the full scope and complexity of offline work without building a mobile app with offline capabilities.
As an experienced developer, you should be able to explain what offline work is and understand its general use cases. You should also know that the only viable alternative to offline work is to fail gracefully and notify the user about the error.
Unit testing: Most developers don't write unit tests. When developers do know how to unit test their code, they stand out.
If you've never written proper unit tests in a professional setting, try it out on a hobby project. Invest one or two weekends into unit testing and you'll obtain one of the most marketable and impressive technical skills.
How to communicate effectively in an interview
You can be the best developer on the planet, but it won't be enough if you can't properly communicate your mobile application developer skills in the interview. This is especially true for senior developer positions because you'll likely mentor junior developers, and communication with them is crucial.
Ask questions: It's common for technical interviews to become one-sided interrogations, but a good interview should be a conversation. Ask questions about the assignments, about the interviewer and about the workplace. Asking questions can help you understand the context of the role better and create a conversation rather than an interrogation.
Admit your ignorance: If you can't answer a question, don't try to turn the question back on the interviewer. Instead, just admit that you don't know the answer.
But you shouldn't just say "I don't know." Instead, try to formulate a more intelligent response, such as, "I'm not sure I know the answer. Would you like me to use my intuition and guess?" This variant shows that although you can't answer this specific question, the topic itself isn't new to you.
You should adjust your message to the industry of the company you interview for and, if possible, to the specifics of the product.
For example, a company in the medical field likely places high importance on reliability. In that case, you should emphasize your knowledge and mobile application developer skills in unit testing and error handling.
A small startup that develops a consumer application probably values speed above all. Because unit testing is often seen -- although erroneously -- as a slowdown, you should place less emphasis on it.
Does the company develop an e-commerce application? Mention that you've worked on data-heavy projects. Does the company develop mission-critical applications? Tell the interviewer what you know about reliable client-server integration and authentication. Also, ask whether the application will have offline capabilities.
By asking questions during the interview, you can find out which mobile application developer skills interviewers are looking for and adjust your message in real time.