Basecamp is hiring a Programmer

We’re hiring a programmer to join our Research & Fidelity team to help shape the front end of our Rails applications and expand our suite of open-source JavaScript frameworks. We’re accepting applications for the next two weeks with a start date in early April.

We strongly encourage candidates of all different backgrounds and identities to apply. Each new hire is an opportunity for us to bring in a different perspective, and we are always eager to further diversify our company. Basecamp is committed to building an inclusive, supportive place for you to do the best and most rewarding work of your career.

ABOUT THE JOB
The Research & Fidelity team consists of two people, Sam Stephenson and Javan Makhmali, whose work has given rise to Stimulus, Turbolinks, and Trix—projects that exemplify our approach to building web applications. You’ll join the team and work with them closely.

In broad terms, Research & Fidelity is responsible for the following:

  • Designing, implementing, documenting, and maintaining front-end systems for multiple high-traffic applications
  • Building high-fidelity user interface components with JavaScript, HTML, and CSS
  • Assisting product teams with front-end decisions and participating in code reviews
  • Tracking evergreen browser changes and keeping our applications up-to-date
  • Extracting internal systems and processes into open-source software and evolving them over time

As a member of the R&F team at Basecamp, you’ll fend off complexity and find a simpler path. You’ll fix bugs. You’ll go deep. You’ll learn from us and we’ll learn from you. You’ll have the freedom and autonomy to do your best work, and plenty of support along the way.

Our team approaches front-end work from an unorthodox perspective:

  • Our architecture is best described as “HTML over the wire.” In contrast to most of the industry, we embrace server-side rendered HTML augmented with minimal JavaScript behavior.
  • We implement features on a continuum of progressive enhancement. That means we have a baseline of semantic, accessible HTML, layered with JavaScript and CSS enhancements for desktop, mobile web, and our hybrid Android and iOS applications.
  • We believe designers and programmers should build UI together, and that HTML is a common language and shared responsibility. Our tools and processes are manifestations of this belief.
  • We are framework builders. We approach intractable problems from first principles to make tools that help make Basecamp’s product development process possible.

Here are some things we’ve worked on recently that might give you a better sense of what you’ll be doing day to day:

  • Working with a designer during Office Hours (our weekly open invitation) to review and revise their code
  • Researching Service Workers and building a proof-of-concept offline mode for an existing application
  • Creating a Stimulus controller to manage “infinite” pagination using IntersectionObserver
  • Investigating a Safari crash when interacting with <datalist> elements and filing a detailed report on WebKit’s issue tracker
  • Extracting Rails’ Action Text framework from the rich text system in Basecamp 3
  • Working with programmers from the iOS and Android teams to co-develop a feature across platforms
  • Porting Turbolinks from CoffeeScript to TypeScript and refactoring its test suite
  • Responding to a security report for our Electron-based desktop app and implementing a fix

ABOUT YOU
We’re looking for someone with strong front-end JavaScript experience. You should be well-versed in modern browser APIs, HTML, and CSS. Back-end programming experience, especially with Ruby, is a plus but not a requirement. You won’t know how all the systems work on day one, and we don’t expect you to. Nobody hits the ground running. Solid fundamentals with software development, systems, troubleshooting, and teamwork pave the way.

You might have a CS degree. You might not. That’s not what we’re looking for. We care about what you can do and how you do it, not about how you got here. A strong track record of conscientious, thoughtful work speaks volumes.

This is a remote job. You’re free to work where you work best, anywhere in the world: home office, coworking space, coffeeshops. While we currently have an office in Chicago, you should be comfortable working remotely—most of the company does!

Managers of One thrive at Basecamp. We’re committed generalists, eager learners, conscientious workers, and curators of what’s essential. We’re quick to trust. We see things through. We’re kind to each other, look up to each other, and support each other. We achieve together. We are colleagues, here to do our best work.

We value people who can take a stand yet commit even when they disagree. And understand the value in others being heard. We subject ideas to rigorous consideration and challenge each other, but all remember that we’re here for the same purpose: to do good work together. That comes with direct feedback, openness to each others’ experience, and willingness to show up for each other as well as for the technical work at hand. We’re in this for the long term.

PAY AND BENEFITS
Basecamp pays in the top 10% of the industry based on San Francisco rates. Same position, same pay, no matter where you live. The salary for this position is either $149,442 (Programmer) or $186,850 (Senior Programmer). We assess seniority relative to the team at Basecamp during the interviewing process.

Benefits at Basecamp are all about helping you lead a healthy life outside of work. We won’t treat your life as dead code to be optimized away with free dinners and dry cleaning. You won’t find lures to keep you coding ever longer. Quality time to focus on work starts with quality time to think, exercise, cook a meal, be with family and friends—time to yourself.

Work can wait. We offer fully-paid parental leave. We work 4-day weeks through the summer (northern hemisphere), enjoy a yearly paid vacation, and take a one-month sabbatical every three years. We subsidize coworking, home offices, and continuing education, whether professional or hobbyist. We match your charitable contributions. All on a foundation of top-shelf health insurance and a retirement plan with a generous match. See the full list.

HOW TO APPLY
Please send an application that speaks directly to this position. Show us your role in Basecamp’s future and Basecamp’s role in yours. Address some of the work we do. Tell us about a newer (less than five years old) web technology you like and why.

We’re accepting applications until Sunday, February 2, 2020, at 9:00PM US-Central time. There’s no benefit to filing early or writing a novel. Keep it sharp, short, and get across what matters to you. We value great writers, so take your time with the application. We’re giving you our full attention.

We expect to take two weeks to review all applications. You’ll hear from us by February 14 about whether you’ve advanced to the written code review part of the application process. If so, you’ll submit some code you’re proud of, review it, and tell its story. Then on to an interview. Our interviews are one hour, all remote, with your future colleagues, on your schedule. We’ll talk through some of your code and some of ours. No gotchas, brainteasers, or whiteboard coding. We aim to make an offer by March 20 with a start date in early April.

We look forward to hearing from you! ✌️

AWS S3: You’re out of order.

Back in November, we noticed something odd happening with large uploads to Amazon S3. Uploads would pause for 10 seconds at a time and then resume. It had us baffled. When we started to dig, what we found left us with more questions than answers about S3 and AWS networking.

We use Amazon S3 for file storage. Each Basecamp product stores files in a primary region, which is replicated to a secondary region. This ensures that if any AWS region becomes unavailable, we can switch to the other region, with little impact to users uploading and downloading files.

Back in November, we started to notice some really long latencies when uploading large files to S3 in us-west-2, Basecamp 2’s primary S3 region. When uploading files over 100MB, we use S3’s multipart API to upload the file in multiple 5MB segments. These uploads normally take a few seconds at most. But we saw segments take 40 to 60 seconds to upload. There were no retries logged, and eventually the file would be uploaded successfully.

[AWS S3 200 0.327131 0 retries]
[AWS S3 200 61.354978 0 retries]
[AWS S3 200 1.18382 0 retries]
[AWS S3 200 43.891385 0 retries]

For our applications that run on-premise in our Ashburn, VA datacenter, we push all S3 traffic over redundant 10GB Amazon Direct Connects. For our Chicago, IL datacenter, we push S3 over public internet. To our surprise, when testing uploads from our Chicago datacenter, we didn’t see any increased upload time. Since we only saw horrible upload times going to us-west-2, and not our secondary region in us-east-2, we made the decision to temporarily promote us-east-2 to our primary region.

Now that we were using S3 in us-east-2, our users were no longer feeling the pain of high upload time. But we still needed to get to the bottom of this, so we opened a support case.

Our initial indication was that our direct connections were causing slowness when pushing uploads to S3. However, after testing with mtr, we were able to rule out direct connect packet loss and latency as the culprit. As AWS escalated our case internally, we started to analyze the TCP exchanges while we upload files to S3.

The first thing we needed was a repeatable and easy way to upload files to S3. Taking the time to build and set up proper tooling when diagnosing an issue really pays off in the long run. In this case, we built a simple tool that uses the same Ruby libraries as our production applications. This ensured that our testing would be as close to production as possible. It also included support for multiple S3 regions and benchmarking for the actual uploads. Just as we expected, uploads to both us-west regions were slow.

irb(main):023:0> S3Monitor.benchmark_upload_all_regions_via_ruby(200000000)
region       user       system     total    real 
us-east-1:   1.894525   0.232932   2.127457 (  3.220910) 
us-east-2:   1.801710   0.271458   2.073168 ( 13.369083) 
us-west-1:   1.807547   0.270757   2.078304 ( 98.301068) 
us-west-2:   1.849375   0.258619   2.107994 (130.012703)

While we were running these upload tests, we used tcpdump to output the TCP traffic so we could read it with Wireshark and TShark.

$ tcpdump -i eth0 dst port 443 -s 65535 -w /tmp/S3_tcp_dump.log

When analyzing the tcpdump using Wireshark, we found something very interesting: TCP retransmissions. Now we were getting somewhere!

TCP Retransmissions

Analysis with TShark gave us the full story of why we were seeing so many retransmissions. During the transfer of 200MB to S3, we would see thousands of out-of-order packets, causing thousands of retransmissions. Even though we were seeing out-of-order packets to all US S3 regions, these retransmissions compounded with the increased round trip time to the us-west regions is why they were so much worse than the us-east regions.

# tshark -r S3_tcp_dump.log -q -z io,stat,1,"COUNT(tcp.analysis.retransmission) tcp.analysis.retransmission","COUNT(tcp.analysis.duplicate_ack)tcp.analysis.duplicate_ack","COUNT(tcp.analysis.lost_segment) tcp.analysis.lost_segment","COUNT(tcp.analysis.fast_retransmission) tcp.analysis.fast_retransmission","COUNT(tcp.analysis.out_of_order) tcp.analysis.out_of_order"
Running as user "root" and group "root". This could be dangerous.

===================================================================================
| IO Statistics                                                                   |
|                                                                                 |
| Duration: 13.743352 secs                                                        |
| Interval:  1 secs                                                               |
|                                                                                 |
| Col 1: COUNT(tcp.analysis.retransmission) tcp.analysis.retransmission           |
|     2: COUNT(tcp.analysis.duplicate_ack)tcp.analysis.duplicate_ack              |
|     3: COUNT(tcp.analysis.lost_segment) tcp.analysis.lost_segment               |
|     4: COUNT(tcp.analysis.fast_retransmission) tcp.analysis.fast_retransmission |
|     5: COUNT(tcp.analysis.out_of_order) tcp.analysis.out_of_order               |
|---------------------------------------------------------------------------------|
|          |1      |2      |3      |4      |5      |                              |
| Interval | COUNT | COUNT | COUNT | COUNT | COUNT |                              |
|--------------------------------------------------|                              |
|  0 <>  1 |    28 |    11 |     0 |     0 |     0 |                              |
|  1 <>  2 |  3195 |     0 |     0 |     0 |  5206 |                              |
|  2 <>  3 |   413 |     0 |     0 |     0 |  1962 |                            
...
| 13 <> Dur|     0 |     0 |     0 |     0 |     0 |                              |
===================================================================================

What’s interesting here is that we see thousands of our-of-order packets when transversing our direct connections. However, when going over the public internet, there are no retransmissions or out-of-order packets. When we brought these findings to AWS support, their internal teams reported back that “out-of-order packets are not a bug or some issue with AWS Networking. In general, the out-of-order packets are common in any network.” It was clear to us that out-of-order packets were something we’d have to deal with if we were going to continue to use S3 over our direct connections.

“You’re out of order! You’re out of order! This whole network is out of order!”

Thankfully, TCP has tools for better handling of dropped or out-of-order packets. Selective Acknowledgement (SACK) is a TCP feature that allows a receiver to acknowledge non-consecutive data. Then the sender can retransmit only missing packets, not the out-of-order packets. SACK is nothing new and is enabled on all modern operating systems. I didn’t have to look far until I found why SACK was disabled on all of our hosts. Back in June, the details of SACK Panic were released. It was a group of vulnerabilities that allowed for a remotely triggered denial-of-service or kernel panic to occur on Linux and FreeBSD systems.

In testing, the benefits of enabling SACK were immediately apparent. The out-of-order packets still exist, but they did not cause a cascade of retransmissions. Our upload time to us-west-2 was more than 22 times faster than with SACK disabled. This is exactly what we needed!

irb(main):023:0> S3Monitor.benchmark_upload_all_regions_via_ruby(200000000)
region       user       system     total    real 
us-east-1:   1.837095   0.315635   2.152730 (  2.734997)
us-east-2:   1.800079   0.269220   2.069299 (  3.834752)
us-west-1:   1.812679   0.274270   2.086949 (  5.612054)
us-west-2:   1.862457   0.186364   2.048821 (  5.679409)

The solution would not just be as simple as just re-enabling SACK. The majority of our hosts were on new-enough kernels that had the SACK Panic patch in place. But we had a few hosts that could not upgrade and were running vulnerable kernel versions. Our solution was to use iptables to block connections with a low MSS value. This block allowed for SACK to be enabled while still blocking the attack.

$ iptables -A INPUT -p tcp -m tcpmss --mss 1:500 -j DROP

After almost a month of back-and-forth with AWS support, we did not get any indication why packets from S3 are horribly out of order. But thanks to our own detective work, some helpful tools, and SACK, we were able to address the problem ourselves.

How to motivate employees? Don’t.

Do this instead. Here are 6 ways to motivate your team that doesn’t undermine their intrinsic employee motivation that they already have.

I need to figure out how to motivate my employees.” When was the last time thought that to yourself? It could’ve been the other week when you noticed one of your direct reports dragging his feet on a project that’s critical to the company. Or, perhaps it was the other month when you felt frustrated that your team wasn’t being proactive about addressing customer issues.

If either of these situations feels even remotely familiar, you’re not alone. I hear this sentiment of “how to motivate employees” frequently from managers we work with who use Know Your Team, and I often am asked countless questions about it.

Keep reading “How to motivate employees? Don’t.”

Giving unactionable advice

One of the common dings against our books REWORK and It Doesn’t Have to Be Crazy at Work (less so with REMOTE), is that we don’t include a lot of actionable advice. It’s a fair swipe.

It seems everyone’s after actionable advice. The advice that tells you exactly what to do. Read this, do exactly that, and here’s the outcome you can expect.

Yeah, no.

Most actionable advice isn’t advice at all, it’s opinion. Sure, you can give someone advice by giving them your opinion, but when you stitch actionable to the front of advice, it masquerades as fact. But it ain’t.

Why don’t we give actionable advice in REWORK and It Doesn’t Have to Be Crazy at Work? Because we don’t know how you should act. The action required in any specific situation is highly contextual. If we guessed we’d probably be wrong most of the time.

We can’t tell you what to do. We don’t know what you should do. We barely know what we should do! And most of the time we don’t.

What we can tell you, however, is what we’ve done. In our own unique situation, our own context. From there you can form your own opinion about how it applies to your situation. It’s an input, not the input. Maybe it’s a perfect fit, maybe it’s a partial fit. Maybe it’s not a fit at all. The important part of the equation is you bringing your own mind – and your own situation – to bear. Apply that heavily, not actionable advice lightly.

Seek out unactionable advice. You’ll figure more out.

How to onboard a new hire

Recently I hired someone new here at Know Your Team. Here’s exactly what I wrote on Day 1 and the 23 questions I asked as a part of our employee onboarding process.

Something new happened recently: We hired a new employee at Know Your Team — and it caused me to rethink our entire employee onboarding process. As a small, profit-focused team, we don’t hire often. As a result, this time around, I wanted to be intentional about how to onboard a new hire.

After all, the numbers on how likely it is for a new employee to leave within the first 90 days are astounding: 30% employees leave before their first 3 months are up, according to a survey with 1,500 people.

It got me reflecting deeply… How to onboard a new hire, and make sure that person feels welcomed, encouraged, and well-equipped to contribute to the team?

Keep reading “How to onboard a new hire”

Announcing “Shape Up”, a deep dive into how we work

Back in 2006, we self-published Getting Real: The smarter, faster, easier way to build a successful web app. It was our first foray into broadly sharing how we work at book-scale. It struck a nerve, turned heads, and changed minds. It offered product people, designers, and developers a way out – an escape hatch. They could finally ditch their way of working that wasn’t working for a new way that would.

Since then we’ve released a number of books, all focused on the business end of things. You could learn how to run a company from REWORK, REMOTE, and our latest mass-market release, It Doesn’t Have to Be Crazy at Work.

Today we return to our roots. Nearly 13 years after Getting Real was published, we offer the spiritual follow-up. Today we introduce Shape Up: Stop Running in Circles and Ship Work that Matters. This web-based book explains how we work in replicable detail. It’s comprehensive, yet approachable. A recommended read for anyone involved in software development. And it’s 100% free to read online – we don’t even ask for your email address.

Why now?

Over the last few years, there’s been a renewed, heightened curiosity about how we work at Basecamp. People often ask us how we get so much done so quickly at such a high level of quality with such a small team. And how we keep our teams together for years and years. We’ve written some blog posts about it, but the topic really demanded a book-length effort.

For one, we’re not into waterfall or agile or scrum. For two, we don’t line walls with Post-it notes. For three, we don’t do daily stand ups, design sprints, development sprints, or anything remotely tied to a metaphor that includes being tired and worn out at the end. No backlogs, no Kanban, no velocity tracking, none of that.

We have an entirely different approach. One developed in isolation over nearly 15 years of constant trial and error, taking note, iterating, honing in, and polishing up. We’ve shaped our own way. This book is for explorers, pioneers, those who don’t care what everyone else is doing. Those who want to work better than the rest.

But ultimately, don’t think of this as a book. Think of it as a flashlight. You and your team have fumbled around in the dark long enough. Now you’ve got something bright and powerful to help you find a new way.

We hope you find it interesting, enlightening, and, most of all, helpful.

Let’s read.

Don’t buy the hiring lottery

It’s never easy looking for a job. Trotting through shitty, vague, unrealistic openings that are frequently been written by people thrice removed from those you’ll eventually be working with. Then hoping to hear back from the black hole that is the application process at many companies. Ugh. No wonder many applicants end up jaded, if stuck in that process for too long.

But sitting on the other side of the process can certainly also make you jaded. Reading through hundreds of applications from people who aren’t even trying. Trying to understand the role or trying to express why they’d be a good hire.

I think part of the problem is the idea that “if you don’t apply, you can’t get it!”, which sorta sounds like a “if you don’t play, you can’t win” slogan for a lottery. That’s a perfectly reasonable conclusion from someone who has gone through one too many black-hole application processes, but it’s also wrong.

Sure, you can’t hit if you don’t swing, but it doesn’t matter how many times I swing, I’m not going to hit a homerun against a Yankees pitcher. Not one in a hundred, not one in a thousand. Yes, step one of being in the game is showing up. But unless step two is being somewhat qualified for that game, you’re still going to lose.

This doesn’t invalidate the idea that there are perfectly qualified candidates who hold themselves back from applying due to imposter syndrome or anxiety or other reasons stemming from a lack of confidence. Boosting that confidence amongst the qualified with encouragement is ace. Let’s keep doing that.

But let’s stop pretending that the hiring process is a lottery. That sending out the most resumes is how you win it. That you should apply to positions no matter how remote of a stretch it is, because, hey, they gotta hire someone, and that might as well be you!

Applying for a job is hard. Every time you don’t hear back, you can lose a tiny little something of yourself. You thus might try just that little bit less next time. So if you keep applying for unlikely-to-get jobs, you might eventually water yourself down, and dilute your application, until it’s a very thin cup of tea indeed.

Don’t do that. Apply when you have a real shot. Stretch a little, but not too much. Save yourself and your ego from the lottery trap.

Basecamp is hiring Customer Support Representatives

Basecamp is looking for two Support Representatives to join our team in providing the best customer support around. 

About the Job
You’ll be responsible for providing tremendous customer service and support via email for all versions of Basecamp and our other apps. You’ll help us answer questions via Twitter, make some customer calls, create and edit help documentation, run personalized demos, and teach some online classes. You’ll also have ample opportunities to carve out your own passion projects related to supporting our customers.

Deep technical knowledge of computer programming is not a prerequisite, however you should be well-versed in basic troubleshooting techniques to solve issues caused by most Internet Gremlins. The ability to think beyond clearing cache and cookies in order to troubleshoot the specific issue that’s reported is essential.

During training, you’ll be expected to be proactive in your process and learn quickly. Once fully up-to-speed (2-3 months), you’ll write about 100 emails per day. This is a significant volume, so be sure that you’re ready and able to deal with that kind of daily load — you’ll get all the support and guidance you need along the way!

About You
We’re looking for some great writers who love helping people, so you should enjoy making complicated situations simple and painless. This means being a great problem-solver with the ability to process and resolve issues quickly. You should be a stellar communicator, even when you have to communicate less-than-stellar news. You should have highly tuned senses of compassion and empathy and a drive to constantly help others.

We have a rhythm to our work and a low turnover rate — more than half of the team has been at Basecamp for over five years. But, your voice matters to us. We make change from fresh perspectives and appreciate new viewpoints, so you should feel comfortable speaking up about your values.

You love supporting people. This isn’t a springboard into another area at Basecamp. You want to be part of our support team for a while, and you’re excited to contribute to making Basecamp the best product for our customers.

A big part of the role itself is supporting each other, so you should understand the value in prioritizing relationships with your colleagues.

We strongly encourage candidates of all different backgrounds and identities to apply. Each new hire is an opportunity for us to bring in a different perspective, and we are always eager to further diversify our company. Basecamp is committed to building an inclusive, supportive place for you to do the best and most rewarding work of your career.


About Our Pay and Benefits
Our pay is within the top 10% of the industry, for the matched role and experience, based on San Francisco rates. We also believe in fair, living wages at Basecamp no matter where you live. For a Junior Customer Support Representative, this starts at $70,000.

Our benefits are all aimed at supporting a life well lived away from work. None are about trapping people at the office or cajoling them into endless overtime. Just the opposite. We’re all about reasonable working hours, ample vacation time, summer hours, fitness, wellness, food, education, and charity. See the full list.

If you want to join Ashley, Chase, Chris, Elizabeth, Jabari, James, Jayne, Jim, Joan, Kristin, Lexi, Merissa, Shanae, Sylvia, and Tony in making our customers happy, please apply!

How to Apply
Introduce yourself to us as a colleague. Show us your future here! We value great writers, so be yourself, be creative, and take your time with the application. There’s no prize for being the first to submit! Stock cover letters won’t do. Tell us why you want this job. Tell us about:

  • why you want to work in customer support.
  • why you want to work at Basecamp and not somewhere else.
  • a description of a great customer service/support experience you had recently, and what made it great.
  • a time you taught yourself a new skill to complete a job or project.
  • a guide to making your favorite meal.

Then, pick three of the customer questions below and answer them like you would if you worked here (hint: at this point, we value tone and style over correctness):

  • Does Basecamp 3 offer time tracking?
  • Can I create recurring events in the Basecamp calendar? What about recurring todo items?
  • Do you offer 2fa for signing in?
  • How do I work with clients in Basecamp 3?

Click here to apply. We’re accepting applications for this position until July 5. We’ll let you know that we’ve received your application. After that, you probably shouldn’t expect to hear back from us until after the application deadline has passed. We want to give everyone a fair chance to apply and be evaluated.

We’re seeking fluent English speakers/writers to work with us to answer customer inquiries via email and phone during these hours:

  1. Monday through Friday 9am-6pm CST
  2. Tuesday-Saturday 10am-7pm CST


We’re a remote company, so your location isn’t as important as your fit to the role. That said, we do prefer that your daytime hours coincide with your working hours so as to avoid night shift burnout. Don’t forget to tell us where you’re located!

We look forward to hearing from you!

Basecamp is hiring a Head of Marketing

For the past 20 years, we’ve been passive marketers with a little m.

We speak at conferences and on podcasts, we write books (REWORK, REMOTE, It Doesn’t Have to be Crazy at Work), we share our point of view on thousands of blog posts, we invented a framework (Ruby on Rails) that changed an industry, and we make products that redefine their categories (Basecamp, Highrise, etc.). And right now we’re working on something new that’s going to surprise people.

We’ve gotten by on strength of product, cult of personality, a unique point of view, running against the wind, and incredibly generous word-of-mouth promotion from our customers. We’re fortunate it’s been working. 20 profitable years in business is the proof. We’re naturally proud of that.

But we feel like we’ve begun to saturate our natural sphere of influence, our current reach. Passive marketing can only get us so far, and we have a desire to go further. Today, if we’re in the mix, it’s by chance, not choice. And because of that, we feel a bit invisible outside of those who know us already.

And it’s no surprise: We haven’t really advertised. Or made it easy for new people to find us online. Lately we haven’t explained our brand particularly well. Or thought much about how we’re perceived in the modern market. We don’t show up in places where potential customers hang out, and we haven’t gone far enough supporting and sponsoring events and like-minded organizations. Basically, we’ve never deliberately focused on actively getting the word out, making sure our brand is positioned properly in the market, or meeting customers where they are.

We lack a Marketing strategy with a capital M. It’s time to change that.

Moving forward, we want to be intentional about creating awareness (how do we introduce Basecamp to people who don’t know us?), prompting consideration (how do we get people who need a product like ours to consider us for purchase?), and driving conversion (how do we get people who are considering Basecamp to sign up, pay us, and start using our products?).

So, for the first time, we’re ready to hire someone to lead that charge and own that responsibility. We’re looking for our first Head of Marketing.

How’s that challenge sound to you?

ABOUT THE JOB AND THE WORK
Fundamentally, this job is about developing and executing a broad strategy to bring more people to the front of the funnel by increasing awareness and interest outside of what we’ve already built. We’re not looking for somebody to spend time on email drip campaigns or improving onboarding. While important, this role is much broader than that. This also isn’t a job for self-described growth hackers.

This is a role for someone who knows how to mix a wild idea with a practical pitch. Someone who’s eager (but not annoyingly so) to pick up the phone and negotiate a major partnership deal. Someone who has an eye for talent, a nose for bullshit, ears close to the ground, and the creative mind of a conductor. Someone who’s previously managed large spends and helped a brand transition through a similar process. Someone who recognizes an opportunity when they see one, but knows how to steer clear of high effort low reward mirages. You see things other people miss, and you know how to put leverage to good use.

And while we’ll support your strategy with a multimillion dollar budget and creative support from the CEO, you’ll start this process without a dedicated internal team. While we have designers, writers, and a data analyst occasionally available to assist, we don’t have a marketing department or spare staff focused on everything you’ll need to get done. This means you’ll initially be expected to identify, vet, choose, and manage external vendors or agencies to help pull off your plan. Building an in-house team is something we’ll discuss down the road.

While some may see this as a disadvantage, we think it’s a big opportunity. You’ll be able to pull in the best agencies, freelancers, shops, and creative specialists to help pull off the plan. You’ll bring us creative ideas we’ve never considered in the past. You’ll challenge our thinking and help us see ourselves in a new light.

In addition to big picture strategy, you’ll focus on practical day-to-day work like fielding sponsorship opportunities that come our way. Keeping an eye on analytics. Reaching out to groups, organizations, movements, events, and other brands we should be partnering with. You’ll also be expected to regularly detail progress, setbacks, and marketing insights for the whole company.

We’re aware that at many companies, this is a multi-person position. Someone focused on the marketing strategy. Someone else focused on brand. Someone else focused on partnerships and sponsorships. And so on. We’re not expecting a herculean marketing turnaround with a single person at the start, but we absolutely believe the right person   can point us in the right direction, guide us, come up with campaigns, be resourceful enough to get them produced, manage the process, study the results, course correct, revamp, and try more things. We know someone has to own this, or we’ll end up where we are today.

Bottom-line, this is an impact position. In time, the business should look better with you on board.  A clear case of before and after. You’ll help us be noticed, be seen, and be found. We should also feel better about ourselves with you around. This is a big responsibility and we are here to support you, cheer you on, and make it happen. We’ve talked about having someone like you on board for years, and now we’re finally ready.

ABOUT YOU
You’re creative. You’re organized. You’re experienced. You’ve done this before. You want to do it again. You absolutely want to do it for us.

We value people who can take a stand yet commit even when they disagree. We’ll often subject ideas to rigorous debate, so you’ll need to stand up for what you believe, but we remember that we’re here for the same purpose: to do good work together. Charging the trust battery is part of the work.

Yes, you’ll need to learn how we work at Basecamp, but we’re also looking for someone to teach us how to work. And once we’ve figured that out, be able to share that story with the world. We should tell the story of how we changed our approach to marketing.

We’re not looking for a superhero who thinks sheer hours = good work. Excess doesn’t impress us – creativity and efficiency does. You’ll have 8 hours a day to work, and, we hope, at least 8 hours a night to sleep. What you do with the other 8 is up to you, never to us. You’ll report directly to the CEO.

ABOUT OUR PAY AND BENEFITS
The starting salary for this position is $181,000. You can read about how we set salaries here.

Our benefits are all aimed at supporting a life well lived away from work. None are about trapping people at the office or cajoling them into endless overtime. Just the opposite. We’re all about reasonable working hours, ample vacation time, summer hours, fitness, wellness, food, education, and charity. See our full list of benefits here. In fact, if you’d like you can browse the entire employee handbook as well.

Basecamp is a remote-work company so you can be anywhere, but you’ll need at least 4 hours of overlap with Chicago time in your normal work-day routine.

We strongly encourage candidates of all different backgrounds and identities to apply. Each new hire is an opportunity for us to bring in a different perspective, and we are always eager to further diversify our company. Basecamp is committed to building an inclusive, supportive place for you to do the best and most rewarding work of your career.

HOW TO APPLY
We want to get a sense of how you think. To that end, please use your cover letter to share with us your take on the following questions:

  1. Tell us how you’ve taken an existing brand to a new place by revamping their approach to marketing. How would you begin to approach figuring out where we stand and where we should be standing?
  2. Give us an example of a small-to-medium sized business that you think markets themselves particularly well? Who’s doing an outstanding job out there? And why?
  3. Since you’ll need to bring in outside talent to get the job done, which creative agencies or freelancers do you think are doing particularly interesting work? And why?
  4. Share an example of a time great marketing caught your attention and turned you into a customer.
  5. Tell us about something you almost bought recently, but decided not to. What failed to convince you?
  6. What’s inspired you lately? What’s the most creative thing you’ve seen or experienced in the last few years?

We value great writers, so take your time with the application. Keep in mind that we do not equate length with substance, so please keep your cover letter to fewer than 1500 words. Stock cover letters won’t do – tell us why you want this job, not just any job.

Click here to apply. We are accepting applications for this position until June 28th, 2019. We’ll let you know that we’ve received your application. After that, you probably shouldn’t expect to hear back from us until after the application deadline has passed. We want to give everyone a fair chance to apply and be evaluated.

We can’t wait to hear from you!