Rushing Labs

Why Create a Blog?

I've always been a tinkerer. Whenever I put my hands on something there's a part of me that naturally wants--no, expects--to figure out what's going on. This was a large part of why I started programming. I had learned enough about PC hardware and some basic technician work to whet my appetite, and I wanted that next piece. I desired to tackle the next hurdle in learning what made this magical box of lights that we all rely on tick. Pursuing something by myself had never stopped me before so I picked up a book [0] and began reading. The digital magic was attainable...and surprisingly practical. I was perplexed then by this disquietude so many people have of anything printed on a circuit board as opposed to printed on paper.

The Wall

From here learning how to code and about software development followed pretty naturally for me. It wasn't "natural" in the sense of an innate ability, but that feeling of natural more akin to how your body responds to a workout plan. I struggled but achieved. Even still I remember hitting The Wall. For me, it came somewhere between "Hello World" and dependency injection. It was that point where I had some code under my belt, but couldn't see how it all came together in these interesting projects around me. Thinking I simply needed to be better I tried out my Google-fu. I could breeze through anything "beginner" related, so...should I try searching "intermediate"? No luck. Read through open-source projects? No idea what I was staring at. Talk to my peers? Hmm, they're doing the same work I am. Do I need a framework? ehh..?

The answer I landed on was that this is where the self-learning in software development gets real. Everyone is willing to hold your hand as you walk into this new world of telling computers what to do, but as soon as you can instantiate an object it feels as if you're on your own. Looking back, however, I realize the most progress I have ever made was when I dove in, head-first--eradicating all fear of writing code that blows up--and just tried stuff. Now, of course we can't just throw characters at the screen until something compiles, but that feeling of standing up in a new environment is important. A couple of "firsts" come to mind:

  • PC hardware. The night I nervously took to a PC with a screwdriver. Painstakingly removing one screw at a time, making laborious notes of where each component, panel, or fastening came from.
  • First ASP.NET MVC project. Moving from homework assignments with a couple objects to a full-blown web framework and ORM is a shellshock. We set up some basic pages, and began tweaking from there.
  • My internship. First day, I'm introduced to a mainframe--I thought it was DOS. An hour later, COBOL--"lost" was some place I passed by at the front desk. This was a 50 year old local insurance company, though. And a good one. And they provided a way for employees who had never seen this long forgotten land before to dive in and stand up relatively easily.

The Process

So I've landed on this idea of highlighting changes to projects as I make them. Not only would I like to present what I'm doing on this blog, but also to show the journey I take to get there. To start with those simple ideas, flesh them out, and follow the code as it grows. Then tackling the problems and complexities as they arise. At first this may seem like a waste of time. Why not just follow best practices from the start? Or design better?--you know, innately. However, I've observed two things happen when I let myself make these mistakes.

  1. I encounter the need for more advanced programming techniques.

  2. I learn the lessons necessary to remind me why those techniques are important.

Please don't misread this though. There's a time for incredibly thoughtful design. It pays to research in order to minimize technical debt. There are truly novel ideas we rely on which didn't come about by blind code bludgeoning. It takes time to get there though. Remember that area between "hello world and dependency injection" I mentioned earlier? I'm still in it. This doesn't mean however that I can't reach out in attempt to help those standing where I was. And for now, walking through projects (while sharing some other smaller pieces) seems to be good place to start.

The Dare

It's surprising how loudly preconceived thoughts of failure yell at you before an attempt has been made. That said, I am incredibly aware of the already saturated tech-blog/programming-help space. And while yes, I do hope to make a few bucks on some quiet advertising (more on that later), I don't expect this to blow up. I thoroughly enjoy helping others realize that all of this technology we have today isn't mystical, it isn't intimidating. Whether that's showing someone how to replace a hard drive, or trying to figure out when "routers" got shoved in our web apps. It's fulfilling, and I learn from it as well.

There's a sense of potential underneath all of this for me though. I've been inspired by lots of people in my life, but on the internet it's a little harder to find people who are personable in some way. People who just tried something, and it took off for them, and they're open about it. For me a few of those I've found are Krista King [4], Barnacules [2], JayZTwoCents [3], and my friend over at The Imaginary Axis [5]. Each of these people showed me something different. Krista's videos are the reason I passed several tests in my calculus courses in college. She created this content with a whiteboard and a camera. Barnacules isn't really scripted, but his content is engaging and fun. Jay is a great example of the quality of work you can push yourself to out of focus and determination. My friend over at The Imaginary Axis basically asked himself, "Well why not?" He had no intentions of things taking off like they did.

What stands out to me though is this--each of those people started with what was in reach of them. I found this quote [1] from Krista in a post she wrote about her getting started on YouTube

I am often intimidated by the amount of opportunity in front of me

I got tired of this thought that I had to "be a little better" before I branched out, before I put a piece of my work on display. I was intimidated. Not only with the opportunity in front of me, but the possibilities of failure before I had even begun. Digging deeper I see this infectious feeling has followed me to several projects, to some key points in life, and even in my work.

So...the point I finally reached, "I dare you to do it. See if you fail. What if you don't?"