What are the responsibilities and job description for the Principal Software Engineer position at i3 Verticals?
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