Position: Senior Software Engineer (Java), Singapore
Company: Supernova Development
Experience required: 5y
Category: Java
English level: upper
Published: 2021-05-01T00:00:00+03:00

**Role & Responsibilities**:

- Design, develop and maintain software that powers M-DAQ systems.
- Help design the architecture, 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.

 **Requirements**:

- Have a degree in computer science or an equivalent related field (bachelor’s/master’s).
- 6-10 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 as 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 current system
- Willing to spend significant amount of time understanding the business in parallel with IT knowledge
- Ability to solve problems in an efficient/innovative way