Two months ago, I was fortunate to land a job doing Rails development full-time. It’s been a long slow process, but I’m finally getting a grasp of it. Or at least pieces of it. Here is my story:
My Programming Background
For the last 5 years, my background in web development was ColdFusion. It was easy to understand, easy to connect to databases, and quite expensive. What I found lacking were good frameworks. I had grown sick of repeating myself every time I started a new project. On the side, I had been playing with Django and wished I could develop in it full-time. I had even dabbled in Ruby on Rails a bit.
However, there was change in the air at my work, and it wasn’t for the better. I worked for a city government and I pushed for open source technologies as a way to save taxpayer’s dollars. Unfortunately, not enough people higher up cared about this. It looked like management was drinking the Microsoft flavored kool-aid and we were going to become a .Net shop. We had already brought Sharepoint into the office. I knew it was time to leave.
I set a goal to find a job using either Python or Ruby, and if worse came to worst, even PHP. Unbelievably, I landed a job within one month of searching. I was going to do Ruby on Rails development. Professionally! Amazing!
As a new Rails developer, I was fortunate enough to work for a company that has allowed me to learn Rails on the job. For the first four weeks of employment, I spent nearly all my time on Rails for Zombies and then Rails Tutorial. I highly recommend this site for anyone wanting to learn about Rails development. It covers everything from setting up Rails to using GitHub, Rspec, and deploying to Heroku.
I’m now fully engulfed in the development process. I feel overwhelmed at times, but completely love it. The Rails ecosystem is vast and there is a lot to learn. I’m spending most of my time writing Rspec tests and updating models.
I’ve learned a lot in the last two months. I’ve realized that I’ll never go back to the “old” days of coding by myself, coding without a framework, coding without writing tests, and manually deploying to a Java application server. There’s a part of me that wants to go back to my old job and say “Don’t you see how wrong you are? This is how it should be done”. But I guess that the current management isn’t comfortable with a technology unless there are salespeople selling it.