|Job Type:||Full Time|
In Core Engineering, we focus on enabling and accelerating industry-leading technologies and practices across the firm. We embrace a culture of experimentation and constantly strive for improvement and learning. We are seeking a highly motivated and hands-on Full Stack developer, capable of driving high quality solutions to difficult problems.
- Work collaboratively to ensure team and organization standards are followed and the team is consistently focused on continuous improvements and sustained delivery.
- Employ simple design and pragmatic implementation techniques to drive business value.
- Pair program with team members to build high-quality solutions.
- Be passionate about technology and constantly seek ways of learning new technology and practices
- Mentor junior team members to progress their technical and professional skills. Be open and actively seeking learning opportunities from more senior team members.
- Bachelor's degree in Computer Science, Computer Engineering or a related field or the foreign equivalent.
- Knowledge and experience working in an Agile environment.
- 5+ years experience working as an Application Developer.
- CSS / LESS / Sass - Expert level implementation skills with CSS, LESS, Sass
- Java - Strong experience working with Java and Spring Boot.
- Git - Strong experience working with an SCM such as Git.
- Maven - Strong experience working with Maven as a build tool including a firm understanding of Maven standards and common practices.
- Database - Strong implementation skills with ORM frameworks like Hibernate/JPA or MyBatis. Must be proficient in SQL preferably across multiple databases.
- General - Comfortable in more than two programming languages with a strong understanding of fundamental web/internet technologies.
- Cloud - Experience with both Private and Public clouds ranging from IaaS to PaaS solutions.
- Engineering Practices
- TDD - Practical experience with unit testing using tools like JUnit and Mockito.
- Refactoring - Experience with refactoring concepts and how they apply when building and maintaining high-quality solutions.
- Pair Programming - Comfortable with the concept of pairing with other team members to solve problems.
- Excellent communication skills in English (both written and spoken forms).