I've held #AndroidDev interviews for the past two years now and I've seen all sorts of candidates, from good, to not so good. 👨💻
Here are the top 7 mistakes candidates did and that I think you should avoid 🧵
🚩Not being able to describe the need or justification for using a technology or library.
Had countless of applicants with solid codings skill that used LiveData or ViewModel but had no idea what these tools do for you.
Some thought that LiveData isn't lifecycle aware. Big 🚩
🚩 Overcomplicating implementations
We had candidates coming up with overly abstracted solutions that were so tough to understand. Generics and base classes over base classes, a maze
Remember, you're writing code to solve a problem - you're not writing a cipher. Keep it simple!
🚩 Not being open to admit mistakes.
Yes, a lot of candidates think that their way of implementing an app is the best way.
Any implementation will have cracks and issues, be smart and be open while admitting mistakes - it goes a long way!
🚩 Writing hacks.
Yes, we've had candidates that were polling every 50ms to see if an async job was done.
Reactive programming, or even a simple callback should be good. Don't come up with hacks, especially in an interview!
🚩 Not knowing basic lifecycle questions
For example: not preventing Activity recreation in the Manifest -> Activities get recreated on orientation changes
Had candidates with 5-6 y. of exp having no idea about lifecycle
🚩 Not being flexible about upcoming work.
Some candidates say that they wish to work only with apps that use certain architectural patterns.
While their request should be respected, it may be wise to always be open to explore and understand other types of architectures.
🚩 Not showing any sort of interest in the Android world outside of what's required of you at work
While it's essential for you to detach from work, not being able to discuss the pros and cons in recent shifts in technologies and tools could be interpreted as a lack of interest
⤴️ this one is pretty subjective, so take it with a grain of salt!
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Kotlin is the best choice as the code is compact and less verbose than Java.
But start with Java as it's essential for your professional portfolio. Java is your core dev language. Only when confident with Java, one should jump into Kotlin!