We all know the struggle. All around us we see stuff like new programming languages, new frameworks and libraries popping up, where all of them try to fix an issue that annoys a lot of people, in a new and exciting way. The feeling that when you are not learning a new language or a couple of frameworks every year, you will fall behind on how the market and businesses are evolving. But how do you keep track and stay up to date with this large set of possibilities? How do you know that you are choosing the right thing when there are so many things to choose from?

What?

Keep your knowledge about your current framework up to date. When there is a new version of Java, C#/.NET, ASP, Azure services announcements, read them! This can be a short summary, in text or on YouTube (there are tons of those), or you can read through the changelog, that is up to you. But at least skim through them to determine if there is anything interesting for you worth taking the time for.

Keep track of your area of expertise. If this is Azure, Big data in AWS, cross-platform mobile development, it is important to keep up to date with the specific products that you use, but keep in mind that there is more in the world than only that. This feels like a lot to process, but we will get back to that in the “how?” part. The investment here would of course be less than in other places.

Try something new now and then. As said, every now and then there is something new that should change the world. However, more often than not, it doesn’t have the impact that we’d like it to have. However, after some time we see something stick in the real world instead of only as a concept, and then it is well worth the time to take a look.

Try something new as a software engineer

How?

There are a lot of different ways to keep up with everything new. The goal is to keep it organized and not let it overflow you. Here are the ways that work for me:

RSS feeds. As simple as that.

  • It is really basic but for me one of the easiest ways of getting information from all kinds of websites. It’s easy to keep track of framework updates, and blogs of people you find interesting, filter it down to the bare minimum of what you want to read about. General news sites in our area of expertise are almost always too broad or too specific for you personally.
  • It makes it especially easy to keep track of framework updates. Every framework or library has a blog, but you don’t want to look there every once in a while, and you also wouldn’t want to get emails every time the tiniest thing happens (I get enough spam as is).
  • I would always go for an RSS reader that does not notify you. This can be tempting, but an important part of this process is that you do it on your own time, and not get overflown with information. You read when you want to.
  • The best RSS reader is a simple one, but I do have a couple of requirements. For example, I want to be able to share my lists between desktop and mobile, because I want to be able to read at all times when it suits me. Preferable free. Personally, I use Feedly, but there are a ton of other options there.

Write code. Put it into practice.

  • The most fun way of learning a new language or framework is just to put it into practice and write something with it. You need to know when a specific page of a website finally becomes live? Write an Azure Function on consumption plan to do that every day. You want a to-do app that manages your list just how you like it? Use .NET MAUI or React Native to write it.

Conferences. A day of focus.

  • When your job allows it, or you have your own company, I would highly recommend making that investment in time and money to go to conferences. Everything that is hot and happing, you should be able to find it here. You’ve got a day or so of full focus without any distractions.
  • It is a great way to network in your field. Find other companies, see what your competitors are doing, and connect with the people behind the tools that you are using.
  • The quality of the talks here should be high, with the possibility to ask questions or talk to the speaker later on, something that is harder when watching a YouTube video.
  • Of course, when you are working more and more in a niche, see if it suits your assignment and your goals.
  • Don’t forget to take some notes while you are here. While it is certainly possible you will never look at them again, it works for reprocessing the information you are receiving.
  • You can get enough pens, stress balls, mugs, and probably t-shirts to last for years!

Meetups. Meet the community.

  • They are free!
  • Most of the time there will be meetups also close to you.
  • It is a great way to meet people in your field, in a far smaller setting than at a conference.

Write. Share your knowledge.

It may seem silly to advice this here in an article, but sharing your knowledge is a good way of building up knowledge. It forces you to rethink and validate your thought process, with a big plus of giving back to the community that you also profit from. When making certain design choices in your work, or after researching the best database engine for your situation, then share that process with the world. The software engineering world is built on these kinds of experiences we have, and it is exactly what people are searching for when encountering the same dilemmas.

When?

A big question for myself is when to do all this. It obviously sounds good that we need to take time to educate ourselves, but a day only has 24 hours and I do need to get some sleep too!

  • I can’t read every message or update during the day, that would make me nuts. I try to bundle these streams of information as much as I can. Everyone has their own process, but this is a method that really suits me personally.
  • During the week, I have my RSS feed that I read through. I mostly save articles that are worth reading later when I have some more spare time. Some of them are so interesting though, that I just need to read them immediately.
  • I try to go to at least one or two conferences a year. It pulls me out of my work and into the world of programming of today.
  • When I do have some spare time and I’m sitting on the couch with nothing to do (who am I kidding, this never happens…) or when I’m waiting for a response during work and there is nothing else I can pick up, I read the articles that I’ve saved before. I have a running document where I make notes of all these articles, just to pass them through my mind again. Besides that, I keep a list of things that I want to further investigate, or maybe want to make a project of, but when I have time to pick that up, is a whole different story.
  • I also have a rule not to put too much time into work. At this moment I work in secondment, which means I want to be declarable for 40 hours a week. This also means that personal development is not something easily done during those 40 hours. On the plus side, I can switch between assignments when it becomes dull and choose the assignments at a company that uses the technology that I want to become better at.

Key Takeaways

Don’t stress it. The RSS feed gives you the freedom to choose how much you want to read. The conferences give you the freedom to combine growing your knowledge with fun talks. The meetups give you the flexibility to not offer a whole day/multiple days, but only an evening when that suits you better. Experiment with what works for you personally. Part of the fun in our job is that our field of work changes so fast that we keep evolving and keep learning new stuff. Let’s keep it fun!

My process in short:

  • Pin articles that I want to read every other day.
  • Read the articles that are interesting enough preferably once a week.
  • Go to at least one big conference a year.
  • Reserve some time every once in a while to try out a new framework/language.
  • Apply for the most interesting assignments/jobs!

Sparring with richard about your career path?