Careers - Experienced Software Engineer

Careers header image - Transparent

To learn more about the company and the work environment at Finale Inventory visit our careers page.

Our engineering environment

We have a disciplined development process that moves quickly but not chaotically.  We meet biweekly to plan sprints based on task breakdowns from the person doing the work.  We ship code multiple times per day.  We deliver quality software by applying multiple best practices including automated unit/integration tests, working in small batches, peer code reviews, and automated deployments.  We rapidly revert or fix issues discovered by our extensive alerting and tight integration with our service team.  We improve our processes over time using blameless postmortems after serious issues.  We invest in developer efficiency by, among other things, ensuring tests complete reliably without intermittent failures and steadily refactoring code for simplicity.

 

Engineers are responsible for understanding our customers and their problems.  They use judgement to design features in conjunction with our business operations team that delight users.  To foster understanding, engineers interact regularly with customers when fixing issues and by periodically shadowing our business operations team on sales or service calls.

 

The major components of our technology stack are Node.js, React, MySQL, Redis, Linux, and AWS.  Our JavaScript code uses modern idioms such as functional reactive programming.  We also use C++ compiled to WebAssembly and also compiled as a native Node.js module for performance critical code.  We use GitHub, Slack, Zoom, and Monday.com for collaboration.  We do NOT use Jira.

 

Who you are

You are an experienced engineer that has previously shipped commercial software using the technologies in our stack as part of a team.  You believe that doing is more important than talking, and understand the difference between activity and action.  You are familiar with modern software development practices (such as automated testing and continuous deployment) even if you haven’t had a chance to use them in your professional work.  Even if you don’t have a degree in computer science, you have learned the essentials of data structures, algorithms, operating systems, databases, networking, computer architecture, and concurrent programming.

 

You live in North America, South America, or Europe and are able to frequently collaborate with your colleagues between the hours of 9am and 2pm in the US Pacific time zone.  English may not be your first language, but you are nearly fluent when conversing about technical or business topics.

 

What you will do

You will be writing and shipping code on our core product. Depending on your specific skills and interests you will be:

  • Adding end user facing features such as Amazon FBA replenishment or built-in business intelligence screens. You will be responsible for building expertise around our customer's needs, based on that experience developing features that delight our customers, and delivering high quality code. This work is mostly in JavaScript using React and Node.js.
  • Improving performance and capability of our core engine that calculates stock levels, cost of goods sold, and other business metrics (mostly in C++ )
  • Adding capabilities to the system that synchronizes data between our system and external applications the customer is using (e.g. Shopify, QuickBooks, Amazon Marketplace, etc.).

In addition to shipping code, you will use your experience to regularly contribute to the overall engineering direction of the company.

Hiring Process

Candidates communicate directly with Chris Hondl, our co-founder and CTO, during the interview process.  Chris will review resumes and credentials of all applicants.  Agencies and contracting firms will not be considered.  Selected applicants will have between five and seven remote interviews, some of which involve coding using Zoom screen share in an editor of your choice.  Interviews are scheduled at the mutual convenience of the applicant and the interviewer.  In most circumstances we do not use take home coding challenges.  Generally interviews are completed in six to nine business days.  All applicants who are invited to interview will receive an email stating whether or not they have been offered a position.  

 

Apply for the position using the form below.