A First Post

I've thought about starting a blog loads of times. A few attempts were made in the past but they've never stuck, the first one being an intro to modding Minecraft. I first discovered that game in 2011 and I started hearing about how it could be altered beyond its stock content through the power of computer sorcery. Eventually I came round to the idea of trying it myself and blogging about it. I may make an attempt to revive that post at some point here.

At the moment I work with Ruby, Rails, AWS, some relational databases and some not so relational. I do also treat myself to a bit of frontend work when the opportunity presents itself. The frontend side of things is generally in EmberJS but I've been doing some stuff on the side with React and Next.js lately (this blog is one of those things). In a past life I was a Java developer, using the Spring framework and the like. I'd love to take a peek at that landscape again at some stage to see how things have progressed over the last few years.

As much as I know I would have loved it, I wasn't someone who spent a massive amount of time hacking away on computers as a child. I didn't even own my own PC until 2012. I used to borrow my brother's laptop to play Minecraft, right up until about two months into my degree in Computing I was PCless. After a few months of using the college computers and detesting it, I built my very first gaming PC and a short time later I bought a Lenovo Thinkpad for college work on the go. It's been little over 11 years since I started learning to code but professionally I've been at it for around 7. I've decided that I want to make my approach to growth more intentional and that's why this blog exists. There should be a portfolio somewhere around here soon which will eventually host some of my side projects along with whatever other bits seem relevant.

The main aim of this blog is to give me a place to go deep on topics that I only have a surface level understanding of or things I use regularly that I want to get more out of. I want to do meaningful, deliberate practice with these topics. An Active Record deep dive is one example that's on my list and I expect to find myself in the midst of things like design, frontend, backend and infrastructure problems. A really valuable skill to have in software development is a thorough understanding of databases - how to use them, how to model them, how they work under the hood etc. I get by with my understanding of them but I'd like to be more adept, so there will likely be a lot of focus in that area to begin with at least.

I've always been really keen to build stuff entirely from scratch. Maybe that's how all software engineers feel or maybe it's just me but when I came across build your own x a few years ago it all seemed very exciting and I was kind of hooked immediately. I did Vercel's React Foundations course recently and they had a really nice piece on altering the DOM with pure JS. That's the kind of stuff I love because I always want to see how a thing is done from the ground up or as close to it as possible. When I'm doing my day to day job it can be more impactful to just get the job done well rather than really understanding everything about everything. Although I think I could be more deliberate about taking some time to dig deeper.

Next.js was the framework of choice here because I do also want to see some growth in another industry standard for frontend work and I've always been interested in getting better with React. Although the temptation to build this with pure React was strong I was warned off it by the React docs. I might still decide that I want to reinvent some other wheels though.

Alongside all that stuff I'd also love to develop a better eye for design. I bought a book and downloaded Sketch so hopefully there'll be some posts on that in the future too.

In the short term I'd like to get way better at using the tools I use day to day and work on what the Pragmatic Programmer calls my Knowledge Portfolio. More long term it would be cool to have some kind of online presence, maybe do some talks and go down a consulting or coaching route or something more broadly in education.

That's about all I have for this post. Thanks for reading and maybe I'll see you on the next one!