Skip to Main Content

Software Engineer (remote)

SnapStrat Inc
Piedmont, CA
Expired: over a month ago Applications are no longer accepted.
  • Full-Time
Job Description

Are you looking for an opportunity to work on innovative technology while helping some of the world’s leading businesses improve the outcomes of their most important decisions? Are you interested in working for a growing start-up that is customer-focused, non-hierarchical, and truly values individual contribution? Are you looking for a role that provides flexibility on both where and when you work?

SnapStrat is a six-year-old enterprise software startup focused on helping organizations optimize their most important decision processes. While our business is software, we measure our success by the outcomes our customers achieve from using our product on an ongoing basis. We are fully remote; our leadership team is based in Oakland CA, and Las Cruces NM.

We are a financially stable company growing our team based on revenue, not VC funding. We expand responsibly, adding new customers when we can do so without impacting the very high service levels our customer base expects. We are seeing significant growth this quarter, enabling us to add development capacity. Our launch customer, a well-known global retailer, has used our platform for years for one of their most important marketing decision-making and operational processes.

Our technical strategy is to have a “fast code” platform, built in Typescript to enable very rapid development and maintenance of custom applications for each of our customers. Some differences between our platform and “low code” platforms are:

  • Our platform is designed to allow a professional developer to very quickly develop an enterprise-quality application. Development is all in Typescript with reusable components.
  • We are fanatical about DRY, maintainability, and integrated automated testing.
  • We encode much of the application definition in our proprietary metadata system.
  • We have extensive data ingestion/transformation capabilities (c.f. The background of our CTO).
  • Specific support for strategic decision processing, using a proprietary model is provided, including support for analysis and optimization.

We typically provide our software in conjunction with consulting engagements with our partners, and at the completion of the engagement we leave a customer with the application they use perpetually with a subscription model. Our growth is enabling us to develop standardized application templates in different business domains, further reducing the cost of customization.

We have a boundary between our platform code and application code and are constantly extending the platform to do more in response to application requirements, allowing us to increase our scalability. The application code is isolated from the underlying technologies such as React and our database choice.

Our technology stack includes:

  • Typescript
  • GraphQL (Apollo)
  • Serverless Framework
  • Cypress
  • React (we are considering moving to Svelte)
  • AWS (most of our code is agnostic to our cloud provider)
  • DynamoDB (we are considering moving to a graph database)

Requirements

About You

You have a professional software engineering background with a deep understanding of modern development practices. This should include a significant theoretical knowledge of how computers work, typically the product of a CS degree. You are comfortable in some mainstream languages that are not Javascript, like C, C++, Java, or Python (even though we generally don’t use them). You believe in type safety and having tooling that provides multiple opportunities to catch bugs early.

You do TDD, but find that most unit tests are pointless overhead. You strive to think about testing software at the right level, and recognize that test code should be as maintainable as the product code. You enjoy deleting code, and want to make as little of it as possible, but at the same time it needs to be comprehensible and maintainable. You know the art and tradeoffs of comments in code.

You also really know your way around Javascript/Typescript. You find the idea of using plain Javascript to develop software of any size or complexity abhorrent and are therefore thankful for (and have a good relationship with) Typescript. You are not interested in trying to use every exotic feature of Typescript, but you know and use the main important ones.

You are not interested in the debate between functional and imperative programming and how that relates to Javascript.

You understand the overall mission of the company and of our customers and every decision you make takes these into consideration. You think for yourself. You collaborate very well with others, not being afraid to push back when something does not seem right, and yet are not argumentative about points that are of little importance. Ego is of little importance, you do the right thing no matter whose idea it is. You strive to have a good and personal and professional relationship with your colleagues; you have their back and you know they have yours.

About the Job

We intend that most of your time will be spent on the platform (as opposed to the customer applications), however, depending on business conditions, application development will sometimes be necessary (and useful from a dog food perspective).

Making sure a candidate for a position is a good long-term fit is a difficult process for both sides. We would like to give you the opportunity to do that as you see fit.

Before we chat, we will ask you to write something that outlines the steps you will take to show us you are the right person for the job (this could include some tests/code that unequivocally demonstrates your fitness). Indicating you have done some research on the company and founders will be helpful.

Benefits

  • $90,000-$100,000 USD per year
  • Stock options
  • Health and Dental insurance

Address

SnapStrat Inc

Piedmont, CA
USA

Industry

Technology

Get fresh Software Engineer (remote) jobs daily straight to your inbox!

By clicking the button above, I agree to the ZipRecruiter Terms of Use and acknowledge I have read the Privacy Policy, and agree to receive email job alerts.