O que procura nos candidatos
SOFTWARE ENGINEER (JAVA)
Our Software Engineer works on product and internal initiatives to develop solutions for complex financial problems in an Agile environment. They actively participate in technical designs of solutions and give constructive feedback to improve our products and processes. They understand business requirements and how their work fits into the bigger picture, using this understanding to identify conflicting requirements and to inform decision making.
Our Software Engineer forms part of cross-functional teams and is disciplined in their approach to coding. They meticulously apply best practices to produce the quality code that is required to deliver Highly Available Systems with very high uptime guarantees. Based in Malta, this role brings with it the opportunity to grow as part of a team of highly talented Software Engineers, who together create innovative technologies that are revolutionising the payments industry.
2+ years of experience engineering software in an agile environment
Knowledge of Java-based server-side/backend technologies, such as Spring, Hibernate, JOOQ
Comfortable with using frontend technologies like Angular and React
Preference for test-driven development emphasising well-written unit and integration tests using tools such as JUnit and Mockito; experience with UI test tools such as Selenium is considered an asset
Knowledge of relational (MySql) and NoSql (Mongo) databases
Experience implementing and consuming APIs; familiarity with documenting APIs in RAML or OpenAPI specifications considered an asset
Comfortable with using version control, build configuration and automation (DevOps) tools
Ability to prioritise effectively and focus on delivering solutions on deadline
Ambition to drive change towards improvements in processes and technology
Que funções irão desempenhar
Acquire and maintain an in-depth understanding of the business logic embodied in the software, its development infrastructure and project delivery process
Maintain proficiency in domain technologies and techniques; research and communicate alternatives trending in the industry
Deliver high-quality software features, following best engineering practices and guidelines, and delivered within reasonable time frames
Participate in design and planning phases and make effective engineering decisions
Diagnose and resolve issues and defects identified in code
Identify risks and dependencies, communicate assumptions
Help others learn and grow by providing technical guidance and mentoring within your area of expertise, actively sharing knowledge within your domain
Ensure that your work is reviewed by other members of the team
Quais os benefícios oferecidos
to be discussed.