Software Developer (Back End)
AON3D
Hylo is complex. We wrap a high precision linear motion system around a high-temp oven that builds parts out of exotic plastics for manufacturers' demanding applications that require light weight, chemical resistance, and/or metal-like strength. We’re building the future of manufacturing, one layer at a time. But to deliver that future, we need to add more brainpower to the small team that builds the software for making it easier to print, optimize, and QA high-performance parts on Hylo printers.
You’ll join a small, low-ego, collaborative team of developers working on problems like these:
- Receiving, transforming, and storing sensor data streams from our printer fleet. This data can enable features ranging from automated print fault detection to 3D visualizations of part strength to timelapse videos from our printers' camera sensors.
- Extending our Rust API server to support new features for our React/TS/WebGL client.
- Extending the Python “agent” app running on every Hylo printer that sends data to Basis.
- Defending our customers' machines and data from threats ranging from clumsy users to highly-motivated nation-state actors.
- Designing and implementing systems for resilience and manageability, including real-time monitoring of our cloud applications, high-volume log processing and analysis, performance optimization, etc.
- Extending and optimizing our Postgres database (with up/down migrations, of course!)
- Ensuring that all of the above has a “just right” amount of test automation.
Qualifications:
- You love programming, are good at it, and want to get even better
- 5+ years professional experience in back-end development, ideally across multiple platforms and frameworks
- 3+ years experience building, deploying, and troubleshooting distributed cloud apps on AWS and/or Azure (ideally both)
- 2+ years of professional Python experience
- Deep experience with Docker, Kubernetes, Terraform, and/or other infrastructure-as-code platforms
- Good at production troubleshooting and log analysis. If you break something in a production environment or on a customer's network, then you can usually diagnose and fix it, even if ssh and/or IDE debuggers are unavailable.
- Experienced with Linux shell scripting and command-line tools, the Linux FHS, configuration for infrastructure components like nginx, and other DevOps-adjacent skills required to efficiently deploy, manage, and debug server apps
- Strong SQL experience, ideally on Postgres. We don’t use ORMs so you should be very comfortable writing and troubleshooting performance of bare SQL.
- Some Rust experience is preferred, but if none then you should be eager to come up to speed quickly.
- Experience building B2B SaaS software, ideally for enterprise customers
- Passion for productivity. You are always finding and making tools that help you and your colleagues go faster without sacrificing quality.
- Experience working in the same codebase for 2+ years; long enough to internalize the importance of maintainable code!
- You’re flexible and pragmatic without being sloppy. Different programming tasks require a different balance of productivity vs. quality. You’re wise enough to choose the right emphasis for each project.
- Experience at, and enthusiasm for, fast-moving startups
- Chill and low-ego, to fit in with our collaborative team of nerds who like to build cool stuff without drama.
- Excellent written and verbal communication skills in English. Extra credit if your French is also good.
- You live in Montreal (or are willing to relocate) and can work in the office 3+ days per week. Some of your work will require testing on our refrigerator-sized printers, so in-person work is a priority.
Preferred:
- You love 3D printing! You have a printer at home or have extensive 3D printing experience. Extra points if in commercial or industrial environments.
- Embedded systems programming. This role is about higher-level code, but being able to debug into firmware is helpful!
- Sufficient front-end knowledge that you can debug into and troubleshoot full-stack problems, identify root causes, etc.
- Experience building computer-controlled physical equipment in any industry, like commercial ovens, robots, MRI machines, kiosks, etc.
- Solid communication skills with customers, because if there are occasional problems that are too hard for our support team to resolve or questions that are too hard for them to answer, then our team needs to solve and answer them! This sometimes involves working with customers and/or their IT teams directly.
