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.

Email message with job description

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.

  •      Tech      Rails saved my career as a programmer. I was a reluctant Java programmer looking to make a career change. Fortunately, discovering Rails reignited my love for programming. Hotwire brought those feelings back, allowing me to enjoy working on high-fidelity features again.
  •   Culture   I am a big fan of your no-nonsense approach to software and business. I appreciate being able to focus on adding value through my work, not meetings and process overhead. In addition, I am a massive supporter of investing in things that don’t go out of style. I have seen this pay off firsthand many times throughout my career.
  • Products Being a long-time customer, I have been impressed by your ability to innovate with new features and the technology to support them. Furthermore, I know you mean it when you say your products will run until the end of the internet. I’d love to play a role in such a remarkable legacy.
  • 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.

    2011 - 2012

    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.

    2012 - 2014

    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.

    2014 - 2016

    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.

    2016 - 2020

    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.

    2020 - 2021

    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.

    2021 - Present

    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.

    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.