DEV Community

Nate Ebel
Nate Ebel

Posted on • Updated on

Learning Kotlin by "Mistake"

How the Android engineering team at Udacity has embraced learning Kotlin through experimentation and making β€œmistakes”
https://engineering.udacity.com/learning-kotlin-by-mistake-b99304b7d724

Liquid error: internal


I love to talk Android, tech, or geekery, so if you have feedback or want to chat you can follow me on Twitter, here on dev.to, or check out my blog.

Check Out My YouTube Channel

Top comments (3)

Collapse
 
schv09 profile image
schv09

Hi, Nate! Nice to meet you. Since you work both on Android and Udacity and say you like to chat about Android, I thought you could give me a hand with a confussion I have :(.

I'm in the middle of Udacity's Android Basics Nanodegree and plan on then enrolling in the Android Developer Nanodegree. I see that it doesn't include anything on Android Jetpack as of yet, and I'm worried that its contents could be out of date or not reflecting current development techniques, making me learn things that I won't actually use in today's developing procceses or that I'll have to quickly forget and substitute with something else.

I ask this because I don't really understand what this Jetpack thing is, I've just vaguely read about it. I don't get how much it affects current Android development.

I really have completely loved Udacity so far and would love to keep studying there! I just want to make sure that the ADND is still a great choice. I also understand that I could complement the nanodegree with other material related to Android Jetpack, if I actually need to. (I don't really know if I do).

Thanks!

Collapse
 
n8ebel profile image
Nate Ebel

Hello-

Happy to weigh in here, though I'll preface it by mentioning that I don't have any connection to the Android content at Udacity. That's a separate side of the company. Also, it's been a few years since I completed my own Android Developer Nanodegree so I'm not 100% up to date on what is included in the current content.

That said,

Jetpack is largely a repackaging/rebranding of many existing tools/libraries. There isn't a whole lot that is new/exclusive to Jetpack.

Additionally, many of the things providing in Jetpack are useful depending on your project/requirements/personal-preference... but not necessarily required. A good example of this are the Architecture Components. You can use all of them, some of them, or none of them, and still build a terrific app. I believe at least some of the architecture components are covered in some of the Udacity content, but they probably don't mention "Jetpack" explicitly because it's so new.

So if the current content doesn't explicitly mention "Jetpack", it doesn't necessarily mean the content is out of date. The skills/content are still relevant and valuable and can enable you to build quality Android apps. "Current development technologies" is also somewhat subjective. While Google continues to provide developers with useful new tools/libraries, that doesn't always mean a team will get to use them.

I know of wonderful teams that build terrific software that aren't using many of what would be considered "current development technologies."

I think the key goal is to be able to build an app, and understand how it works. That is the biggest thing people are looking for when hiring. Knowledge of specific libraries/tools is useful but not always relevant to every team. If you interview with a company that has a very custom architecture, they might not care at all if you know about the architecture components. Of if a hiring team is 100% java, knowledge of Kotlin might be less relevant.

So my advice would be to learn how to build functional apps using tools that are comfortable to you, and not worry too much about being up to date on the "latest and greatest" coming from Google. πŸ™‚

Collapse
 
schv09 profile image
schv09

Hi, thanks so much for taking the time to give me such a detailed response! I was pretty confused and I don't really know any Android developers personally, so it was very nice and helpful to be able to connect with you here. I'm really happy to hear that things aren't as big of a deal or as complicated as I was thinking. Your insights have really helped me feel a lot more comfortable with my current learning path, with the future and the prospect of eventually getting hired as an Android developer.

Again, big thanks for your time and valuable/experienced insights!😁