Message from 2021
This post is pretty old! Opinions and technical information in it are almost certainly oudated. Commands and configurations will probably not work. Consider the age of the content before putting any of it into practice.
I learned Ruby and Rails in 2005 after several years puttering around in other programming environments. Ruby stuck with me because it’s easy to make programs do what you want: the builtin and standard libraries have lots of sensible methods, and the universe of Gems is comprehensive and ever-expanding. What doesn’t yet exist is usually easy to build.
I got bored of performing the same security audits week after week and hearing the same excuses/mitigations for why clients weren’t passing the audit. The most enjoyable parts of my work were building software. I took a couple days’ vacation to go to acts_as_conference 2008 in Orlando, and met Brennan Dunn, who was looking for Rails talent to work with him in Miami. I expressed interest, scheduled an interview, and moved to Miami.
I wasn’t ready for the pace of that job. Getting requirements was a lost cause, because I’d figure out out the right way to implement them, and then they’d be different. This, the buildup of technical debt I wan’t mature enough to handle, and the apparent ease of success to be had doing Rails consulting caused me to leave for a contract gig.
The first customer I had went too far in the other direction. The first work I did was to optimize a slow page by making the algorithm to draw it use hashes instead of arrays (going from O(n) to O(log(n)) on each row of a table), a ten line change. This was followed by a frustrating introduction to design reporting, design reviews, change reporting, and of course change review meetings; a process that added hundreds of pages and dozens of wasted hours to an afternoon’s work. However, the checks cleared, and I was still having fun.
Once that wrapped up, I worked with another client on an e-commerce site for a year, and found that work terribly frustrating, especially when it came to contracts, delivery, and getting paid. During that year, I also took over the Miami Ruby Brigade, and found out that I really enjoy teaching and talking about programming.
One of my neighborhood friends, Matt Heitzenroder, informed me that Basho, makers of the Riak distributed database, were looking for a Ruby developer to help clients build web applications using their database. Since the independent route wasn’t working out for me, I interviewed, and started at Basho in September, 2011.
Basho has been a fantastic place to work so far. Processes tend to be simple and functional, I’m surrounded by1 smart and friendly coworkers, and we work on cool stuff. At the same time, I’m happy with how far the Miami Ruby scene has grown; having weekly meetings leads to stronger meetups, and three of us are now teaching a ten-week Rails course at the LAB Miami coworking space.
Ruby’s done quite a bit for me over the last six years, and I’d like to extend many thanks to the Ruby and Rails communities, past and present, for helping make me productive while still enjoying the act of building software.
- “surrounded” figuratively; I believe I’m the southernmost Basho employee.