Software Developer/ Engineer/ Architect

Senior Software Engineer

Senior Software Engineer

To pursue our mission of “helping clients achieve their greatest potential using the power of technology”, we are looking for a senior developer to help us develop and deliver high quality, often business critical projects for our customers using agile methodologies.

Reporting into one of our technical team leads and collaborating with our architects, business analysts and scrum masters you will primarily be responsible for sanity checking backlog items and generating high quality features or entire systems from backlogs, on a sprint by sprint basis, in line with our code quality standards and engineering ways of working protocols.

Collaboration skills are important for this role. Along with your close interactions with the SCRUM delivery team, you will be expected to mentor junior team members and share knowledge with peers in a constructive way.

This role will provide growth opportunities for the right candidate, with a strong focus on professional development. This would be an ideal next step for a developer looking to take their career to the next level.

 

Main Responsibilities

Leadership Responsibilities:

  • Actively contribute to an agile mindset and a positive working environment within the team.
  • Actively participate in the creation of high-quality software within agreed project deadlines.
  • Actively contribute to high standards of code quality personally and within the team by utilising and contributing to best-in-class development practices and habits.
  • Coach and mentor less experienced developers on design patterns and development best-practices to support continued development of the team.
  • Ability to have a positive impact on others and communicate openly and directly to individuals or groups at all levels.
  • Ability to communicate and solve complex problems and actively participate and contribute to continuous improvement practices.
  • Demonstrate to other team members a proactive approach to “getting things done”, accountability & ownership and the ability to prioritise your own workload.
  • Strong and effective inter-personal and communication skills and the ability to interact professionally with a diverse group of clients and staff.

Technical Responsibilities:

  • Collaborate effectively with our business analysts, scrum masters and technical leads to assist in the planning, designing, development, testing, and maintenance of our client’s web-based applications.
  • Development of complex and challenging client applications with minimal supervision or guidance.
  • Play a key role in providing realistic estimates of development effort to assist in team planning.
  • Production of solution design documentation in line with company standards.
  • Participate actively and contribute to both great solution design and peer-to-peer code reviews.
  • Champion code quality processes and help drive adoption of same within the team.
  • Perform 3rd line support diagnosing and resolving technical engineering issues, as required.
  • Provide feedback and solutions in relation to application performance considerations or usability issues during design and implementation.
  • Provide assistance to quality engineers and support personnel as needed to troubleshoot production issues.
  • Provide recommendations concerning issues of programmer productivity and software development practices.
  • Demonstrable full-stack development experience using .Net and .Net Core and modern front-end technologies (C#, .NET Core, Angular/React, ASP.Net, Azure PaaS, Entity Framework, IoC).
  • Experience in any of the following areas would be an advantage; Mobile, IoT, Artificial Intelligence / Machine Learning, Data Analytics and Data Warehousing.
  • Ideally Strong experience (5+ years) with object-oriented design and implementation techniques such as Test-Driven development, Enterprise implementation patterns and SOLID principles.
  • Comprehensive understanding of object-oriented and service-oriented application development methodology
  • Experience with building and managing distributed web systems.
  • Experience with source control management systems and continuous integration/delivery environments. Dev-ops experience an advantage.
  • Extensive experience with debugging, performance profiling and application optimization.
  • Experience with agile development methodologies (Scrum, Kanban). Automated testing experiences an advantage.
  • Business model design experience, ideally for both relational and non-relational datastores.
  • Excellent written and verbal communication skills in English as this will be a client-facing role.
  • Self-motivated and enthusiastic.
  • Willingness to travel, if required.