Importance of mentoring in Android development

Importance of mentoring in Android Development

I wrote this article for Junior Android Developers. My last article was 6 Junior Android Developer mistakes to avoid in 2019. This time it’s about the importance of mentoring in Android development. The thing you shouldn’t avoid. It will make you learn faster.
 

Someone to learn from

There are many Android devs with little experience who don’t have senior developers to learn from. It usually happens in smaller companies and small freelance gigs. Sometimes not having one brings feelings of pride and independence but it’s a package deal. It also brings a slower learning process and more project fuck-ups. 

Many junior developers think that they know enough. I thought so too. I knew everything until a more experienced developer didn’t review my code. Fortunately, from that time on I have someone to learn from and I will write about it later. But for now…

Foreseeing potential issues

In Android development usually, there are many ways to achieve the same thing. An inexperienced developer can’t foresee potential issues for each of them and pick the best one. 

He may even use outdated solutions from StackOverflow (SO is great if you know what you are copying) because it’s hard to keep up with Android news, especially as a junior dev. It’s easy to get confused and implement an outdated solution.

You implement a bad solution and leave it because ‘it works’ or delete your code and go for a better solution. The later prolongs the development time, the former one slowly kills your app. And a 3-minute consultation with senior dev would prevent it.

Fixing fundamental mistakes

Back to project fuckups, a Junior dev who starts a new project can create a poor foundation and build a project with fundamental mistakes. It’s harder to fix a bad architecture with every new feature. The app may work so and so but wouldn’t be maintainable. It means that adding new features would be impossible or take too much time. 

The project would need really long refactors or even a complete rewrite. It would take a lot of time. And finally, you would end up with the fixed architecture and new bugs created during rewriting/refactoring. Are you interested? 
 

Me neither. So Android mentor is important but what are his roles?

The best type of mentoring

A few paragraphs before I mentioned that I have somebody to learn from. In fact, he suggested to me to write this article. He didn’t have a person to learn from and the learning process took him a lot of time.
 
I was privileged to work for a long time with an experienced developer who both found enough time for help and didn’t micro-manage me too much. It means he stayed outside of my work until I wasn’t stuck. Starting with being stuck a few times a day, then once a week, and finally not being stuck at all but discussing important decisions.
 

Alternatives

For sure there are people who don’t have a full-time Android mentor. In a situation like that, I advise to at least have somebody to discuss solutions with and code review. Even equally or less experienced dev may specialize in something you don’t. And Code Reviews should work in every direction because everybody does stupid mistakes and nobody knows everything.

Summary

I have seen and read about junior Android devs who want to freelance remotely/become digital nomads and so on. I understand motives and I’m concerned with working on your own especially in early stages. That’s when problem-solving skills are not developed yet and developers tend to be stuck really often. 

I advise having an Android mentor or at least coworkers to cooperate with. It may differ outside of Android development but dealing with breaking changes and confusing framework on your own is not the best choice.

But let’s wrap it up with a nice TL;DR:

So how big is the ‘Importance of mentoring in Android development’?

– It’s HUGE. 

Also, drop your email below to get info about new weekly articles.

* indicates required

Jakub Chmiel

I’m Jakub Chmiel. In the Android world, I’m in the process of developing 2 project management mobile applications for construction teams. In these projects, I add business value fast trying to minimize technical debt.

Leave a Reply

Your email address will not be published. Required fields are marked *