We all live in the world of up-titling, everyone wants to be called ‘manager’, ‘executive’ or at least ‘specialist’. There is nothing wrong with that if the competencies for such positions are well-identified and the title is used just to boost staff morale a bit.
In IT business, however, the situation is far worse. Here most of people are called ‘developers’ or ‘engineers’ but the most tricky part is who to call junior and mid-level and who is competent enough to hold the title of a senior developer.
I have seen numerous cases when some junior developers were recommended for senior positions and accepted by unaware clients which all resulted in epic project failures and the need to re-create the code or design at some stage. That is why I would like to share with you the characteristics of who I perceive to be a real senior developer in the mobile app industry. You can find it listed below.
1) Senior mobile developer has been writing good and well-framed code for a long time
That part may seem obvious. Senior developers should just be able to write a good code to make the app work as it should. However, there is a huge difference between a ‘good’ code and a code that allows for the product’s scalability and long term sustainability, especially given the potential functional scope and value proposition changes that usually happen while trying to reach the product-market fit for the app.
That is why it is so important that senior developer has proven competencies in application architecture design, which usually translates into being able to choose appropriate design patterns, database structure model, deployment model and recommending any third party components to be used. In addition to that, senior developer is able to ask proper questions to gather existing functional and non-functional requirements for the project and, more importantly, make sure the application architecture can hold future must-haves and nice-to-haves to be later added to the product.
As you may imagine, third-grade student, however, brilliant he/she is, is unable to make a 100% conscious development and architectural decisions. Which is why I would say that 3+ years of industry-specific commercial experience and at least 5 demanding apps created so far may be some indicator that you are actually speaking with a senior.
2) Senior mobile developer is able to optimise the app look and feel
Mobile apps are as much about how they work as how they look. That is why truly senior developer cannot be just code-only algorithmic geek. He / she needs to have aesthetics taste and real passion for creating beautiful and usable products. Having said so, senior mobile developer does not need to replace UI/UX designer in a project team but both of them have to engage in constructive discussion to create optimal user journey embedded in clean and nice-looking user interface.
In order to achieve that, they both need to speak the same language and share the same ultimate goal: the app that they will take pride looking at and playing with. Such competencies may be measured by how easy and informative it is to discuss the app design part with your developer and specifically their knowledge of best UI design patterns as well as custom or native controls and animations to be used.
Senior mobile app developer needs to live and breathe apps and should easily point to interesting things seen in similar products to yours and recommend how to make it look and behave even better.
3) Senior mobile developer can take ownership of the project and manage the client relationship
Senior developer needs to have soft and project management skills as an addition to their technical expertise. It is especially important for companies who opt for technical project leadership and lean team structure. But even if a team is larger and consists of separate Project Manager, Scrum Master or Product Owner, senior developer needs to be skilful enough to contribute to organisational success of the project and manage emotions and expectations of everyone involved. It is much less risky to run a project when a senior developer is NOT the one who does what he/she has been told to do but also thinks what’s best for the project success and the general team atmosphere.
Such skills are measured by the level of project progress transparency senior developer offers and the ease of sharing mutual concerns between the project team and the client so that potential problems are detected well in advance. It is also visible though self-confidence and reassurance brought about by the fact that senior developer played an active part in many projects and accumulated the best practices to make sure that a project is not derailed.
4) Senior mobile developer can help to build an app that is successful
An ultimate goal for each senior developer should be to become an industry expert. Reaching the seniority level has to bring about the chance to capitalise on the past experiences and lessons learnt from the accomplished projects. At the end of the day, mobile app industry is about making apps that last both from the user-base and monetization perspective or they truly contribute to enterprise-level optimisations. That is why it is so crucial that a senior developer remains proactive in transferring the accumulated information and experience into valuable knowledge about how to make an app that is successful.
Again, senior developer is not here to replace product manager but he/she needs to be competent enough to discuss appropriate monetization strategy, optimal analytical and feedback gathering tools, crash reporting systems,marketing automation components, etc. They need to play an active part in product-related discussions and suggest the best chunks of technology or best practices that can increase the chances of the app delivering on its value proposition and succeed in the end.
At Nomtek, we are passionate about empowering our developers to follow such path to becoming seniors. We want them to be real experts and consultants as opposed to ‘just’ engineers. We are very cautious that every junior or new hire understands this and we actively help them reach higher expertise levels. We are also very transparent and strict in making a clear distinction between junior and senior to our clients. At the end of the day, what we all want is to make an app that truly rocks and lasts:)