Skip to content

Principal Software Engineer – Full Stack
Company | Bright Machines |
---|
Location | San Francisco, CA, USA |
---|
Salary | $210000 – $270000 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s, Master’s |
---|
Experience Level | Expert or higher |
---|
Requirements
- B.S. or M.S. degree (or equivalent) in Computer Science, Engineering, Mathematics, or a related field
- 10+ years of job experience as Software Engineer or equivalent role
- Proficiency in a variety of modern programming languages (C#/C++, Python, Javascript)
- Solid understanding and application of Service Oriented Architecture (SOA)
- Understanding of scaling and operational concerns for large software systems
- Ability to work in a variety of compute environments (Windows, Linux, AWS)
- Experience with hardware systems
Responsibilities
- Architect, design, develop and deploy software components that help realize Bright Machines vision of Software Defined Manufacturing
- Contribute best-in-class programming skills to develop reliable and scalable micro-services
- Write clean, maintainable code, and perform peer code-reviews
- Participate in architecture design reviews across areas of expertise
- Create unit, integration, and end-to-end tests to ensure we are continually shipping code to production
- Work with other team members to investigate design approaches, prototype new technology and evaluate technical feasibility
- Work in an Agile/Scrum environment to deliver high quality software against aggressive schedules
- Establish architectural principles, select design patterns and then mentor team members on their appropriate application
- Help define and implement standards and promote best practices for distributed software systems
- Analyze and optimize applications to maximize speed and scale
Preferred Qualifications
- Experience with manufacturing engineering systems (PLC, Real-Time systems, device drivers)
- Experience working directly with customers of your software
- Experience communicating with users, technical leaders and management to collect requirements, describe system designs, and set product strategy
- Knowledge and demonstrated application of software engineering best practices relating to the SDLC including coding standards, code reviews, SCM, CI/CD, testing, and operations
- Demonstrated ability to mentor and grow other team members