Job responsibilities
- Executes software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems.
- Creates secure and high-quality production code and maintains algorithms that run synchronously with appropriate systems.
- Produces architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development.
- Proactively identifies hidden problems, patterns in data, and uses these insights to drive improvements to coding hygiene and system architecture.
- Contributes to software engineering communities of practice and events that explore new and emerging technologies.
- Adds to team culture of diversity, equity, inclusion, and respect.
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 3+ years applied experience
- Hands-on practical experience in system design, application development, testing, and operational stability
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages.
- Solid understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
- Demonstrated knowledge of software applications and technical processes within a technical discipline
- Proven expertise in Java programming with a strong grasp of object-oriented principles and design patterns.
- Hands-on experience with Spring Boot & Spring Webflux for developing scalable and efficient backend applications.
- Proficiency in Kubernetes for container orchestration and management of microservices.
- Experience with Apache Kafka for real-time data streaming and event-driven architectures.
- Strong skills in SQL and relational databases, including design, querying, and optimization.
- Ability to design complex systems ensuring scalability, reliability, and performance.
Preferred qualifications, capabilities, and skills
- Familiarity with GraphQL for building efficient and flexible APIs.
- Experience with Java Message Service (JMS) for messaging and integration in distributed systems.
- Knowledge of Spring Batch for handling large volumes of data and batch processing tasks.