Senior Java Software Engineer
Summary
Designs, builds, and maintains Java-based back-end systems using Spring Boot, Oracle databases, and REST/SOAP services while ensuring security and scalability.
eThe Senior Software Engineer - Java is responsible for designing, developing, and maintaining Java-based applications. They collaborate with a team of other developers to create high-quality and innovative software solutions
Duties and Responsibilitie
- Collaborate with development team, product managers and cross-functional teams to ideate software solutions and deliver new features
- Communicate with clients and service providers to align the technical requirements
- Design and develop high-performance and scalable back-end systems
- Develop and manage well-functioning databases and applications
- Create security and data protection settings
- Write clean, maintainable, and efficient code
- Test software to ensure responsiveness and efficiency
- Debug and fix software issues
- Write technical documentation
- Stay up to date with new tools and technologies to continuously improve the back-end systems
Candidate Requirement
- Bachelor’s or master’s degree in computer science or a related field
- 5+ years of experience as a software engineer
- Strong understanding in areas of software engineering such as Algorithms, Data Structures, Object Oriented, Design patterns, Software Architecture, Database Design, UML etc
- Experience with Java Spring Boot and Oracle databases
- Experience working with webservices generating and consuming SOAP and REST services
- Experience applying APIs security techniques like JWT, Spring Security, OAuth2... etc
- Good Knowledge in data security, encryption/decryption algorithms like RSA, AES… etc is a plus
- Experience working with Oracle Weblogic, Apache Tomcat as application servers
- Experience working with Oracle Fusion Middleware technologies (OSB, Oracle BPM, Oracle UCM) is a plus
- Good Knowledge in SOA architecture and microservices architecture
- Experience with Git, BitBucket resource control
- Working knowledge on Linux Systems
- Understanding of software development methodologies (e.g. Agile, Scrum)
- Excellent problem-solving and debugging skills
- Excellent team player and has leadership skills