Engineering & Culture at Scalable Press

Why are we sharing all this information working here?

Scalable Press grew a lot last year and we want you to know what it's like to work at a bootstrapped and profitable company. As an engineer you will serve our consumer and ecommerce clients, not venture capitalists. You'll maintain and improve large-volume REST APIs, and build the software which sells our printed products.

Because we make money, your equity is worth something, and software you write will have caring, paying customers from the moment you deploy. Paying customers are great for us as engineers—they simplify technical tradeoffs and bring meaning to our work.

Our aim is to answer all your burning questions about working here.

Each engineer is responsible for core parts of our business. We understand the importance of each other's contributions and the impact of our own contributions. Bike-shedding doesn't happen—we have work to do. Different from many companies, our team shares in understanding the engineering and business needs of each decision. We architect maintainable backends and create elegant solutions to complex user interactions.

Table of Contents

Projects and engineering culture

Do you do code reviews? What's the balance between shipping and technical debt?

We'll give you feedback in the form of code reviews. We want to support you as you acclimate to a new team and coding style. As a new hire you won't be left to fend for yourself—we'll give guidance on how to write maintainable and consistent code.

Our philosophy is not to be afraid of refactoring. If we have to choose between shipping non-ideal code, or refactoring it now, we lean towards refactoring it. The expectation is that over time we each revisit code we've written and improve it. Our end goal is not just the feature, but the feature and lasting maintainable code. If you understand the general improvements we suggest in your code reviews and proactively apply them to your future pull-requests, we will work very well together.

What's an example project for the open positions?

Upcoming projects include:
- Creating warehouse workflows for new custom printed products such as mouse pads, mugs, and business cards - Integrating new hardware equipment into our web-based production software - Building out new retail verticals to sell our products - Working with low-level image processing to improve quality - Improving our API which is used for millions of print orders

What ambitious engineering projects are you doing? (or have completed?)

  • Controlling Industrial equipment through Javascript and the web
  • Using computer vision to automate quality verification
  • Creating industry-leading chaos storage for inventory

How will I grow as an engineer? How is the current team growing?

You'll gain experience and responsibility in production critical systems. Beyond writing code our engineers learn about industrial engineering processes, and exercise their creative skills to meet business needs. You'll see your positive impact on customers and revenue.

Who will be giving new hires advice?

You'll work with departments heads across the company depending on project. Eric, head of the engineering team, will be mentoring new engineers to help them create over $1MM in business value.

How long does it take to onboard a new engineer?

It takes 4 hours to set up the development environment. Another four hours and you'll have your first commit in production.

How often do you deploy to production?

Very often—we use Jenkins which means we simply click of a button.

What guidelines are there around code reviews?

Our code review process is informal. Depending on the importance of the project you'll get feedback from two or more coworkers. For new hires, all code is code reviewed because we want you to get started on the right foot. Consistency in style and patterns is key. We enforce this strictly so that different engineers can contribute to each project, and for our own sanity. You'll never find yourself stuck in a morass of legacy code.

What's the process like? How do you build software?

We might call ourselves "lean" given the small team we have and few formalized processes. We have a daily standup and a wiki template for project planning. We're currently transforming to a larger team and are looking for input on what makes sense for us. Our software is focused on consistency. We do not bike-shed. We refactor often for good architecture, but we don't over-engineer.

What is your policy around OSS?

We contribute back when possible. Our policy is supportive but practical when it comes to open source. We have two in-progress open source projects. Open source is definitely not "central" to how we work, but we do like to participate.

How much do you test?

Testing is done on the most important code, but coverage is not comprehensive. We have mostly integration tests as well as monitoring systems for production servers.

How do you discover bugs?

We find bugs using crash logs, error tracking on front end, and user reports. Most bugs are found in development and QA, but occasionally a bug slips through because of thin regression testing.

What's the state of automated testing? Continuous integration?

We use Jenkins to run tests as CI but our test coverage is not complete.

How do designers and engineers work together?

We have one UI/UX designer and are working on hiring the second. Engineers will provide feedback and implement designs. Designers will have a high level of control over the user experience.

Culture at Scalable Press

What metrics do you track?

We have many company-wide metrics focused on business performance, but fewer on the engineering team. One example is our "blank shipping cost" metric. Every custom printed shirt is printed on blank of the appropriate size, color, and model. The blank must be ordered from our manufacturers and sent to one of our printing facilities that is nearby the customer. By improving our blank garment ordering algorithm we can minimize shipping costs (among other costs), and this is a metric of engineering team performance.

How often does the team eat lunch together?

The team eats lunch together every day (since it's free), and our CEO joins on many days.

Does the engineering team write technical blog posts?

We write the occasional blog post, and we'd like to write more often.

Are sanctioned side-projects owned by employees?

Yes.

How big are the teams? How big will my team be?

We have one engineering team with eight full time engineers. We're looking to work with three more engineers. When they join we will split into two teams.

What's the hiring process like?

Note: same as in job descriptions. Our hiring process starts with a phone screen; then a 3-4 hour on-site interview; then a meeting with various leadership within the company for culture fit. We send an offer a day or two later.

We get back to you very quickly, ideally replying to your emails within four hours during business hours. If we are both free, the lower bound for our hiring process is 3-4 days. If you don't have much availability, it might take 2-3 weeks.

During the on-site you'll interview with each engineer on the team so we can see different facets of your technical knowledge. We ask standard algorithm questions and infrastructure design questions based on our printing production process. We'll whiteboard together.

Are there core business hours?

We get to the office at 10am or earlier. During holidays work gets busier because of customer demand, and the on-call person must be 24-7. Our warehouses operate 24 hours a day.

What does the engineering team say about working here?

"I am encouraged to take the time to build a long-lasting solution, rather than just patch broken products to get us to the next quarter."

Ryan McGill Ryan McGill, Software Engineer

"Scalable Press is an interesting and fun place to be an engineer for a few reasons. First, the breadth of work is wide. We are applying modern web technologies and engineering practices to an old-school printing industry, prioritizing vertically integrated on-demand manufacturing and fulfillment. In addition, we are building the customer facing e-commerce products that generate the orders for our facilities. Second, the management is focused on long-term success. I am encouraged to take the time to build a long-lasting solution, rather than just patch broken products to get us to the next quarter. Last, my coworkers are great! I look forward to going to work in our comfortable bright office in downtown San Francisco because everyone is friendly, driven, and smart."

What's Ryan been working on lately?

  • Real time data visualizations to show the status, speed, and backlog of our production facilities.
  • A garment ordering system that integrates with several of our suppliers API’s to place orders for our trucks to pick up every day. This has enabled us to be less reliant on traditional shipping methods, and improved turnaround time at our facilities.
  • Designing web applications at our facility workstations to be “hands free”. Where the operators can complete all actions with a barcode scanner as opposed to using the mouse or keyboard. This enables our operators to work with higher speed and quality.
  • ALSO DRIVING MILLIONS OF DOLLAR$ PER DAY!!!!!!

"One can learn and achieve a lot here at Scalable Press"

Albert Lo Albert, Software Engineer

"I might not have chosen to work at Scalable Press because other startup jobs provide a better all-around package, like a better work environment, or better employee benefits. I'm glad I decided to work here because I've felt a great sense of belonging, contribution and responsibility. I have a great amount of freedom to do what I find interesting, whether it is related to the storefront APIs or the assembly line and shirt printing. The uplifting work environment, interesting projects, and great co-workers are some of my favorite parts of the work. This is a great startup with great people, one can learn and achieve a lot here at Scalable Press."

What's Albert been working on lately?

  • Integrations between the ecommerce platform, Shopify, and WooCommerce
  • Designing the internal and public-facing APIs which process all our orders
  • Improve our image processing stack with C++

Positions

We're hiring software engineers and designers for the following positions:

Don't see a position that matches your expertise? Get in touch with me at ericzhang@scalablepress.com. We're always looking for talented future co-workers and would like to hear from you.