As a Senior Software Engineer in DevOps, you'd be creating significant impact through infrastructure ownership and responsibility in a high-energy environment. Your ideas will enable scaling the growth of our software product capabilities in IoT and Cloud, while having the unique opportunity to collaborate and engage with best-in-class engineers across Software, EE, MechE and MatSci.
In order to succeed in this role, you'll be a self starter and have a real passion for software engineering-driven DevOps culture. You don't need prior experience with 3D printing or our software stack; we trust you can learn those skills on the job with compelling technical expertise.
You will build cloud infrastructure automation, handle CI/CD pipeline, improve monitoring and security of infrastructure, calibrate alerting and incident response procedures, and support software engineers in identifying and analyzing performance bottlenecks. You will develop testable scripts to maintain infrastructure-as-code and operate customer-facing web applications and IoT-cloud services with high uptime requirements.
What you will own:
- Design and develop tools for automating provisioning, configuring and deployment of web applications and services
- Write automation scripts following best-practice coding principles
- Lead improving the infrastructure to ensure high availability and performance of software components are upheld
- Maintain scalable logging and monitoring infrastructure for deployed services
- Work with peer software engineers to design resilient, scalable and robust cloud and IoT services
- Continually evaluate the security of our systems and applications, with an emphasis on data security
- Collaborate with software engineers to figure out tool requirements, then drive the implementation, documentation, maintenance, and improvement of these tools
- Build automation for routine, simple, and complex tasks
- Tackle problems and resolve active production issues
- Participate in an on-call rotation
- Learn, extend, and maintain our build, deploy, config, metrics, and alerting systems
Although we list out what we generally look for, we are very likely missing other attributes and skills that you have that could make you a great fit, but are not currently listed. Research has shown this especially applies to women and other marginalized groups, who tend to apply if they check 100% of every box, versus men who apply if they hit roughly 60%. The point we’re getting at, it doesn’t hurt to take a chance and apply!
What you have:
- 5+ years of operations engineering experience supporting global 24x7x365 web applications and cloud services
- Excellent command of at least one programming/scripting language (Ex: Bash, Python, Go). You practice developing scalable and testable code
- A strong desire to minimize the operational overhead of systems, large and small
- Expertise with AWS (EC2, VPC, S3, RDS, ElastiCache, IAM, KMS)
- Experience with operationalizing several large scale deployments
- Expertise at solving infrastructure problems in complex customer-facing enterprise systems
- Experience supporting CI/CD platforms and related software development tools
- Experience with how enterprise IT organizations manage firewalls, proxies, and TLS certificates
- Working knowledge of Postgres and Redis
- Hands-on experience with Linux, security, and networking fundamentals
- Experience working in agile methodology
- A passion for ownership and technical perfection
- Strong interpersonal and communication skills
- Bachelor’s degree in Computer Science, or equivalent professional experience
- Verbal/Written English Communication is required
It’s not expected that any single candidate would have expertise across all of these areas. For instance, we have wonderful team members who are really focused on their customers’ needs and building amazing user experiences, but didn’t come in with as much systems knowledge.
Our software technologies and tools empower our customers to configure print-ready parts, visualize part geometry in 3D, and push to IoT-connected printers for printing. As part of the Software Engineering team, you will be helping to lead the scaling and growth of our 3D printing platform involving end-customer applications and IoT services. We move at a breakneck pace but refuse to compromise on quality. We believe in “doing it right the first time” and investing in code quality, testing, tooling and infrastructure. Your ideas will directly influence the company's future. You will do interdisciplinary work on physical systems and learn from best-of-the-best engineers across Materials Science, Mech-E, EE, and Software.