Smashwords is hiring software engineers!

Smashwords, the world's largest distributor of indie ebooks, is hiring! We make it fast, free and easy for any author or publisher, anywhere in the world, to publish and distribute ebooks. Founded in 2008, we’re profitable, self-funded (no meddling VCs!), and have been achieving annual revenues of around $20 million. Nearly 200,000 authors and small independent presses utilize the Smashwords platform for their ebook publishing and distribution. Join with us to change the future of book publishing one indie ebook at a time!


  • Competitive salary
  • Flexible work arrangements
  • Health, dental, and vision coverage
  • SIMPLE-IRA retirement account
  • Cell phone reimbursement

What will I do at Smashwords?

  • Engineer productively in a devops-style distributed team using Linux, PHP, Go, Ruby, and MySQL
  • Actively collaborate with other engineers using cloud-based tools such as Google Docs, Git, Gerrit, Dropbox, and Slack
  • Conduct design and code reviews enthusiastically
  • Prepare training presentations for your co-workers regularly
  • Write and maintain unit tests
  • Make data-based decisions
  • Have opinions on good and bad designs and ability to justify those opinions
  • Communicate your ideas to multiple audiences across functional boundaries

What attributes must I possess?

  • A desire to democratize the global book publishing industry by creating free tools that empower writers to become professional ebook publishers
  • The ability to prioritize projects that will yield the greatest benefit for the greatest number of Smashwords authors and publishers in the least amount of time
  • You must have built a "real" web application featuring authentication and database integration and be willing to show it off to us
  • Expertise in at least one of PHP, Go, or Ruby, and confidence in most of the others
  • Confidence with relational databases; MySQL experience a plus
  • Confidence in a Linux-based environment
  • Confidence with software containers, virtualization, and deployment automation
  • Disciplined approach to testing and quality assurance
  • Enthusiasm for receiving feedback on your work and learning from others
  • Enthusiasm for being in an on-call rotation for services that you helped build
  • A strong desire to learn and push your skills and gain new knowledge


Software Engineer - Frontend Engineer

Smashwords is looking for a frontend engineer who can help us create beautiful and easy to use tools for our authors and readers. An ideal candidate would be on the edge of web interface design, and be comfortable experimenting with and recommending new technologies as they stabilize. As a Frontend Engineer, you’ll work with client-side graphing libraries, CSS preprocessors, and JavaScript application frameworks (e.g. AngularJS), front-end frameworks (e.g., Bootstrap) and package management and build tools (e.g. NPM and Grunt), to help improve and expand our site’s end-user experience.

Software Engineer - Senior Engineer / Systems Architect

In the pursuit of getting our user's content in front of as many people as possible, Smashwords manages tens of millions of objects every day in a complex distributed system coordinating tasks between our and our partner's systems. As a Senior Engineer / Architect at Smashwords, you'll work with queuing systems, diverse data interchange formats, and other engineers to ensure low-latency delivery of content to our partners and payments to our authors. Our work involves recommendation systems, information retrieval systems, ad-hoc reporting, promotions management, and forecasting. You should have demonstrable experience building distributed systems and working with legacy code.

How do I apply?

You won’t talk to a recruiter, and we won’t ask any silly riddles about moving mountains and manhole covers, but we do want to know that you know what you're talking about. We want to hear you talk about what you do, what you like to do, how you take pride in doing it, and why you are passionate about it. We think the best way to get to know you is by getting to know your work, so include a link to your portfolio, blog, Twitter, GitHub, HN, StackOverflow — anything that shows off your skills. We love to see designs, blog posts, writing samples, and code.

Smashwords is an Equal Opportunity Employer.

Send the relevant information to us at