Hi Javan, Sam and the basecamp team. Thank you for inviting my application to become one of your co-workers. I follow Basecamp for a while. Your last open position almost made me write a letter to you but I realized that I might not be the best person for that particular position. When you started the search for a programmer to join the Research & Fidelity team, I couldn’t hold back. I am a good candidate for that job and I would like to show and tell you why that is.

Since the beginning of 2018 I work as a freelance software developer. My reason for leaving my previous job was the need to put myself in situations where I will learn a lot. I wanted to contribute to software written by others and give back but most of all grow by working on software written by people smarter than me.

Writing

When I have to think about something deeply, I usually open a new text document and start to write. The act of writing out loud helps me structure and think. All of my talks and presentations start that way as well.
My greatest hits contain a tutorial on how to create a multiple-file upload with Rails (version 4 it was back then) and other tutorials with background jobs and articles about Rails. One of my happiest moments was when a PR of mine got accepted into Rails. Of course, I wrote about that as well.

During the last two years I could help a lot of developers improve their development workflows and quality assurance systems and processes. A series of articles on how I believe pull requests should be handled serves as a nice introduction for a lot of devs.

I wrote that when I was around 8 or 9. Perhaps you have somebody speaking German on your team who can translate? 😅

The last thing I’d like to point you towards is my take on technical debt. Many use the term in a wrong way. I don’t want to be a smart-ass but I like it if people know what they talk about. If they don’t (I know very little about a lot of things) my article can hopefully add to their knowledge.

Coding

It’s hard to work as a consultant and freelance developer and find companies that don’t do frontend and backend separately.
That’s why my work involved a lot of JavaScript and some TypeScript during the last years—mostly with React.
I started writing Rails apps in 2012 and happily still find enough clients who need me to do it well. Sadly most want to only use Rails as a stupid API for a frontend app instead of trying to get the most out of the framework.

My approach to development is quite simple. Try to do the simplest approach that solves the problem in a successful way. Since I tend to leave my clients after a few months, I take care in writing maintainable code, that others have little trouble to understand and extend.

Mentoring & Coaching

Quite a few people told me that I am able to explain difficult concepts in a way that they can understand the topic. After I heard it often enough I started to believe it as well and use that talent to mentor and coach developers more junior than me. To facilitate a great learning environment for people spread over the globe, I create a “Coder’s workshop”. My goal is to teach beginners how to help themselves and others. We discuss questions and multiple answers to them to learn which way works best. Every participant in their tempo. I also run workshops on JavaScript and software testing for companies as well as together with the non-profit CodeCurious.

How I can make Basecamp better

Enough about me, here’s what’s in it for you: When working with you I will find many things I don’t yet know how to do. Your expertise is bigger than mine. You’ll have to help me level up a bit. I am building quite a bit of suspense here, am I? 😉

That said, I am positive that I will be able to bring an open attitude to the table and fresh ideas. As a successful freelancer my most important asset is communicating well and understanding people. I’ve used Basecamp 2 and 3 each over a few months and formed some opinions on what worked well for me. I would love to work together with you to make using Basecamp even better for many people.

My experience writing maintainable applications will be helpful in creating software systems together with Basecamp. The freelance life is rewarding. I still think there are some opportunities even better than that and Basecamp is such a thing. I am used to working from home as a remote worker. My best work was always possible when I had a great team I could work with.

Let’s get to know each other and perhaps we’ll create great things for the next decades.