I’ve been thinking recently about the creation of this blog and as well as its purpose. I’ve talked a lot about my personal projects, which is nice, but I also envision this as something a little bit more as well, and today I’d like to talk through it. We’ll tackle the tech that powers this blog first and foremost, get into a little bit about why I write, and finally finish up with some future plans.


The Tech

First and foremost, the tech. In a nutshell, it’s very simple to set up:


Site Generation

The blog itself runs on Jekyll. For those that haven’t used it before, it’s a simple static site generator built on top of Ruby (which I already develop in) that allows me to create content in Markdown. Simply write, format in Markdown, and add it to the _posts directory of your site, and you’re good to go! You’ll probably need to add some front matter, which is just YAML-formatted text that lets Jekyll know how to render your post.

The development environment is also really good. Starting a webserver is as simple as running jekyll serve, and it even has a live reloading feature if you pass the --livereload or -l flag as well. Now your development changes are reflected in your local environment (by default localhost:4000). Super nice!


Deployment

Deployment takes place on GitHub Pages. It’s designed to be super simple to set up with Jekyll, so all you’ll need to do is create a repo with the right naming format:

GITHUB_USERNAME.github.io

then commit your local repo to main. On commit, a new site is built and immediately propagated, so deployment is super easy as long as you’ve used git even slightly (and you should have!).

Without further configuration, your site will be live on https://GITHUB_USERNAME.github.io.

Mine, for instance, is https://ty-porter.github.io!

Obviously, the domain for this blog is different, so that brings us to…


Domain

I use Google Domains as they’re cheap and easy to set up. I’ve purchased 2 domains for my personal sites:

The first was purchased through Netlify, where I keep a sort of personal portfolio website up and (minimally) maintained. The second I got because I really wanted a .dev suffix that matched my GH username. I think I pay ~$20/year for both domains combined.

Configuring this setup in Google is pretty simple, there’s simply a CNAME record that points blog.ty-porter.dev directly to the GitHub Pages URL.


The Why

Why not?

Sorry, that’s a little tongue-in-cheek.

In reality, I think this blog makes me a better developer. And let’s be honest, if I ever change jobs, I’m sure it makes me look like a better developer. After all, this is my calling card for all the work I’ve done since I’ve started this career, in my own words.

All of these things are important. Writing and putting myself out there for all to see has definitely been a net positive regardless of how many (or few) people read my work. All I can hope for is that the people who do read this can gain some useful knowledge from my journey as well.

This brings me to my musings over the past few days as to the purpose of this blog.

I’ve always taken a teaching approach to my writing, even though the concepts may be pertinent only to me and perhaps advanced or dense at times. One thing I’d like to do better in the future is provide more concrete advice to new developers, whether they’re bootcamp graduates, self-taught, or maybe to a lesser extent college CS grads (considering I don’t have CS experience at the college level anyway).

I’ve been reading a lot about how hard it was to find a first job as a new developer and to some extent how hard it is to stay motivated and keep that job. I’d like to address that in a larger way moving forward. I think software development as a career is oft-touted as a get-rich-quick scheme that “anybody can do”. I’ve had a chance to interview new developers at my current job and it’s apparent they have this mindset also.

I think this is a myth and I think this perpetuates unreasonable expectations and bad habits. The short of it is that it takes a long time and a lot of effort to hone your craft and stay abreast of trending tech.

With that said, moving forward I’d like to start a new series. I’ve been a Rails developer for 2 years now, but I’ve dabbled in Python, Javascript, and even a little C. Recently, my company has asked me to begin learning Elixir, which they’ve expressed to me is “big boy Ruby”.

In actuality, it’s my first time learning a functional programming language, and it will be interesting to document my progress to see exactly how much effort it takes to become proficient and give real perspective to how much work it takes for an experienced developer to learn a new skill.

I hope you’ll join me on that journey!

That’s all for now. Thanks for reading!