Job Openings
Senior Software Engineer (Java)
About the job Senior Software Engineer (Java)
Key Responsibilities
- Design, develop and maintain software
- Help design the architecture, and own development of major initiatives and modules.
- Work in cross-functional teams with product managers, UX designers and QA engineers to ship software on quality and on time.
- Help level up the team; share knowledge, conduct code and design review; drive code quality and process improvement initiatives.
- Write code that you are proud of, with extensibility, scalability and performance in mind.
Desired Skill Set and Attributes
- Have a degree in computer science or an equivalent related field (bachelor/master).
- At least 8 years of server-side development using Java with a solid foundation in object-oriented analysis and design.
- Experience in Spring framework(Spring Boot, Spring MVC, Spring Batch, JPA)
- Good knowledge of TDD and Unit Testing frameworks i.e. JUnit, TestNG, Mockito; Knowledge of Selenium will be considered an advantage
- Have experience working with SQL DBs, writing custom queries and designing schemas
- Knowledge of cloud computing platforms (AWS)
- Proven expertise in the JavaScript ecosystem and used frameworks like ReactJS and Angular where you apply your in-depth knowledge in JavaScript and/or TypeScript.
- Experience in microservices reactive architectures
- Experience in service-oriented architectures (REST, SOAP)
- Professional experience working in an agile development environment.
- Working Knowledge in Mobile Development for IOS / Android (Bonus)
Soft skills
- Start-up mindset
- Understand and practices the 12 Agile principles & 4 core values as stated by the Agile Manifesto
- Must be a team player, someone who is unconcerned with titles and hierarchy in our flat organisational structure.
- Someone who is really excited about problem-solving and delivering innovative technology that carries real business value.
- Ability to work hard and under pressure
- Good communication skills in English
- Always thinking of ways to improve the current system
- Willing to spend a significant amount of time understanding the business in parallel with IT knowledge
- Ability to solve problems in an efficient/innovative way