I began software development when I started the web development track of Bloc at the end of June. I’d never done any sort of coding before but I was really excited to start. Like many, I dreamed of quitting my job and starting a software company. Bloc seemed like a perfect place to get the skills I’d need to build the vision in my mind.

Eager to learn I kicked it off and began the initial lessons on HTML, CSS, and Javascript. Even early on I sensed the enormity of the possibility allowed by the combination of these three languages. I loved the almost video game like problem solving process that came with writing Javascript.

As I advanced in the program we moved on to larger projects and more advanced implementations. For the first time, I started to experience the real challenges associated with development. Up to this point, I’d breezed through the initial tutorials and problems pretty easily. However, now I was confronted with dynamic new challenges. I learned how to scan through a document hundreds of lines long to hunt for that single pesky semicolon that’s causing an error, as well as organizing those same files so they’d still be legible to me if I needed to come back in and make some changes weeks or months later.

For the first time, I saw a web application I built myself come together, bit by bit and piece by piece. Those days were marked by long hours of head scratching and paragraphs of questions for my mentor. Eventually this would culminate in those glorious ‘aha!’ moments where something clicks and the answer to that problem I’d been trying to solve for hours becomes so painfully obvious I couldn’t believe that’d I’d missed it. One of my favorite types of challenges I’ve encountered so far are the katas of Codewars. I love that frantic mode of thought I get in when I attempt computational problem solving and I’ve found I enjoy developing elegant solutions to complex problems.

Now I’ve finished two projects, and in the process I’ve worked with the DOM, JQuery, and AngularJS. It’s been quite fulfilling to see these come to fruition in front of my eyes, especially when I would have had no idea where to start with them when I began this process. With each new technology or framework I learn, I relearn my own process and attempt to integrate this new information into what I already know.

My current endeavor is developing a chat app with Angular, this time with a great deal more independence than I’ve had before. I’m finding myself even more challenged than I’ve been in the past, having to simultaneously repeat the feats I’ve done before with Angular, but this time without much hand holding, while also integrating Firebase and Bootstrap UI. Needless to say, I’m finding myself stretched to my limits like never before. I’m trying to take all this in stride, after all, this exemplifies much of what I enjoy about coding: That head-scratching struggle that eventually culminates in sweet, sweet victory.