My software engineering track at Bloc consists of four parts (units, so to speak). The first was focused on backend web development with Ruby on Rails. Backend development, for the layman reading, is writing code that by and large is not seen by the user; it's how Facebook stores your username and password to pull up your account, or how your iPhone links your contacts to your Apple ID. Backend development is primarily focused on interacting with databases and making the website work. Ruby is a programming language and Rails is a framework that helps you build websites using the Ruby language so developers don't have to write the same basic code over and over again to get started.
The second section is what I'm about to begin, which is frontend development with JavaScript. This, as the name implies, is more focused on what the user sees and interacts with on a website. JavaScript, with frameworks and libraries like AngularJS and jQuery, allows developers to quickly build all of those fancy animations and icons that are now commonplace on the web (remember websites in the 1990's that were pretty much a bunch of text and links to other websites? Frontend development makes it all less ugly). Of course, there's some overlap here, as you know if you've explored the fully-functioning web apps I've already built, but by and large that's what I'll be practicing starting tomorrow. The third and fourth sections are about software engineering and doing an open-source project.
Because I'm about to make this transition, I figured this would be a good time to give a bit of a status update on how my work at Bloc is going. My recent posts, while tangentially related to Bloc, have been impassioned discussions about getting people out of debt/poverty, cool new technology, and becoming a more talented individual, not the actual process of coding and developing websites.
It's easy for me to get focused on what I want to do with code rather than the actual act of coding. After all, code is a bit like the English language or Math equations. They're tools we use to describe things produce things, and communicate, not really an end in and of themselves. The only reason one would ever write code just to write code is to get better at doing it. It's much more meaningful (and therefore fulfilling) to write code for a product or resource that makes people's lives better.
But as I'm still in school, so to speak, when it comes to coding, I still have lots of practicing to do. I can build a website and make it work, but I have a lot yet to learn about designing it and making it compelling to the user. There's always more to learn, of course, but even though I feel I've come a long way already, I also recognize I have a long way yet to go.
Onward and upward. Or, as my first mentor, Mark, would say, it's time to lean in.
Post number 11.