“Wait. What happened to your other blog?”

Good question. It turns out that the blogging software that I was using has now transitioned to being more of a paid solution. That’s great for the developers of that software, but as a fellow engineer I’m sure they can appreciate my personal mantra of Why Pay For It When I Can Build It Myself.

So I did.

I’ll be sharing the details of how this site is constructed in a future post, but for now we have more pressing concerns. Take a knee, champ. I need to gab in your ear for a few.

“Uh. Coolsies. What’s up?”

My last blog had some decent content, but no direction. It was a sort of scratchpad that I used to capture whatever stream-of-consciousness was itching my undisciplined brain in the moment. It’s hard to keep that going without a solid focus; a target, if you will. With so many different topics vying for that attention I’d be left in a state of not writing about any topic, which makes having a blog pretty pointless.

Meanwhile, over the past year or so, I’ve been asked by a few folks to get them started down the path of writing code. As it happens, I know a thing or two about the topic, and I enjoy talking about it. I’m also pretty patient, and fairly thorough. But have you ever tried holding a teenager’s attention for longer than ten minutes on any topic?

So here we are. A place where I’m going to get all wordy and verbose, and aspiring software engineers can read it at their own pace and leisure. At some point in the near(ish) future I’ll also begin producing videos for many of my posts, as everyone consumes knowledge in different ways.

“That’s cool! What makes you so qualified?”

I started at a young age, and knew very early that this is what I wanted to do for the rest of my life. I love it, and I’ve been fortunate enough to be a professional in this field my entire adult life. I’m currently a senior software engineer — often times acting in the role of something we call “architect” — for a large corporation that I’m not going to name (because legal reasons; I’m not acting as a representative of my company on this site, so it’s important that you understand that anything you read here is my own opinion).

Anywho, not only do I write code 8+ hours a day — the + is for my side projects at home — but part of my job is also to consult and assist other software engineers who may or may not know as much as I do. So I code and “teach,” all day, every day.

“I’ve dabbled a bit myself. Will I learn anything here?”

Excellent. The answer to that question - whether you have no idea what any of this means, or you’re a seasoned pro with decades of experience - is always going to be yes. Though that’s more in the general sense, and not because I’m some sort of superheroic purveyor of holy code.

You will always learn from others in this field, by watching and doing. Sometimes it’s the complete newbies who don’t know what not to try, and stumble onto something that hardened veterans would have dismissed in favor of something they thought they knew. Regardless, writing code is the absolute definition of “the more you do it, the better you get.”

The minute that you begin to think that you can’t get any better is the minute that you’ll stop actually getting any better. You’ll plateau in your skills, so the goal here isn’t to want to be the best.

With that said, I need to lay out a few ground rules for this site. This is directed to anyone who comes here hoping to learn, so please read this before any of my other posts. Please and thank you.

  1. Everything that I recommend to use or install on your computer is — to the best of my knowledge — free and/or open-source, and is owned or maintained by reputable organizations or companies. I will never intentionally steer you towards viruses or malware.

  2. If you’re using a computer that does not belong to you — whether it belongs to a parent, friend, or the local public library — be respectful, and get permission before installing or modifying anything.

  3. As you’re reading you’ll occasionally see text that looks like this. That’s called “monospaced text,” and it usually means that I want you to type that exact text for whatever task we’re doing.

  4. Many of my posts will be guides to accomplishing certain things, and as you’ll find out writing code is rarely a siloed or self-contained thing. Rather than delving into each and every tiny detail I will always include links, so you can read more about it if you’re interested. I’ll also be writing posts that aren’t guides, and dig a little deeper into the weeds of specific topics or concepts.

  5. If you’re a fellow professional, welcome! With that said, I want you to keep in mind the intended audience, and refrain from sending me emails full of comments like, “That’s not the way you do [insert topic here]!” or “You’re teaching them bad habits!” Remember: the road to being a paid code poet is paved with bad practices, terrible logic, mistakes, and a passion to learn and create. That’s what we’re going for here. Before you can run, you must walk. Writing a manifesto on the principles of object-oriented programming is an instant turn-off when you don’t even know what a variable is. Stay frosty. If you absolutely can’t abide by that, I’d encourage you to go hang out on Stack (a future blog post!).

“Phew! That was a lot! Anything else?”

Nope. That’s pretty much it.