Getting Started Again 🌱

It’s been a long time since I last focused on developing my technical skills. In my teens, I spent a lot of time self-learning programming and tinkering with computers. I fondly remember spending hours learning C and C++, as well as Perl - for some reason! It was a great time to learn these things during the rise of the internet. Sadly, I did fall behind due to many distractions.

It wasn’t until a few years ago that I gained the motivation to switch into an IT-related career. After researching for some time, I made the decision to apply for a software development program at my local technical school. This ended up being a great program, as I had the perfect environment to polish my skills and refresh myself with C, C++, Java, and gain some valuable testing and QA experience. Soon after, I received my software development certificate and joined my current employer’s IT branch.

What a great experience it has been! I’m mostly responsible for general admin work and system administration activities. Finally, I was happy to know that I had found a place where I could apply my skills successfully! My workplace has allowed me to perform in an environment that keeps me interested and challenged. It’s now been five years since I started with my employer, and I’ve never felt so confident in my work!

Recently, I’ve gotten the urge to challenge myself even more. I feel like this is the perfect time for me to embark on new projects. What challenges ahead will we face?

Ham Radio 📻

Earlier this August, I decided it would be fun to pick up on ham radio. Not only do I expect to use it in the traditional form of transmitting and receiving, but I’m also curious about how I can develop and implement things related to it. Before we get too far ahead of ourselves, though, there’s studying and an exam to do before I obtain the Amateur Radio Operator Certificate…

Application Development 💻

I never really had a serious project to truly apply my development skills. Most of my application development was using Python or PowerShell to write tools for system administration tasks.

It was just a couple of weeks ago that my wife expressed a desire for a nicely integrated software solution to a specific problem at her work. This was it! It was the perfect opportunity for me to finally tackle the greatest software development challenge I’d face. I would be building an imaging application, not too unlike a photo gallery.

Again, I hadn’t gone this level of depth in software development before, so naturally there’s some nervousness. I decided it would be a good opportunity to learn Go and try out Postgres as my stack.

It took a little bit of time, but I managed to put together the appropriate schema as the foundation of this project. As far as interfacing with the DB and application, I knew I needed to build out the CRUD layer in Go. Originally, the intention was to use the Go standard library; however, I discovered sqlc and it was incredibly useful. At first, I wasn’t too keen on using generated code. Though that opinion quickly changed - it became clear it made sense for my project. Not only do I avoid writing tedious boilerplate code, but the output code is simple and reliable. This makes rewriting DB layer code changes trivial; especially right now, as I am still testing along the way and learning the ins and outs of Go and Postgres. I also foresee this being valuable for maintaining code, particularly as we write more queries in the future.

Go has been actually quite fun to learn. Generally, it’s straightforward; though I find I’m still taking some time getting used to its particular syntax. I’m also enjoying the fast compile times, and the dependency management has been superb (I’m looking at you, Python!)!

Blog 📖

The latest bit of learning is now this blog - which at this point is a basic Hugo deployment to GitHub and delivered through Cloudflare Pages. Not only is this an experiment using a static site generator, but hopefully it keeps me motivated and on track with all the different ongoing projects I’m undertaking. I look forward to doing some more customization to this blog over time! 👋