The main purpose of this role is to contribute to the development and maintenance of new and existing applications by collaborating with team members and improving application performance. This position also emphasizes mentoring less experienced team members and migrating legacy systems to modern standards.
Responsibilities:
Collaborate with other software developers, business analysts, and software architects to plan, design, develop, test, and maintain existing and new applications.
Participate in peer-reviews of solution designs and related code.
Support deployment of releases and adhere to the organisation’s development principles.
Develop, refine, and tune integrations between applications.
Plan and implement strategies to migrate legacy code bases to modern standards and technologies.
Coach, mentor, and develop more junior team members.
Resolve technical and application problems.
Provide third-level support to business users.
Key Requirements:
Experience working in a software development role across the full software development lifecycle.
Passion for well-designed, testable, and efficient code using design patterns and quality development principles.
Experience developing medium to large-scale Perl applications.
Knowledge of modern, web-based MVC frameworks such as Mojolicious, Dancer, or Catalyst.
Experience with version control tools like GIT.
Familiarity with unit testing and integration testing practices.
Strong understanding of OOP, MVC, and JSON/XML APIs.
Experience working with relational databases and ORM.
Familiarity with CI/CD tools like CircleCI or Jenkins.
Proficiency in English (B2+).
Work from the European Union region and a work permit are required.
Nice to Have:
Experience coaching or mentoring junior developers.
Familiarity with Agile methodologies.
Experience with cloud-based technologies or services.