Let’s start off with the obvious: this website looks like the most basic thing you've probably ever seen. For now, hold your judgement and follow along with me on a very chaotic journey of what led to this point.
I first became interested in code around the age of six or seven. I was already a lover of video games at this point, thanks to the original gameboy I received for a Christmas or birthday that came with some really terrible games that I adored. It was also around this time that I started my life-long love for reading fantasy fiction, thanks to my mother being an avid reader and leaving a copy of Dragons of Summer Flame lying around. Between the fun of playing my gameboy and the fantastical stories I was immersed in, it’s no surprise that the first thing I ever wanted to be when I grew up was a game dev. The idea of not only telling stories of heroes overcoming trials or cool monsters, but also creating a place for people to feel like an important, interactive part of that story was something I dreamed about often. Add to the mix that my step-dad enjoyed doing freelance web design - which is basically just another way of creating a story for people to interact with - and you’ve got all the ingredients of a super nerd.
Well, most of them. In comes ADHD.
As an undiagnosed ADHD'er, for most of my life learning to code was something that I thought about often as an “I wish I could” but never really stuck with. I learned some basic HTML and was given some books on C++, Visual Basic, and Java in high school but that was about the extent of my learning.. Sadly, between other interests, a whirlwind of a childhood and family, and other “fun” life things, I think I tried too hard to make my learning look like school; I would sit and write definitions of things like strings, variables, arrays, etc - but never actually wrote any code.
In 2018, I started working at my current job in a different, non-dev department. Through a series of fortunate events I met and befriended one of the developers B. B learned that I was interested in developing and I think as a former teacher, the mentor instincts kicked in and he would often send me learning material or try to explain things to me. By this point, I had been at my company for about a year and my son had just recently been born, and a million other excuses kept me stagnant, never taking that first step. Fast forward 4ish years and my boss tells me that the leaders of the company had discussed the need for someone who is familiar with day to day real-life operations across departments to help the mostly remote dev team bridge gaps in internet communication - and I was one of the two people they decided to trial for it.
With more than a little competitive ego, I messaged my old pal B and let him know about this update. B is one of the few devs that live in town, and also as a senior dev on the team he had been more or less the main source of in person communication since the person who did it previously left the company. We were both ecstatic about this opportunity, as I’m sure you can guess. So on I went. Armed with the mentorship of the person who was doing a lot of this work on top of his own who also happened to be a friend, I dove in to writing acceptance criteria, meeting with VPs to discuss new features, and translating words from non-developers into workflow explanations for devs not in the building. I was still in my old position while doing this work on top of it, but man was that the piece that finally planted the seed.
As I became friends with more of the devs, that seed sprouted. The little sapling in me that wanted to code expressed my regret in never having followed through with learning code to B, to which he replied “Just make it a game. Find a project that really hooks you and doesn’t let go.” So I did what any neurodivergent person fretting over their life choices would do and took that literally. I decided I would build an old style text rpg. I could create a small story, and let you interact with that story through words with no other UI elements. This is where I met another friend on the team, R, who also likes doing text/ascii style games so that was always a good boost to my excitement to build this silly game.
This project is what I would consider the catalyst. I started the project on Wednesday, March 6th. While driving to work that Friday, I had a thought of “Well, I know I can use stdout and sleep to control text speed, I wonder if I could find a way to let the user choose their text speed when starting their adventure.” followed by “wait, I wonder if I can make it a variable that is set by input.” On lunch, I wrote one the ugliest Python functions known to man, but it WORKED. That sapling grew even further, digging roots down into my brain. I then spent the next few weeks devouring YouTube tutorials, stackoverflow.com posts, and writing more of the ugliest code ever (seriously, it was bad).
Amerynthia did what it was meant to do and hooked me in, getting me to actually write code that actually did things. While I ended up moving on to other projects before finishing it, there was no going back for me. ~22 years of excuses and distractions vanished, and since then I have worked on several half-finished projects in the name of learning. Recently I’ve broken in to Ruby, where I rewrote some of B’s existing scripts for a work thing while he was on vacation, rewrote those scripts about 20 times to practice new concepts and ways of doing it, wrote my first API, learned about MVCs and frameworks with Rails, and more. The last couple weeks I have been debating on several projects to start next, but my ever-present ADHD gets me stuck in decision paralysis. Five days ago, during a work meeting I joked that I had never written a blog and wouldn’t know where to start, but “I guess I should figure it out since every time I go to research things I want to learn I’m essentially told by the internet ‘Learn it by making a blog.’” After some suggestions and some internal thinking I didn't even realize I was doing, I came to a decision about my next project: I would write a blog about coding a blog, where each blog post served as documentation of what changes I made to the site and what I was learning.
So here we are. One long-winded origin story later, I’ll give you some ideas of where I want to go for the future of this little project. I’m terrible with consistent timelines when it’s for personal things, so I won’t promise to post every Tuesday or anything like that - but I will promise to post often. I will tell the story of what I did since my last post, what I learned, what successes and failures I had, what was easy and what was hard, etc. This is an attempt to have an active ongoing project with the accountability of it being public and existing outside of just localhost:3000 or my terminal CLI. Step 0 has been deciding to do this project, stumbling through writing my first post to get used to the idea of typing to no one and everyone simultaneously, spinning up the app, and getting the code to the point where I can put this post where you are seeing it.
What I’ve learned from v0 is that it’s actually not hard to write a bunch of words; what’s hard is to write fewer, more important words. Check back in the future for the next update, and I’m so grateful to have you join me for this journey. By the time you read this, the GitHub repo will be public. If you have any suggestions or want to pose fun challenges for me to figure out, head over to github.com/HIBTB and open an issue. I'll do my best to figure out the answers, even if I decide to go a different path with this project.
Remember: Nothing about this blog is set in stone, and even the name may change as it hopefully grows alongside me. I hope you'll also join me on this journey as I work to figure out what the heck I'm doing and where I will go. Thank you for you time, and I'll see you in the next post. <3