DEV Community

What I look for in a Junior Android Dev

Adam Bennett on April 28, 2017

About a week ago, someone on /r/androiddev asked the question “What are the things that every Junior Android Developer should know?”. Being the kin...
Collapse
 
yelluw profile image
Pablo Rivera

In my last go as a tech lead I had to hire 4 Android devs at different times. This post describes the exact things I was looking for even for senior level devs. Everything else can be learned.

Android is a mythical beast that will pull you in once you realize its not that complex. I went from avoiding the platform to embracing and publishing stuff on it.

Collapse
 
gauravchaddha1996 profile image
Gaurav Chaddha

Hi Adam. I am a college student in India and have been doing android development for about 2 years now. I really appreciate you writing this as it helps us junior devs guide ourselves to the right path, and I'm happy to say I tick most of the things you mentioned and you are pretty accurate, kotlin and testing is next on my to-do list. Cheers.

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

I'm a bit uncertain about the first items, Lifecycle, Components, and Persistence. This is precisely the type of thigns I wouldn't expect a junior to actually know much about. It's a highly specific API set that wouldn't transfer from any other dev job. They can also be learned relatively quickly, especially with a mentor nearby that can quickly direct them to the right places.

Using shortcuts for the studio just seems like nitpicking. If you can do everything with a shortcut why even bother using the studio, wouldn't command-line tools be quicker? A major purpose of an IDE is to make functionality easy to discover and easier to remember.

Design patterns, and perhaps git, seem fair, but your other requirements go beyond what I might expect of a Junior programmer. Most of this I'd expect them to learn on job, as it's domain specific.

Collapse
 
courier10pt profile image
Bob van Hoove

I'm a C# developer and I know nothing about Android development. This post gave me proper 'peek' into the landscape and I might even find it useful to refer back to if I were to try making an app for my phone for instance. Thanks for sharing!

Collapse
 
ditn profile image
Adam Bennett

No problem, glad you enjoyed it!

Collapse
 
daleinnis profile image
Dale Innis 🌹

Nice piece! It's a sad commentary on the state of the profession that EVER HAVING WRITTEN A UNIT TEST is a nice plus, rather than a basic requirement.

Collapse
 
jvarness profile image
Jake Varness

What about how to build the project?

I have to use Maven heavily in my work, and I don't have much exposure to Gradle. How important is it to understand Gradle?

Collapse
 
ditn profile image
Adam Bennett

It's not important I'd say, you can absolutely get by just knowing the basics which you can largely copy and paste from elsewhere, and Android Studio handles much of creating a Gradle file for you.

IMO Gradle is quite an advanced topic that I wouldn't expect beginners to know an awful lot about.

Collapse
 
nipeshkc7 profile image
Arpan Kc

Loved the article ! As an amateur, I'd like to understand What makes Retrofit better than Volley?

Collapse
 
ditn profile image
Adam Bennett

Thanks man.

Without going into too much detail, Retrofit is just generally much easier to use. Requests return objects rather than JSON and it's far easier to test. Retrofit supports both synchronous and asynchronous requests as well as observables. SSL pinning is a breeze. Intercepting requests is built in.

Although Google still maintain Volley, they're switching to Retrofit in all of their code examples which should tell you something.

Collapse
 
silentsudo profile image
Ashish Agre • Edited

Adding to existing post, as a junior software android developer one must know basic oops concepts, i interviewed many candidates and all of them had one reserved reply, i know Android but i don't know Java. And if you ask them what is interface a static reserved answer forever is * it is used as listener*. I recommend all junior that blogs are good source of knowledge but books still remain the #1 for me. Take a programming book or pure java docs and start coding.

Collapse
 
enigmaiam profile image
Nwagba Okechukwu Martin

"You own at least one of the all-time classic development books"...

Could you please give a link for these books or just the names ...

gracias

Collapse
 
ditn profile image
Adam Bennett

This list has all of the books that I'd consider all-time classics jasonroell.com/2015/03/16/12-most-...

Collapse
 
ksparakis profile image
Konstantino Sparakis

Great article! Even learned a few things thank you!

Collapse
 
ikhiloya profile image
loya

Nice post. What about someone that has basic knowledge of the aforementioned while working in teams but hasn’t pushed a personal app to play store. Would you hire that person?

Collapse
 
afal007 profile image
Aleksander Fal

Which books are considered as "all-time classic development books"?