Responsibilities:
At Principal Financial Group, we believe in pushing the boundaries of what's possible. As a Senior Software Engineer, you will have the chance to work on innovative technologies and projects that make a real impact. Our team is dedicated to delivering world-class solutions, and we are looking for someone just as ambitious and passionate to join us!
-
Build, develop, and maintain high-quality Java applications.
-
Implement robust and scalable REST APIs using Spring Boot.
-
Architect and develop microservices with a focus on performance, security, and reliability.
-
Collaborate with multi-functional teams to successfully implement solutions.
-
Optimize and tune applications for performance and scalability.
-
Build and maintain comprehensive technical documentation.
-
Ensure code quality through automated testing and code reviews.
Qualifications:
-
Core Java: Strong proficiency in Java 8+ (preferably Java 11/17+).
-
Comprehensive knowledge of OOP principles, Collections Framework, Multithreading & Concurrency, Exception Handling, JVM fundamentals, and performance tuning.
-
Frameworks & Backend Development: Extensive experience with Spring Microservices.
-
Expertise in developing and modifying REST/SOAP APIs.
-
Proficient with AWS services such as EC2, ECS/EKS (preferred), Lambda, S3, RDS, DynamoDB, IAM, CloudWatch
-
Database Technologies: Proficient in SQL and experienced with relational databases (PostgreSQL, DB2, Oracle), familiar with database optimization and performance tuning.
-
Experience with Git, GitHub Actions, Maven/Gradle, Docker, and understanding of CI/CD pipelines and deployment automation.
-
Hands on experience with AI tools like GitHub copilot, Claude.
-
Testing: Proficient with JUnit, Mockito, integration testing, and automated testing practices.
-
AWS certification for endorsement
-
Familiarity with messaging and event-driven architectures like Kafka/RabbitMQ/ActiveMQ.
-
Experience with observability and monitoring tools like ELK Stack/Grafana etc..
-
Exposure to architecture and development principles such as Domain-Driven approaches, development patterns, and system development for large-scale applications.
-
Familiar with AI SDLC
-
Experience working in Agile/Scrum teams, including participation in sprint planning, estimation, and retrospectives.