Position: Software Engineer
Category: Java
English level: fluent
Years of experience: 5


For the past five years, I have worked directly on scaling the performance of an international maritime e-learning platform. Most of the improvements envolves around breaking down complex entangled monolith system built over a decade ago to a more maintainable microservice architecture. This include system design tasks such as decoupling standalone components and sub-components, general design of system architecture, and establishment of the dependencies of the project. The design generally revolves around domain driven design (DDD), CQRS, and event driven architecture. Furthermore, I worked on implementing the server side functionalities of these systems using mainly Node.js (previously) and Spring-boot Java (currently) and write unit and integration testing using tools such as Jest and Supertest (Node.js), Junit and Groovy (Java). Apart from developing and releasing microservices seldomly, my day to day tasks also involves investigating open issues created by the support team and providing a fix instantenously so that the customers can have a smooth experience.