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
- Works as a back-end software engineer, actively coding with strong knowledge of writing unit level tests using mocking frameworks, as well as automating component, integration and end-to-end tests.
- Hands-On on programming languages (Java, preferably Java 11+) , dependency injection frameworks (Spring/SpringBoot, etc.), microservices architecture, RESTful APIs, web technologies (preferably ReactJS), relational databases (preferably Oracle)
- Participates in automating deployment, releases and testing in continuous integration, continuous delivery pipelines.
Required qualifications, capabilities, and skills
- Bachelor degree in Computer Science/ Engineering/ Information Systems or related disciplines
- Minimum 3 years of experience in software engineering
- Hands-on practical experience in system design, application development, testing, and operational stability
- Proficient in coding in one or more languages (java preferred with spring framework)
- 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
- 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 (e.g., cloud, artificial intelligence, machine learning etc.)
- Experience in System Integration patterns (e.g., messaging, file transfers, API etc.)
- Understanding of distributed systems & security frameworks / standards, data streaming and messaging frameworks (Kafka, Spark, etc.), distributed tracing and monitoring (Prometheus, ELK) , experience with cloud technologies & containers (Docker, Kubernetes, etc.)
Preferred qualifications, capabilities, and skills
- Familiarity with modern front-end technologies
- Exposure to cloud technologies
- Experience in working with tech and non tech stakeholders
- Experience in handling production issue and bug fixes