As we start to approach the end of the year, one of my favorite things to do is to start considering what I want to start learning once January comes round the corner. It gets me excited about the year to come, and also helps me to reflect on the skills I've developed this year as well. In fact, it can also help with reflecting on your career as a whole, as figuring out what you want to learn may teach you what you enjoy the most about your job. For example, if your list is full of front end web frameworks, maybe it's time to consider focusing on front end?
Whatever you choose, I'm going to lay out my primary focuses, as well as some honourable mentions, and hopefully give you some tips and inspirations along the way, so that you can get more out of your personal development in 2024.
Tips For Building Your List
- Starting with the most important, pick the topics you're most passionate about. It's so easy to lose steam if you pick topics you aren't really interested in.
- Build up a list through the year, noting down interesting tools, frameworks and languages that you come across, which you can use to shortlist into the years goals.
- Pay attention to the size of the list. Too long and it'll feel demotivating and unattainable, too short and you'll run out too fast, and potentially lose steam.
- Consider your Depth vs Breadth. You'll probably lean more towards one than the other, but it's important to get a mixture. Breadth gives you more tools in your toolbelt, but depth is the key to becoming a great developer, as a shallow understanding of many concepts will only get you so far.
The Main Goals
A Deeper Dive into C
This may seem like an odd choice, since C# is actually the language I use the most, but the unfortunate truth is that most of my professional experience with it is with legacy code, and I'd love the opportunity to really get to grips with some of the newer features. I plan to learn this by going through past .NET releases, reading through to see what catches my attention, and creating small projects to use them, one by one.
This will likely be the biggest challenge to stick to out of all my learning goals for this year, as I tend to lean more towards learning new tools and frameworks than improving my depth of knowledge, but as I said earlier, depth is vital to improving skills as a developer, and I'm no exception.
Flutter
While I do enjoy making Apps, I've not been a big fan of the tools I've previously currently used, such as React Native, Xamarin and Android Studio. My issues vary, but the most important factor is the way the UI is built. React Native felt like the best, as most of my experience is as a Web developer, however that had it's own frustrations (such as the difficulty dealing with the many libraries needed to match the "out of the box" experience of other frameworks). Flutter, on the other hand, seems to approach UI from a unique perspective, and has become an instant favourite among many developers, so I'm excited to take a look at it, and see what the development experience is like.
My approach to learning this will (you may sense a trend here) be to develop an app using Flutter, after taking a quick look through some of the Getting Started guides on their website. As this is an entirely new framework and language for me, I've found that it can take some time to get the hang of things before settling on a judgement of whether or not to use it in the future, so I'll most likely wait til I have an idea for an app that I'd like to release, and create that using Flutter. This has the added benefit of ensuring I'll keep at it, as I'll want to finish off my project, instead of getting part way through a tutorial and giving up.
Machine Learning In Practice
During my MSc in Computer Science, I covered a decent amount of Machine Learning theory, however, as I'm sure anybody involved in the field would tell you, it's such an enormous field in it's own right that it warrants some more time spent learning. Most importantly, I've never had the opportunity to use it in practice, which is how I like to get a feel for a development tool. Therefore, in order to add this powerful tool to my arsenal, I'll be working on a project next year where I utilise Machine Learning to solve some kind of problem.
I'm probably the most excited about this one, as cracking this could really open up the potential side projects I can work on in the future. However, I know it could also be the most complex, so it'll require a good chunk of time being dedicated to it.
Even More Cloud
Cloud has already been a big focus for me this year, as the project I work on in my day to day uses Azure blob and queue storage, Azure Web App deployment and Azure Functions. However, like Machine Learning, Cloud is a massive field, and this barely scratches the surface of what can be done.
My primary focus will be on learning about different ways to use the Cloud to process information, such as Docker containers and Web Jobs. However, I also know that there are likely gaps in my knowledge that I haven't realised yet, so I'd love to complete something like the AZ900 Certification to ensure that I'm not learning to run before I can walk.
Conclusion
So, that's what I'm planning to learn this year. What's on your list? Let me know!
Top comments (0)