Job responsibilities
- Executes standard software solutions, design, development, and technical troubleshooting
- Writes secure and high-quality code using the syntax of at least one programming language with limited guidance
- Designs, develops, codes, and troubleshoots with consideration of upstream and downstream systems and technical implications
- Applies knowledge of tools within the Software Development Life Cycle toolchain to improve the value realized by automation
- Applies technical troubleshooting to break down solutions and solve technical problems of basic complexity
- Gathers, analyzes, and draws conclusions from large, diverse data sets to identify problems and contribute to decision-making in service of secure, stable application development
- Learns and applies system processes, methodologies, and skills for the development of secure, stable code and systems
- 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 2+ 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
- Demonstrable ability to code in Core Modern Java (Version 11 or higher) (Example: Streams, Multithreading, Collections, and Exception handling mechanism, Lamdas)
- Knowledge of Spring Boot framework, REST API design principles and best practices
- Experience across the whole Software Development Life Cycle
- Exposure to agile methodologies such as CI/CD, Application Resiliency, and Security
- Emerging knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
Preferred qualifications, capabilities, and skills
- Exposure to cloud technologies icluding AWS
- 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
- Experience with any of these Observability tools: Splunk, Datadog, Dynatrace, or Grafana.
- Experience with distributed databases like AWS DynamoDB, AWS RDS Aurora, Cassandra, and Terraform infrastructure-as-code.
- Proficiency in multiple modern programming languages (JAVA, Python, SQL)
- Familiarity with modern front-end technologies