Principal Software Engineer

over 2 years ago
Full time role
... more
... more

Job Description

Axiom Cloud is at a critical moment: our customers include several major North American grocery chains, and we are on track to deploy our solution at our 100th customer site in the coming months.  

It’s now a key challenge to build more value-generating features in our products with the quality that our customers demand as we scale up. We are therefore seeking a Principal Software Engineer who will be the definitive software technical expert at Axiom. You will decisively guide the development team through the gauntlet of pitfalls in scaling up commercial/industrial SaaS products. You will also directly contribute to solving the hardest technical challenges we face, which are incredibly unique and varied at this intersection of mission-critical equipment, cloud-native apps, predictive maintenance, and energy management.
 

What You’ll Do

You will work directly with the CTO, the Director of Software, and the software team on the following strategic initiatives:

  • Build, improve, and maintain an ecosystem of software services and APIs designed to manage a fleet of flexible, intelligent, and resilient assets from the cloud to the IoT edge.
  • Lead an Agile development team by tracking tasks, coordinating efforts to unblock the team, finding ways to improve velocity, and developing a feature roadmap.
  • Improve internal tooling and documentation to make the development process more accessible to new engineers.
  • Emphasize a best-practice approach to problem solving and enforce software standards in order to ensure the reliability and robustness of the entire system architecture.
  • Bridge the gap between application development and cloud deployment.
  • Closely collaborate with hardware, controls, modeling, and data science team members to solve real-world engineering challenges.
  • Engineer reliability and scale into our software, moving us from handfuls to thousands of customer sites.
  • Provide guidance and mentorship to our software engineers to support their growth.
  • Promote pair programming to propagate institutional knowledge transfer and reduce single points of failure.
  • Conduct regular code reviews with the team to facilitate quality control and allow team members to exchange ideas.
  • Reduce tech debt by both addressing shortcuts in existing code and minimizing the creation of new shortcuts in feature development.
  • Enable an efficient, rapid development process that is streamlined, repeatable, and accessible to new developers.

 

Who You Are

(a general guide - we can bend these rules for an incredible candidate!)

  • Bachelors in computer science, engineering, or similar discipline (or equivalent).
  • 5+ years developing professional-grade software via professional experiences, personal projects, coding communities, etc.
  • Excellent software design instinct; you should be comfortable working in multiple paradigms, particularly object-oriented and functional patterns.
  • Motivated to contribute at all levels, from strategy to design to management to coding, to a wide variety of software projects, including mission-critical fleet control that employs ML, IoT edge, creative data analysis, and internal/external stakeholder interfaces.
  • Able to learn new technologies and development methodologies rapidly.
  • An enthusiastic self-starter who can work with minimal supervision and generates innovative solutions to tough problems.
  • Passionate about technology innovation, technical management, product development, and commercial/industrial SaaS.

 

Key skills/technologies:

  • Python 3.x
  • git / GitHub
  • Docker (containers, compose, orchestration, etc.)
  • Linux / bash
  • Application development for Kubernetes microservices architecture
  • REST API design and documentation
  • Python unit and functional testing frameworks
  • Agile software development (we use Scrum)

 

Nice to have skills/technologies:

  • AWS application development and troubleshooting
  • TDD frameworks
  • Deployment workflows: CI/CD
  • Data processing, modeling, and analytics tools (Pandas, Numpy, SciPy, Matplotlib, Grafana 5+, Jupyter notebooks)
  • Kubernetes management
  • Databases / storage: Timeseries (influxdb), noSQL (mongodb), object storage (S3)

 

Bonus skills/technologies:

  • AWS application development with a focus on security 
  • Other AWS Well-Architected Pillars: operational excellence, reliability, efficiency, cost 
  • Graph databases / GraphQL
  • Web service software development; profiling & refactoring (Python)
  • AWS IoT frameworks (IoT Core)

 

What You Get

  • Compensation in competitive base salary and equity.
  • “Honor system” PTO policy (no specified limits), flexible work schedule, flexible maternity/paternity leave.
  • Numerous social activities including team happy hours, barbecues, holiday parties, and an annual Halloween costume competition. (Note: we are currently generating a path forward for in-person activities.)

 

The Fine Print

  • We’re a startup. The work is demanding, but we’ll make every effort to find an arrangement that works.
  • Occasional on-call rotation.

Axiom Cloud is an Equal Opportunity Employer and fully subscribes to the principles of Equal Employment Opportunity, to ensure that all applicants and employees are considered for hire, promotion, and job status without regard to race, color, religion, sex, national origin, age, disability, veteran status, sexual orientation, marital or familial status.

Similar jobs