Hola 37signals
I am Sebastian, your new Rails programmer. This is the start of our story together.
I’ve been waiting for this opportunity
My application has three sections. One to convince you that I'm your candidate, another to tell you about my previous jobs, and one to show you things I have done.
Why this job?
I love building delightful web applications using Rails.
I have worked as a Rails programmer for a little over ten years. Throughout my career, I have learned that quickly exploring the full length of a problem space before working towards a complete solution is often necessary. I have realized that restating problems usually leads to the most creative and valuable solutions. The Rails programmer position requires these skills, and I have them.
As a user of your products, I have caught myself daydreaming about what it may be like to create a new feature in Basecamp or HEY. I’d love to turn those daydreams into reality and continue my journey at 37signals.
Why 37signals?
Three main reasons: the tech, the culture, and the products.
Why me?
Beyond sharpening my technical skills, I strive to cultivate traits that allow a decent developer to transform into a great one.
- I can write simple code that solves complex problems. I enjoy letting conceptual compression happen.
- I love tinkering with code and concepts to find the right abstractions and giving them meaningful, expressive names.
- I am used to building things from scratch and seeing them through. This is my preferred way of working.
- I rarely give up on hard problems, but I am quick to acknowledge when a problem exceeds my skills.
- I enjoy collaborating on solving challenging problems. I’ve grown more as a programmer by working closely with great people than by reading books and attending courses.
- I have been happily working remotely for almost ten years. As a result, I know how to effectively operate with an asynchronous team.
Most importantly, I can offer good things right away, but I feel my best work is yet to come. I know I could grow into a much better version of myself working with people of your caliber.
My work history
This is the path that allowed me to go from a novice Java programmer to an experienced Rails programmer.
PSL Corp (acq by Perficient)
My first paid programming job. I was hired to write web applications using Java but found an opportunity to work with a client that needed someone to build a Ruby client for their API. After getting a real taste of Ruby, I never looked back.
Stack Builders
I couldn't believe I was getting paid to write Ruby full-time. I got familiar with Rails, automated testing, and OOP. Working at a consultancy meant that I worked on Rails applications of many sizes. That exposure gave me a good understanding of what works and what doesn’t.
Ride.com (closed)
I joined the team building the API for a carpooling mobile app. I learned valuable lessons I’ll never forget after making a couple of mistakes. They were:
- Buying into the microservices hype. Being a small team, we quickly ran into the downsides of this architectural approach. We ultimately went back to a monolithic Rails application.
- Customers were charged thousands of times the amount they owed. If you're interested in hearing more about this, you can listen to the RubyRouges episode where I talk about it.
Cookpad
I joined the company as it was going through growing pains, both in terms of the team size and the user base. I got to work on the largest recipe-sharing site in the world, which provided an excellent opportunity to learn more about what building an application used by millions of people every day entails.
Honed my front-end skills. I leveraged Turbolinks, Server-generated JavaScript Responses, and Stimulus to provide a delightful user experience while steering clear of client-side JS frameworks.
Podia
I led the rewrite of several core features for their course-selling platform. I used StimulusReflex for several of those features. Nonetheless, when Turbo was released, it quickly became clear that it was a better alternative.
I am proud of the quality improvements I made to the test suite. The test coverage was lacking, the test suite was subpar, and there were no conventions around testing. I introduced new testing practices and helped several programmers improve their testing skills.
BiggerPockets
I have learned what being a manager of one truly means in my current role. I work closely with a designer and product owner to find the best solution to problems in the real estate space. We usually start with a clunky but functioning solution and slowly improve to a high-fidelity, easy-to-use feature that we then release and monitor in production.
I am part of a group of experienced developers leading an effort called Operational Excellence. We work on making sure our application runs smoothly, monitoring the health of our systems, have proactive visibility into the performance issues, and spend less time chasing down bugs.
A few samples of my work
I've done very few contributions to open-source. These are some of them.
- My first attempt at contributing to Rails happened shortly after Strong Parameters was released. It was soon noticed and rightfully dismissed by David after it was merged. You live, you learn.
- Responding to an issue created by Jeremy, I opened a PR to contribute to the beginnings of Global ID to help encode an app’s unique reference to a specific model as a URI. Ultimately, Kasper took the implementation over the finish line.
- My most recent contribution to Rails was adding a simple implementation of the Server Timing specification to Rails. I recently used this feature to quickly debug slow requests!
- I created a Ruby client for Giphy’s API. This was before the time GIFs were readily available everywhere, so being able to search for GIFs from the command line seemed like a big deal.
- These are more recent pieces of code that showcase my solution to a data parsing exercise. Not exactly an open-source contribution, just some public code I wrote.
Other type of contributions
The following is a short list of things I have done in the past few years that you may find interesting.
- I wrote about a few little-known features introduced in Ruby 2.7. It’s by far the most popular blog post I’ve written.
- I started a Ruby conference in my home country and organized it for a few years with a group of friends. It was a lot of fun, but I don't think we’ll do it again.
- I have spoken at a few Ruby conferences, including Railsconf. Here’s the video of one of those talks.
- I coached a team during the RailsGirls Summer of Code in 2015 and also participated as a coach in a couple of local RailsGirls events.