Job Description (Job Summary/Roles & Responsibilities)
Our Client is building a banking platform that enables teams to create products at scale and power digitals channels to deliver compelling experiences in a dramatically faster fashion. As a Software Engineer, you will be responsible for designing, developing, and maintaining banking systems that support high transaction volumes with security and scalability. You will work on a range of banking products, including payment systems, data & reporting, and customer account management solutions. We look first and foremost for people who are passionate about solving business problems through innovation and engineering practices. You will be required to apply your depth of knowledge and expertise to all aspects of the software development lifecycle, as well as partner continuously with your many stakeholders daily to stay focused on common goals. We embrace a culture of experimentation and constantly strive for improvement and learning. We welcome diverse perspectives and people who are not afraid to challenge assumptions. Our clients mission is to accelerate the pace of financial innovation and build new financial products. Our client platform streamlines the process of launching and iterating financial products.
Responsibilities:
Function as member of a software engineering team by contributing to software
builds through consistent development practices
Debug basic software components and identify code defects for remediation
Enable the development, support, and monitoring of software across test,
integration, and production environments
Automate deployments in test or production environments
Adhere to security and regulatory requirements
Design and contribute to API implementations
Follow best practices for automated unit, integration and regression testing
Participate in pull request reviews to ensure quality code delivery
Build software as part of a nimble Agile Team where you have every opportunity
impact to team goals and contribute to the overall architecture
Ensure our infrastructure is safely extensible, scalable, reliable and meets SLAs for
both external and internal users
Ensure our software solutions are testable, intuitive, and easy to maintain
Requirements
4+ years of software development, testing and implementation experience
Bachelors or Masters degree in Computer Science, Engineering, Information Systems,
or a related STEM field
Core competencies in modern programming languages such as Golang, Kotlin and/or
Java, including REST APIs, JSON, Kafka, RDBMS & NoSQL database technologies (such
as MongoDB, Redis, & PostgreSQL), Spring Boot, GIT, Jenkins, Linux/Unix,
Gradle/Maven and Agile development methodologies
Hands-on experience in implementing highly scalable, low latency software
applications using multi-threaded, asynchronous & reactive programming
Practical experience deploying containerized software applications to cloud
computing environments using technologies such as Kubernetes and Docker
Basic high availability techniques and implementation knowledge
Experience in profiling / performance analysis of applications
Commitment to modern software practices of continuous Integration,
automated/repeatable testing and collaborative work environments
Ability to think abstractly and deal with ambiguous/under-defined problems,
enabling business capabilities through innovation
Demonstrated willingness to learn innovative technologies and takes pride in how
fast you develop working software
Have excellent written and verbal communications skills
Familiarity with CI/CD automation tools such as Jenkins and GitHub Actions
Desired Skills
Previous experience with payment systems or real-time transaction platforms
Experience in API development for fintech applications
Hands-on experience in full-stack software development is desirable
Education & Certifications:
B.Tech/M.Tech/MCA