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
- 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
- Participate in all agile meetings & rituals, including daily standups, sprint planning, backlog reviews, demos, and retrospectives.
- Collaborate with multi-national agile development, support, and business teams to meet sprint objectives.
- Provide level 2 support for production systems.
- Learn and applies system processes, methodologies, and skills for the development of secure, stable code and systems.
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
- Proficient in coding in one or more languages - Core Modern Java (Version 11 or higher) (Example: Streams, Multithreading, Collections, and Exception handling mechanism, Lamdas)
- Strong knowledge of Spring Boot framework, REST API design principles and best practices.
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages.
- Overall knowledge of the Software Development Life Cycle, TDD and BDD, proficient writing unit, functional and integration automated tests. Experience using Jenkins, SonarQube, GIT, and Maven
- Hands on experience with microservices architecture, and cloud-native application development, hands-on experience developing in AWS Cloud Platform (ECS, EKS, MSK, Lambda, S3, RDS Aurora)
- Solid understanding of agile methodologies such as Scrum, CI/CD , Application Resiliency, and Security
- Demonstrated knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
- Experience writing streaming applications with Apache Kafka or similar messaging technology.
- Proficient in working with relational and NoSQL databases, experience with Containers (Docker) and Kubernetes or similar container orchestration platform (AWS ECS).
Preferred qualifications, capabilities, and skills
- Developer or Solutions Architect Level AWS Certification
- Experience with any of these Observability tools: Splunk, Datadog, Dynatrace, or Grafana.
- Experience with distributed databases like AWS DynamoDB, AWS RDS Aurora, Cassandra, and Terraforminfrastructure-as-code.
- Proficiency in multiple modern programming languages (JAVA, Python, SQL)