About the Role
Normal is building software for semiconductor engineers, encompassing a local CLI, a web product, and backend services. This role focuses on the backend systems that ensure these components function as a single, dependable product, addressing challenges related to production software with real state, failure modes, and complex user workflows. The position is not focused on AI or ML, but rather on backend engineers who excel at making complex systems clear, reliable, and easy to operate.
Responsibilities
- Design stable, well-typed interfaces across CLI, web, and backend services.
- Evolve Postgres schemas, migrations, event histories, and other durable state.
- Build lifecycle, queueing, retry, cancellation, idempotency, and recovery behavior for long-running work.
- Improve software that runs across developer machines and containerized environments.
- Make failures easier to diagnose through metrics, traces, structured logs, health checks, and operator tooling.
- Improve how changes are tested, packaged, migrated, deployed, and recovered.
- Find and remove performance bottlenecks in APIs, database access, event processing, and execution paths.
- Deliver product changes that cross repositories, languages, and service boundaries.
Requirements
- 4+ years of software engineering experience and a track record of shipping backend systems that other people depend on.
- Experience designing APIs and data models, and reasoning clearly about concurrency and state.
- Experience operating production services where reliability, observability, maintainability, and performance matter.
- Comfort reasoning about distributed failure modes such as retries, partial completion, duplicate work, cancellation, and recovery.
- The ability to debug across boundaries—from a client or CLI through services, databases, and deployment infrastructure.
- Pragmatic judgment about when to invest in a durable abstraction and when to ship the straightforward version.
- Range: you have gone deep in at least one area and can become productive in an unfamiliar codebase or technical domain.
- A product mindset: you care whether the system is understandable and dependable for the people using it, not only whether the code is correct.
Skills
- Postgres
- Redis or Valkey
- event-driven architectures
- high-volume stateful services
- Kubernetes
- containers
- cloud infrastructure
- deploying software in resource-constrained, on-premises customer environments
- Developer tools
- CLIs
- workflow engines
- job schedulers
- distributed execution systems
- Semiconductors
- EDA
- hardware engineering workflows
Experience Level
- 4+ years of software engineering experience
About the Company
- Normal Computing is building software for semiconductor engineers: a local CLI that works inside real chip design environments, a web product for managing projects and reviewing results, and backend services that coordinate long-running work across both.
- Normal Computing is committed to providing reasonable accommodations to individuals with disabilities. If you need assistance or an accommodation due to a disability, please let us know at accommodations@normalcomputing.com.
- By submitting your application, you agree that Normal Computing may collect, use, and store your personal information for employment-related purposes in accordance with our Privacy Policy.
Equal Opportunity
- Normal Computing is an Equal Opportunity Employer. We celebrate diversity and are committed to creating an inclusive environment for all employees. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, veteran status, or any other legally protected status.
