We are looking for Software Engineers with experience in building high-performing, scalable, enterprise-grade applications.
You will be part of a talented software team that works on mission-critical applications. Software Engineer roles and responsibilities include managing Java/Java EE application development while providing expertise in the full software development life cycle, from concept and design to testing.
Software Engineer responsibilities include designing, developing and delivering high-volume, low-latency applications for mission-critical systems.
■ Contribute in all phases of the development life cycle.
■ Write well designed, testable, efficient code.
■ Ensure designs are in compliance with specifications.
■ Prepare and produce releases of software components.
■ Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.
■ Bachelors/Masters degree in Computer Science, Engineering or a related subject.
■ Proven hands-on Software Development experience.
■ Proven working experience in Java development.
■ Hands on experience in designing and developing applications using Java EE platforms.
■ Object Oriented analysis and design using common design patterns.
■ Profound insight of Java and JEE internals (Class loading, Memory Management, Transaction management etc).
■ Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate).
■ Experience in the Spring Framework.
■ Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC).
■ Experience with test-driven development.
■ Experience as a Certified Java Developer.
■ Knowledge on cryptography (Symmetric and Asymmetric, PKI, etc.).
■ Full-Stack knowledge including knowledge on systems like Docker, Kubernetes, CI/CD etc.
■ Knowledge of NoSQL Databases like Cassandra, MongoDB etc.
■ Knowledge of Apache Kafka, ELK Stack etc.
■ Knowledge on Front-end frameworks like React, Angular, Vue etc.