How to Become a Better Developer #3 — Keep Up with State-of-the-Art

Becoming a great developer is not one effort or one class and you're done. It's a continuous process. In the last tutorials, we've explored how you should keep learning and why to read lots of code.

These are fundamental to creating excellent code. However, excellent code today does not mean it's still considered great in a year or two from now. Thus, while the first two tutorials will help you to get up-to-date with the current best practices in your field, they do not guarantee you to stay up-to-date.

In this tutorial, you'll learn why it's so important to keep up with the state-of-the-art practices. Furthermore, we'll provide four ways of fluently learning about new developments on the go.

How to Become a Better Developer #1 Series Overview

Keep Up with Your Community

Software engineering and IT in general are fast-paced fields. New technologies, patterns, languages pop up almost every day. Some are hyped up to be the best ever and will save every project. But how do you not get overwhelmed by all these new, fancy things? If you want to be a great developer, do you need to learn them all?

No, that would neither be possible nor helpful. Don't follow every new hype, but instead focus on the somewhat established new things that are emerging as best practices in your field. For example, if you're a Node.js developer, you might have heard about the now supported async/await pattern. In 2018, it finally gets adopted across Node.js frameworks and if you're a hapi developer, you should make the upgrade to async/await.

It's important to note that async/await doesn't offer completely new things that weren't possible with native (old) JavaScript or promises. But it allows developers to write cleaner code that is easier to maintain. You don't want to be the developer that falls behind and still writes code in the same way you've done 10 years ago, which all of your coworkers despise. One part of being an excellent developer is to stay up-to-date with improvements of the community and also learn these new best practices.

So how can you stay up-to-date?

Follow Open Source Libraries/Apps

In the last tutorial, you've learned how to use open source apps for your benefit. This is not only for a one-time weekend to learn the best practices, you can regularly check what new patterns are adopted in the community.

You could follow a few open-source libraries/apps (for example, by "starring" them on GitHub). When they release a new version, take a minute to read the changelog. Did they only fix bugs or change underlying frameworks or patterns? If so, why?

If you see a wide-spread adaption of something new, check it out if it applies to your work and, if necessary, take the time to learn it!

Browse (Top) Questions on StackOverflow

Another option is to read questions on the developer Q&A platform StackOverflow. Developers can ask technical questions, which everybody can try to answer.

Questions and answers can be upvoted and also tagged with topics. You could start by reading the top questions of your field of all times, for example, the top questions of Android. Of course, this will lead to many older, historic topics, but often still present valuable discussions.

Once you've browsed the top questions, you could create an account and subscribe to the tags that are close to your field. This way you can browse a list of new, upvoted questions that popped in your selected fields of the last week or last month.

While StackOverflow may not directly lead you to examples of adopted new patterns or frameworks, it will provide you insights into what's currently going on in your field. What are the new developments everybody is trying to learn? What are people struggling with?

We can also encourage you to take the time to answer questions, because sharing knowledge is a core principal of becoming a better developer, but more on this in a later tutorial.

Subscribe to Reddit

A third option we would like to propose is Reddit. Reddit is a social-media site where group discussions are the focus. The website is organized by topics, so-called subreddits. Again, you can subscribe to these subreddits and browse most-upvoted questions and threads of the day, week, month, or year. For example, here are the top discussions of the week on Android.

Similarly to StackOverflow you can use subreddits to learn about new developments and read discussions between fellow developers in your field. You may hear about emerging patterns even before they make their way into many open source libraries.

A word of warning: StackOverflow and Reddit can be addicting and eventually distract you more than provide an actual learning experience. Your boss probably won't like if you spend all day on these sites. Instead, we recommend to make it a focused effort, for example, only take a look every week or month for an hour to see what's currently going on. If you have a slow day at work, instead of slacking off, use the opportunity to catch up and learn!

Newsletters

The last option is to outsource the effort to find new developments in your field to someone else: subscribe to newsletters! The newsletter maintainers often take the time to collect new and important developments in your field and send it to you in one convenient email per week or so.

The price is that these often come with some advertising or sponsoring and can spam your email inbox with content that doesn't fit your interest. In other words, even if you're an Android developer an Android-themed newsletter may not be worth your time if the sent content is not of high quality. Try to find newsletter(s) that have a useful email frequency and good balance of individual email value and annoyance. Our recommendation is our newsletter. You can find a subscribe option directly below this tutorial 😎

Summary

In this tutorial, we've discussed why you need to stay up-to-date with the upcoming patterns in your field. You've also read about four ways to learn about ongoing developments in your community. Of course, these are only recommendations. Do you have a different way? Let us know on Twitter @futurestud_io or leave a comment below.

Enjoy coding & make it rock!


Mentioned Resources

Explore the Library

Find interesting tutorials and solutions for your problems.