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...
For further actions, you may consider blocking this person and/or reporting abuse
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.
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.
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.
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!
No problem, glad you enjoyed it!
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.
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?
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.
Loved the article ! As an amateur, I'd like to understand What makes Retrofit better than Volley?
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.
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.
"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
This list has all of the books that I'd consider all-time classics jasonroell.com/2015/03/16/12-most-...
Great article! Even learned a few things thank you!
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?
Which books are considered as "all-time classic development books"?