Job Description:
Your way to impact
You will be responsible for working with a team of engineers in design, development, testing, and deployment of a range of products on web and mobile platforms.
A successful candidate will have an established background in developing a highly available, scalable, resilient, and distributed systems, with a strong technical ability, excellent project execution skills, excellent communication skills, and a motivation to achieve results in a fast-paced environment.
Your day to day
Work with a team of engaged engineers, product managers and architects to design and develop highly scalable, reliable, features and microservices within the Payments Platform Group.
Being involved in design meetings to propose, discuss, and refine new features and functionality.
Quality champion and ensures good scalable tests for the existing and newly created code to maintain backward compatibility.
Maintain and enhance the existing architectural documentation and create new ones as needed.
Participate in code, design reviews and be responsible for all the CI/CD activities.
Provide suggestions and plan executions to improve the SDLC process.
Proactively identify and mitigate issues before they turn into major incidents.
Exhibit a strong backbone and challenge the status quo.
What do you need to bring
Proficient in back-end development using Java EE technologies (e.g., Java language, application servers, servlet containers, JMS, JPA, etc.).
Strong OOP skills, with ability to analyze requirements and transform into scalable software designs.
Proficient understanding of SQL and other/NoSQL/modern database and storage technologies. Desired understanding of Oracle, JDBC and ORM frameworks (e.g., Hibernate).
Valuable experience with HTTP, REST API's and competent designing and building web services/microservices in a commercial setting. Experience with Design Patterns, MVC and frameworks (e.g., Spring).
Competent in design/implementation for reliability, availability, scalability, and performance.
Competent in software engineering tools (e.g., Java build tools) and best practices (e.g., unit testing, test automation, continuous integration, continuous deployment etc.).
Should be a strong advocate of code craftsmanship, good coding standards and use of tools that will improve the quality of the delivered code.
Excellent verbal and written communication skills.
Demonstrate an elevated level of curiosity, passion for technology, pride of ownership and strive for excellence.