Beyond Mobile Engineering - Part 2

So now that you have chosen to stay with the technical path, let us go a bit deep into it and see what possible options to explore.

Conservative Path

Conservative career path for any software developer Conservative career path for any software developer

This is a prevalent path where a developer progresses in one field with experience. It is perfectly fine to follow this path if that is your goal. You will get to learn and grow at each step.

This part will bring stability and predictability to your life. You will be able to focus on your hobbies and maybe even make it your side hustle. Hence this path can often help you take on the Enterperenual route.

Exploration Path

Exploring other technical fields Exploring other technical fields

Above diagram will help you visualize the possible paths you can explore. These paths are very generalized. You can also do Mobile and Back-end together, iOS and Mac apps together, or Android and WearOS together. Also, you can develop an application that incorporates AI/ML in the app. But the above paths show at what stage you can give complete attention to that stack.

We will look into the management path in the next article. But, for now, let’s focus only on two technical tracks:

Architect Route: You are a master in one domain. You know the ins and outs of designing, developing, and architecting an application. Now it is time to look at big-picture.

  • Break down an application into components.

  • Identify moving parts.

  • Design and create architecture for new features.

  • Plan and improve existing architecture, build systems, and project structure.

  • Look into optimizations: code quality and performance.

  • As a solution architect, you can work closely with product owners and business units to analyze and solution new apps and new features to convert stakeholders’ requirements into the software.

Exploring Other Technical Domains: Mobile developers’ natural instinct is to work on back-end stack. As the consumers of APIs, it is always intriguing to see how API works and how you can improve it. Hence learning and pivoting to back-end engineering is a natural path. It is a vast field in itself. Options other than back-end are:

  • Platforms: Developing apps for other platforms like windows, mac, wearables, and IoT. However, this path is still front-end as it is more user-facing than the cloud.

  • DevOps is relatively new but essential for the continuous integration and deployment of any software. Moreover, with advances in the cloud, the need for containerizing and shipping large apps efficiently and securely has increased tremendously. Hence this can be an equally challenging and rewarding path to explore.

  • AL/ML: You cannot avoid this. Eventually, every software engineer will stumble upon AI/ML at some point. But it is a complete beast on its own. For a Python developer, it is a natural path. But with CoreML/CreateML and MLKit, even mobile developers can go deeper into this field while staying in the mobile domain. I recommend starting from the basics as it will give a more profound understanding of algorithms and use cases.

Many developers believe that once they go deep into one technology, they cannot grow further or will reach a ceiling. But this is not true. There are many different options available to choose from. You can definitely break the ceiling with the proper knowledge and guidance.

Here are some tips I would like to share from my experience:

Try out: In the early stages of your career, try out different tech stacks. Learn a few other languages, E.g.: Make an Android/iOS app and develop a back-end for it. This way, you will get to know both the front-end and back-end. You will learn Kotlin/Swift and JS/Python basics.

Cross Platform: Once you grasp a particular platform, explore another one. If you are confident with iOS, then learn Android and vice versa. Remember, you are going to be deep enough to know the ecosystem.

Learn something different: Every year; there is something new on each platform. Explore what is unique, and try it out. If you cannot incorporate those new technologies at your current workplace or project, then make a new project, share it with the community, and go at your own pace. You do not have to be an expert in everything, but you must be knowledgeable enough to analyze and solve problems.

Give back: Contributing to an open-source project is a great way to give back to the community and, at the same time, learn from the process. Pick your favorite OSP and make some contributions. You can give back by teaching and or writing articles like this. Many people have built a career out of it. All the well-known bloggers, trainers, speakers, creators, and curators you have been following and getting your answers from have built a career out of giving back to the community. This is one of the best ways to make a contribution, get recognized, and learn new skills at the same time.

At this point, you are a senior developer who has worked on various projects, solved multiple problems, and understood one platform and its ecosystem well. From here, you can pick two paths:

  • Go deep: You can either stay on your platform and explore how compilers such as LLVM work, how to build systems work such as Gradle, how you can make something better, how to scale the projects, what is the best CI/CD setup, how to make Unit/UI testing effective, Accessibility, etc.… Trust me there is a lot more you can do here than you think.

  • Parallel Path: You can explore other back-end tech stacks. For iOS developers, if you want to stay with Swift, you can learn server-side Swift. A vapor framework is an excellent option. Since you already know Swift, you will understand the syntax and how the back-end is developed. Concepts such as API, Middleware, Database, Services, and Workers will get clearer. You can also look into JS frameworks like Node.js, which is very popular for back-end applications. Also, Python if you have some interest in machine learning. Python is a very general-purpose language, and I recommend every new and old developer to at least have a good knowledge of it. It is used for the front end with Django or as a machine learning powerhouse like PyTorch, Pandas, etc.

New challenges: So now you are the master of your domain. What’s next? Honestly, for some, this is it. You are in a comfortable place and would like to focus on life and related responsibilities. But it is never late to pivot in your career. You can start again from the basics but in a very different field. Do not be afraid to start from the beginning and take on new challenges. Remember, you will progress way faster than you did the first time. You can be a back-end developer — even DevOps. Many businesses have to pivot to be successful, and so can you.

The above few tips are mainly for those who want to stay technical but explore other fields. In the next part of this series, we will look into a completely different universe where you manage people instead of managing the code base.

Post header image Designed by slidesgo / Freepik