Sage Dental is an innovative company focused on shaping the grid of the future through advanced energy intelligence. They are seeking a Principal Software Engineer to lead the development of complex software systems for the electric utility/power industry, providing technical guidance and ensuring high standards of quality and performance.
Responsibilities:
- Leading the design and development of software systems, ensuring that they meet the requirements and are delivered on time and within budget
- Collaborating with cross-functional teams, including product management, design, and quality assurance, to ensure that the software meets the needs of the business and its customers
- Mentoring and coaching junior software engineers and contractors, helping them to develop their technical skills and grow their careers
- Staying up to date with the latest trends and developments in software engineering and incorporating new technologies and techniques into the software development process
- Ensuring that the software is of high quality, reliable, and maintainable, by following best practices for software development, testing, and deployment
- Examine existing code and recommend patches, design overhauls or fixes for broken code
- Collaborating with the Development Leads to define the technical direction of the project and ensuring that the team is aligned with this direction
- Helping the Development Leads to manage the technical risks of the project, by identifying potential issues and proposing solutions to mitigate them
- Supporting the Software Development Lead in managing the technical aspects of the project, such as code reviews, testing, and deployment
Requirements:
- Bachelor of Science in Computer Science or a similar technical field
- Minimum 10 (+) years of experience developing software or SaaS product
- 7+ years architecting, designing, and hands-on coding of large-scale software systems working in a microservices architecture
- Extensive experience in integration projects, designing and implementing APIs with high-volume data exchanges with third-party systems
- Ability to dive into new codebases, generate data-driven decisions for refactoring opportunities, and contribute code
- Possess proven experience architecting, designing, debugging, and coding large scale software solutions. Intimate familiarity with the challenges of scaling and proven experience solving those problems is a must
- Experience working with large volumes of data and integrating machine learning models into a broader software platform
- Proven contributor across the software stack
- Expert level in Python, PostgreSQL, Nginx, Redis, Javascript CSS, HTML5, React, Node
- Working knowledge of Database Design, SQL Queries and transactions
- Experience working with AWS products and services
- Familiarity with containerization technologies such as Docker and Kubernetes
- Knowledge of best practices for deploying, scaling, and managing applications in a cloud environment
- Proficiency in Java programming language and experience in developing applications using Java
- Experience with Spring Boot framework for building microservices and web applications
- Knowledge of best practices for developing, testing, and deploying Java applications
- Knowledge of cyber security vulnerability and penetration testing
- Familiarity with ArcGIS and ArcGIS Javascript SDK is desired
- Experience developing software for the power industry is a strong plus
- Familiarity with Quarkus, a Kubernetes-native Java stack for building cloud-native applications