That’s a nice list, but I would say that some “junior” questions should be moved into “mid” tier. And “mid” tier is actually lacking the concept of “how” or “why” something works the way it does.

Should junior know about volatile to do his job well? Or cite by heart the difference between .let/.apply/.run? I think not.

But from mid developer, on the other hand, I would expect to understand why extension function work the way they do, for example, and maybe even explain the concept of receiver object. Or, to elaborate on the reason why you can create thousands of coroutines, but not thousands of threads.

Solutions Architect @Depop, author of “Hands-on Design Patterns with Kotlin” book and “Web Development with Kotlin” course

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store