See One, Do One, Teach One

Keeping Up-to-Date with Android in 2024

Matthew Dolan
5 min readMay 1, 2024
Photo by Kenny Eliason on Unsplash

When I started to write this article, I set out to document some of the sources I use to keep myself up-to-date with Android, but I soon realised there was more to how I learn than simply a bunch of blog posts and YouTube channels.

After a recent medical scare and surgery, the title “See One, Do One, Teach One” seems appropriate; the phrase comes from William Steward Halsted, who transformed surgical education by creating the residency program. Mastering a skill may start with learning through reading and observing, followed by practice. Still, true mastery requires teaching that skill to others, which has the added benefit of helping promote a culture of continuous learning and community building.

See One

In the medical field, “see one” refers to the observation of a surgery. The equivalent in software development is observing new code, technologies or techniques.

Android has many great resources for learning and keeping up-to-date, with a great starting point being the official Android Developer News. One excellent aspect of the blog posts is that they generally cater to many different learning styles, with most stories having videos and podcasts available if you prefer to watch or listen rather than read.

Regardless of your learning style, plenty of resources exist, including in-person events. I use a whole mix to upskill myself.

Reading List

My reading list includes the official Android Developer and Kotlin Blog updates and Android Weekly and Kotlin Weekly, which provide a mix of community updates.

Even though I have been an Android developer for over 13 years, I still like to keep up with iOS trends, so I skim through iOS Dev Weekly for interesting tidbits.

The other newsletter I actively read is Pointer, as it often contains a good mix of topics that apply to any technology stack. Of course, plenty of other reading sources, such as Medium, can also be worth a look.

I do not focus my reading list on Android as it is vital to understand what is happening in the broader industry. With that in mind, I also follow the Thoughtworks Technology Radar updates.

Watching List

I follow many great YouTube channels, such as the official Android Developers, Google for Developers, and Kotlin by JetBrains. However, it is also worth noting that plenty of developer conferences post videos of their talks after the event, such as Droidcon. The GitHub project Android and Kotlin conference videos provides a list of conferences with links to playlists of their talks, albeit, at the moment, slightly out of date.

Interestingly, looking at my watch list with software development, I’m more of a verbal learner, yet I’m more of a visual learner with electronics. Perhaps this has something to do with the material at hand; code is far more suited to being read through and understood in greater depth with text, and it’s hard to fit even medium-sized code snippets on screen in a video. Of course, that doesn’t mean reading suits everyone, and I know plenty of software developers who do well with resources such as Udemy.

Attendance List

I love conferences, especially Droidcon and KotlinConf, which offer diverse topics for all skill levels.

Talks are one thing at a conference, but really, it’s networking that adds the most value, as are the conversations and learnings from those. Because of that, it’s a shame that Google I/O is online only nowadays. That doesn’t mean you can’t still enjoy, at the very least, the keynote in person with one of the global Google I/O Extended watch parties. Another online conference I like is FOSDEM, which occasionally has a Kotlin dev room.

Android Study Group provides a list of relevant Android conferences worldwide to help you find one locally.

One of the most significant downsides of conferences is cost (and frequency), and that’s why I enjoy the more local free meetup events such as Londroid, Kotlin London, and, on occasion, NSLondon. The Android community is terrific, and much of that extends from the work of Google Developer Groups, which also runs events globally.

Do One

While I have written a lot about some of the different resources I use to keep up-to-date, there’s little value in that without putting the information into practice.

On-the-job experience may be the best. However, it’s not always possible to use every technology we would like, but that doesn’t mean we cannot practice a new skill. This is where writing sample apps can be of great benefit, and indeed, I wrote an app for my CV to help me up-skill in Kotlin Multiplatform across Android and iOS.

AI is a powerful tool and can help with writing such apps while remembering there is currently danger in complete trust in these tools.

Technology also changes constantly, so it can be equally valuable to maintain older sample apps and change them over time with new frameworks, etc. After all, each time you practice a skill, you are improving it.

Teach One

We often work within a team of developers, and I cannot emphasise enough how vital feedback to more junior engineers is as one of the simplest ways of teaching others. While it is easy to add a comment to a pull request saying, “This is wrong; do this instead,” it is far more powerful to think about the reason and the why, research, and back up the claim.

Of course, there are many other forms of teaching, such as writing articles and creating videos. Creating this content takes effort and learning to ensure it is accurate and informative, and it often forces us to look much more deeply into a topic.

Public speaking is another excellent way to teach, and while it can seem daunting, it is great to hear the experiences of experienced public speakers such as Hadi Hariri.

The more significant research that teaching requires helps enhance our learning, whether we are mentoring, writing articles, creating YouTube videos, giving talks at conferences or, of course, commenting on a pull request. It is also the creation of this content that builds the fantastic Android community we are all part of.

Conclusion

The Roman philosopher Seneca said “While we teach, we learn” as teaching and learning is reciprocal in nature. Teaching helps reinforce your knowledge as you explain concepts in your own words with the added benefit of retaining that knowledge for longer. The questions students ask help us discover gaps in our knowledge and different ways to look at the same concept as you gain from the students experiences and perspectives.

Without teaching we can never truly master a skill.

--

--

Matthew Dolan

Matt Dolan has been eating doughnuts and developing with Android since the dark days of v1.6.