JOB TITLE: Principal Software Engineer
DEPARTMENT: Enterprise Utilities
REPORTS TO: Software Engineering Manager
JOB LOCATION: Remote (U.S. based)
TRAVEL: No
SUMMARY OF POSITION: The Principal Software Engineer serves as a technical leader on the Software Engineering team, driving architecture decisions and best practices for our enterprise customer self-service platform. This role involves deep technical expertise in Java/Spring enterprise development combined with Angular front-end skills, along with the ability to mentor team members, lead complex technical initiatives, and work closely with Product Owners and stakeholders to shape the product roadmap.
ESSENTIAL DUTIES & RESPONSIBILITIES: - Lead architecture and design decisions for enterprise-scale Java/Spring applications.
- Design and implement scalable, secure RESTful APIs and microservices using Spring Framework and Spring Boot.
- Drive front-end architecture using Angular (v13-17) with TypeScript, ensuring maintainable and performant applications.
- Architect database solutions using Oracle, including schema design, query optimization, and data migration strategies.
- Lead integration efforts with AWS services including Cognito for authentication, and other cloud services.
- Design and implement OAuth2/JWT security architecture and SSO integrations.
- Mentor senior and junior developers, conducting code reviews and establishing coding standards.
- Collaborate with product management to translate business requirements into technical specifications.
- Lead technical debt reduction initiatives and drive adoption of modern development practices.
- Contribute to CI/CD pipeline improvements using Azure DevOps and Jenkins.
- Evaluate and recommend new technologies and frameworks to improve development efficiency.
- Document architectural decisions and maintain technical documentation.
MINIMUM QUALIFICATIONS (EDUCATION AND EXPERIENCE): - 7+ years of professional software engineering experience.
- Expert-level knowledge of Java 8+ and Spring Framework ecosystem (Spring MVC, Spring Security, Spring Boot, Spring JDBC/ORM).
- Strong experience with Angular (v10+) and TypeScript for enterprise front-end development.
- Deep understanding of RESTful API design principles and microservices architecture.
- Extensive experience with Oracle or other enterprise relational database systems.
- Strong experience with authentication/authorization systems including OAuth2, JWT, and SSO.
- Experience with Maven for build management and dependency resolution.
- Proven ability to mentor developers and lead technical initiatives.
- Excellent analytical, problem-solving, and architectural design skills.
- Excellent written and verbal communication skills with ability to explain complex technical concepts.
PREFERRED QUALIFICATIONS (EDUCATION AND EXPERIENCE): - Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- Experience with AWS services including Cognito, and cloud-native architecture patterns.
- Experience with Ionic/Capacitor for hybrid mobile application development.
- Knowledge of Apache CXF for SOAP/REST web services integration.
- Experience with JSP, Apache Tiles for legacy server-side rendering.
- Expertise with Azure DevOps Pipelines and Jenkins for CI/CD automation.
- Experience with Jackson for JSON processing and JAXB for XML marshalling.
- Background in billing systems or customer self-service portal applications.
- Experience leading Agile teams and participating in architectural governance.
- Track record of driving technical innovation and modernization initiatives.
Not currently recruiting from California, Colorado, Connecticut, Maryland, Nevada, New Jersey, Ohio, Rhode Island, Washington, or New York
Equal Opportunity Employer
This employer is required to notify all applicants of their rights pursuant to federal employment laws.
For further information, please review the Know Your Rights notice from the Department of Labor.