Software Engineer (Parsing and Data Structures)
Help shape the future of hardware development.
At AllSpice, we’re turning opaque binary design files into open, scriptable data, and building a common interface layer for hardware development—think GitHub + copilot for electronics.
We’re the first and only company focused on modernizing the hardware development process, making it faster and more collaborative. Our tools include a git-friendly translation layer, a native CI/CD framework for circuit designs, and Gen AI for circuits, enabling the same agile workflows software teams have enjoyed for years.
Read more about us in TechCrunch here, and our latest Series A announcement here!
We’re seeking a backend engineer to enhance our parsing engine and data schema for electronics design files. Your work will directly enable automation for design review, release, and Gen AI—key building blocks of a hardware DevOps system.
Our stack
- Rust back-end parsing layer for ECAD (electrical computer-aided design) files
- Golang for back-end server code
- Python for production hardware CI/CD functions
- Github for code review
- Github Actions for automated testing
About the role
This is a high-impact role where you’ll work closely with the team to expand and improve our input parsing layer. You’ll contribute to the architecture that powers hardware automation, and should be excited about systems programming and thinking deeply about efficient methods to traverse, parse, and represent data.
Experience required: 2+ years in systems-level software development.
You’ll be responsible for:
- Designing and refining for ECAD data
- Parsing binary file formats
- Extending and defining our schema for electronics data
- Analyzing performance tradeoffs of algorithms and data structures
- Profiling and optimizing for speed, memory, and parallelism
- Testing from raw file input through to rendered SVG output
- Driving improvements across the parsing stack
Example projects:
- Speed up our parsing engine via:
- smarter caching
- library evaluation/replacement
- multithreading and parallelization
- Optimize SVG output for better frontend performance
- Parse and structure 3D data from PCB design files
- Extend support for new ECAD file formats
- Standardize and document our internal data model schema
- Build backend APIs for design data processing
Relevant skills
- Lexical analysis and parsing generally
- Rust, or similar low-level/system languages (C/C++, Zig, etc.)
- Hex editors and binary debugging tools
- SVG and rendering logic
- CI/CD pipelines and automated testing
- Algorithm and data structure design
- Hardware design or ECAD tools (nice to have, but not required)
Other Requirements
- Experience working in software teams
- Strong verbal communication, self-motivated, and organized
- Availability to work out of our flex offices in San Francisco or Boston on a hybrid basis (2-3 times/week)
Benefits
Join a team of supportive and intelligent colleagues, enjoy flexible work arrangements, seize the opportunity to make a significant impact, receive a competitive salary & equity, health, dental, vision benefits, generous PTO, and a home office stipend.
To apply
Email [email protected] with “Software Engineer – Parsing” in the title and a copy of your resume and/or relevant work.