Senior/Staff Software Engineer (Backend, Python)
Arch Systems is seeking a Senior/Staff Software Engineer to join our rapidly scaling team and develop our cloud based factory data collection and analytics applications.
Started by Stanford Engineering PhDs and grown out of non-profit work in Africa, Arch is a venture-backed company working with the world’s largest electronics manufacturers. We combine rich data from all machines, new and legacy, to drive real time and predictive analytics transforming manufacturing efficiency and how we work.
We are looking for talented and driven people who seek a lasting impact both in transforming manufacturing operations as well as making critical industries more efficient, connected, and sustainable. Come join our diverse and passionate team!
Compensation will be determined for a Senior/Staff Software Engineer at a Series A stage technology startup based on experience and location. We benchmark our compensation against high cost of living/market rates and use a compensation formula that includes a location factor to determine total target compensation as it compares to a high cost of living/market area. At Arch, total target compensation is comprised of base salary, a completion bonus, and a performance bonus.
Applicants outside the US will be considered to become employees of one of our trusted partners and will receive benefits through them as well as NQSOs from Arch Systems
Since before COVID-19, Arch has operated as a remote-equal team and we welcome candidates from anywhere in the world to apply. We practice thorough documentation processes, collaborative code sharing, and asynchronous-first communication. With these practices and tools, Arch-itects are able to make the most of the diversity of cultures and backgrounds of their teammates while following best tech practices. While we have team members in over 5 countries across various time zones, for this role our preference is candidates working in the EU, as that is where most of this team resides. This is a fully remote role. US applicants must be authorized to work in the US. We are unable to sponsor a Visa at this time.
About the Role
You’ll be a Senior/Staff software engineer on our ArchFX Cloud team. The cloud team delivers the core user-facing portion of our product, ArchFX, which is a factory machine data analytics system used by the top contract manufacturers to collect and analyze data from their advanced robotic factory machines around the world.
The ArchFX platform receives and processes millions of streaming IoT data points per day from thousands of advanced machines in factories and merges it with a virtual “factory map” containing metadata about the physical location of each machine in the factory and the configuration of factory lines. Managing the complexity of this time-aware factory map data structure is one of the core components of ArchFX Cloud.
On top of the factory map and streaming machine data, ArchFX Cloud provides realtime key performance indicator (KPI) calculation APIs that summarize the data from machines hierarchically at the line, area, site and global levels. These aggregated KPIs drive an Angular Frontend application called Global KPIs which provides real time visibility into all levels of factory operation from a single pane of glass.
We’re seeking a senior or staff level engineer to drive the evolution and growth of these core parts of our ArchFX Cloud product. This is a backend, not frontend engineering role. It is a mid-career IC position where you will be owning complex engineering features and projects, ensuring technical excellence, and growing them to adapt and meet new use cases. You will be supported by world class domain experts who deeply understand electronics factories and will be centrally involved in “categorizing and making understandable” the machine data that is powering Industry 4.0, the next industrial revolution in electronics manufacturing.
About the Stack
The ArchFX Cloud product is primarily a Django API server deployed on AWS using Kubernetes with a PostgreSQL database for all metadata. High volume machine data is served via dedicated timeseries databases and merged with the low-volume metadata inside the Django APIs. Most customer facing UIs are implemented in a single page webapp written in Typescript using Angular. Management and administrative views are implemented directly in Django. All backend code is written in Python. Background workers run viaCelery on RabbitMQ. Product is delivered as SAAS, primarily in single tenant deployments for large enterprise customers with infrastructure handled via Terraform and a CD mindset with frequent code releases to all customers.
In this role your general responsibilities will be:
- Gaining a deep understanding of our problem domain (machine data analytics in the electronics industry) to be able to propose technical solutions to complex challenges that work at scale in an industrial context.
- Contributing code to the ArchFX Cloud project, to author new product features, fix bugs, and refactor aging components.
- Ensuring that the product continues to maintain high levels of technical excellence via best practices of testing, CI/CD, code review and security architecture.
- Understanding and decomposing broad requirements into units of work that can be implemented efficiently.
- Exploring new ideas by implementing small POCs to show the team what could be possible before committing to a large implementation.
- Contribute to organizational growth through mentoring and providing technical guidance to other engineers on the ArchFX Cloud team.
To be successful in this role, we think that you need:
- Professional experience developing large, complex backend SAAS applications for enterprise business customers, in Python or a similar language
- Deep experience understanding complex data models and simplifying complexity while exposing the right level of flexibility
- A track record of supporting the code you write in production. You have worked with customer feedback to implement feature changes, fix bugs, and improve upon the software you shipped
- English language proficiency
- Experience working with remote teams across many timezones
Other skills that may help you in this role, but are not required:
- Passion for manufacturing and experience serving large industrial customers.
- Experience developing business-to-business (B2B) products
- Experience with queueing workflows, e.g. using Celery + rabbitMQ to manage tasks
- Experience developing and releasing single-tenant SAAS applications deployed on AWS using IaC for instructure and continuous deployment for code
- Experience leveraging AWS managed services to reduce devops burden in production
How we will support you:
- We have an ambitious and clear vision of how you can be a part of transforming the manufacturing supply chain and building next generation IoT technology.
- Our experienced team has the relevant domain expertise and network to make sure we’re focused on the most important industry problems facing our customers.
- Your work will be solving cutting edge problems with Fortune 500 customers and nonprofit developing world partners alike.
- We provide a Learning & Development budget to support your professional growth.
- You are trusted in your ability to do your best work when and where you want and to communicate this with your team.
- Time off is flexible – take the time you need, including an end-of-year break. We track PTO only to be able to check-in with Arch-itects if they aren’t using the time available to them and work with you to figure out getting the breaks you need.
- For candidates outside of the US, Arch Systems works with a local Employer of Record (EOR) to ensure we meet country specific time off requirements, while working directly with team members to ensure people are taking the time they need.
- You will be able to challenge yourself, be nurtured, and grow in a highly dynamic environment, with
- Leadership who welcomes and encourages autonomy, ownership, and transparency; allowing you to make, learn from, and teach others in your “failures” as much as your successes.
- We value a culture of diversity of thought and background with many languages and nationalities on the team.
Resumes must be submitted in English
We encourage interested and enthusiastic applicants to apply and not allow imposter syndrome to self-select out of an opportunity. We believe in hiring people as their full and authentic selves, allowing them to utilize their strengths and then helping them to learn, grow, and add to those strengths