We have a guest lecturer this week, Jonathan Grover, who is a front-end specialist. I’ve been working on a few Rails projects that look pretty bare bones at the moment, so it will be great to add some stylings and a dynamic user interface to the apps. Although this week is front-end focused, I hope to keep learning Rails - both during work time in class and after class - through online tutorials and working on my own projects. Given that I’ll likely be working with Rails for the foreseeable future, I really want to be fluent in the framework.
Learning Rails last week was challenging, especially to start, since so much of the Rails application building process seems to go on beyond the view of the programmer. Simply starting a new Rails app creates numerous directories and stub files, which can be intimidating to new developers like myself. Compared to Rails, Django starts programmers off with much less scaffolding and support. Django also seems more transparent, as there don’t seem to be nearly as many helper methods as in Rails. I can see the benefits of working with both frameworks - it was easier for me to grasp what Django was doing when I first starting using it, but I can definitely see how Rails enables rapid prototyping and efficient development of new apps.
As we enter the second month of the Flatiron program, one of my classmates raised the question of jobs and careers post-Flatiron last Friday. Avi mentioned that its probably still too early to think too much about jobs, and I tend to agree with him. I’m focused right now on building a skill set - learning as much as I can and knowing how to create products. But I’d be lying if I said that the thought of what will happen post-Flatiron hasn’t crossed my mind. I’ve realized that long term, I’d like to use technology and coding as the lens through which I explore and learn about other industries and professions. All professions and industries have processes and data, some common across industries and some idiosyncratic to specific sectors. I think many of the shared processes have been addressed using technology - e.g., e-mail, scheduling software, project management, note-taking - but many of the idiosyncratic ones have not. Certain industries like tech or consumer goods have had their idiosyncratic data and processes transformed by technology, but other industries have not - e.g., energy is one that comes to mind. I’m hoping to use technology to explore the data and processes of all industries.
Another thing that I’ve realized through the program is that balance is critical. Not just work-life balance but even work-work balance. This past week, I spent one night coding until 3:00 am - most of the hours post-midnight were spent in frustration trying to debug a Sinatra app. I hope that I don’t get into a habit of coding so late into the night. Avi mentioned that you shouldn’t code for more than 8 hours a day - if you want to keep working after 8 hours, then do some reading, or blogging, or talk to someone about coding. There are ways to keep learning and engaging without actually coding. After hours, read a book or write a blog post. Approaching the same subject in different ways will only help solidify and deepen your understanding. It will help your understanding coalesce more effectively and the mental connections between different technologies to strengthen. While its easy for me to focus on something I enjoy doing, I need to know when to stop so that I don’t get burnt out or lose efficiency.