10 things I want to learn in 2019

James Best
Salted Bytes
Published in
4 min readJan 2, 2019


Part of being a software engineer is accepting that you will be a lifelong learner. Things change at such a fast pace that you must constantly be learning to try and stay up to date and remain employable.

Luckily I love learning. I have such a desire to know more that it keeps me awake at night. Normally I don't have much of a plan, I just learn what currently piques my interest. This is not a great approach as I then tend to flit between things. This is going to change this year. I am going to put pen to paper (kind of) and plan out the next 12 months of learning. Obviously, these may change as I don't know what the next 12 months of projects work will throw up but hopefully, it will tie in with what I have written below.

The next 10 items are things I want to learn for both personal and professional reasons. Some of the things I just find interesting, others will be more geared towards the work I do for my job.

1. Application security

I am lucky enough to get to work on a really broad range of projects, both web, and mobile. I want to make sure the code I am turning out is not only stable but also secure. This is such a massive subject I am not expecting to become an expert (I can try though 😉) but anything I can do to harden the software I write can only be a good thing. Aside from this making me a better engineer, this shit is so cool. Every kid at some point wanted to be a hacker. This is my chance!

2. Containerisation

Containerisation is not a new subject for me. I am happy writing Docker scripts but I know there is so much more available to me and this is the year to explore that.

3. Computer science fundamentals and algorithms

Being a self-taught programmer I did not study CS at any level so kind of feel like I am missing a key area of knowledge. This is not to say that I can't do my job as well as somebody who has studied CS as that would be crazy. The need to learn the fundamentals of CS is a personal challenge. I am genuinely interested in the subject and it is what I do every day so why not understand it a little deeper.

4. C# and unity

I don't really have any interest in making games, so this one might seem a little strange. But some of the best mobile VR and AR experiences are written in C# with Unity and this is something I am interested in so I am going to give it a whirl. I know the basic C# so hopefully, I will be churning out some incredible AR experiences in no time.

5. Public speaking

I am keen to give public speaking a crack. I am not really sure what I would speak about but I feel like it is something I need to do this year. I have always struggled with confidence so wonder if this may help alleviate this. Getting up in front of a crowd and talking about something you love should not be hard but it seems to kick me in the butt.

6. Kotlin and gain a deeper understanding of android application architecture

I get to write mobile apps at work, the majority are written in React Native but lately, we have been bringing in more and more native code. I am comfortable with the Android SDK and writing Java but I am not sure whether I am clear on the best way to architect a big project.

Having taken a brief look at Kotlin, it looks great. It is so concise and easy to read. I am gonna start of refactoring some of my Java scripts in Kotlin and see what all the fuss is about.

7. Advanced Vim

I have been a Vim user for a while now using it for the majority of my daily programming but I kind of feel like I am only really scratching the surface with what I can do. It is time it increases my Vim qi.

8. Advanced Bash

Similar to Vim, I live in a terminal and so use Bash all the time but I want to know more. Being able to bring together a bunch of modules to perform a complex task is so powerful. I want more of that power! I will start by automating the tasks I do regularly and go from there.

9. Video editing

I am keen to start a youtube channel to support this publication, it would contain tutorials, reviews, live coding streams, and general ramblings but I don't know a huge amount about the creation of this content. So I am going to get the channel going and learn what it takes to make good content.

10. Cryptography

I just find this stuff super interesting. I am not saying I am going to learn about the maths behind the encryption methods but I do want to have a much deeper understanding of hashing, public key encryption, symmetric key, signatures etc.

What will you be learning in 2019?



James Best
Salted Bytes

Tech and photography loving developer @candideTech. A host on the @salted-bytes