Job responsibilities
- Develop and implement software solutions, employing innovative approaches to design, development, and technical troubleshooting.
- 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
- Gathers, analyzes, synthesizes, and develops visualizations and reporting from large, diverse data sets in service of continuous improvement of software applications and systems
- Proactively identifies hidden problems and 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 advanced applied experience
- Hands-on practical experience in system design, application development, testing, and operational stability
- Proficient in coding in Java, SpringBoot and REST APIs
- Experience in relational databases and SQL (Oracle, Sybase or MS SQL)
- Overall knowledge of the Software Development Life Cycle
- Solid understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
- Passion for building an innovative culture while working in a cohesive team
Preferred qualifications, capabilities, and skills
- Familiarity with modern front-end technologies (ReactJS)
- Messaging/streaming technologies and stream-based architectures (Kafka)
- Cloud-based application design and scaling techniques