Senior Software Developer
You’ll design and develop Java applications on a complex platform, and you are passionate about building new product and translating client’s business requirements into specific systems, using latest technology solutions.
You will be responsible for developing and maintaining the company’s highly distributed, high-performance payment system. You have an extensive background in Core Java, incorporating it into open source packages, along with design experience. Also, you are experienced in database model design for high performance systems with proven experience. You’ll be expected to perform analysis, design, implementation, performance testing and tuning, as well as maintenance and support tasks. If you have development experience in payment processing and payment systems that is a huge asset!
You’re great at…
Developing and maintaining resilient microservices applications including analysis, design, development and implementation.
Knowledgeable in API & Microservices technologies and containers (Spring Boot, Istio, Envoy, Docker, Kubernetes)
Experience with database design and development using relational databases, preferably Oracle
Maintain Entity relationship Diagrams, design DB objects for the best performance and Data Lifecycle Management
Participating in system and application architecture.
Creating system design and application maintenance documents.
Developing tools and utilities as needed.
Working with software testing teams and assisting them in maintaining robust test scripts and test environments.
Supporting the operations group in application problem analysis and resolution.
Participating in rotating on-call support when required
Who are you?
You have a University Degree in Computer Science Engineering or equivalent combination of education and experience.
You have 5+ years software development experience; preferably with experience in developing payment system.
You have experience developing Java applications using different frameworks (Spring, Spring MVC, Spring Boot, JPA, Hibernate).
You have experience in building and maintain DDL, SQL scripts, understands database administration.
You have experience designing, writing, securing and consuming REST APIs.
You have experience developing high-throughput, low latency systems.
You have experience implementing high-performance, service-oriented architectures.
You are experienced in Core Java Development (Java 1.7/1.8, Java frameworks, along with other technologies listed below).
You are experienced in Core Java Object Oriented programming with Multithreading experience and understanding of basic Enterprise Integration Patterns and Design Patterns.
You have experience with database structures and implementation using hibernate and Oracle, DB2, Postgress and NO-SQL DB is a plus.
You have an ability to assist with the design and implementation of enterprise level frameworks, broad based functional and technical software solutions.
You have a solid understanding of different types of open source packages, preferably anything Spring, Apache (Hibernate, ActiveMQ, Camel, Http Commons) and data transformation (jaxb2, json, xml).
You have experience with event /messaging technologies
You have experience in creating and understanding UML diagrams/structure outlines.
You have experience with Design Patterns (Abstract Factory, Decorator, Facade, Adapter, Object Pool, Lazy Initialization, Factory Method, Proxy, Chain of Responsibility, Iterator, Observer, etc.).
You have experience in using concurrency models.
You have strong communication skills – verbal and written (technical documentation).
You have participated in the overall delivery of software components as part of an agile development process.