Role Summary

The Intermediate Software Engineer role presents an opportunity to take on more responsibility and become a dependable contributor to the development team. This role involves designing and developing sophisticated applications, writing clean and efficient code, testing and debugging software, and collaborating with cross-functional teams to deliver high-quality products. As an Intermediate Software Engineer, you will also mentor Junior Software Engineers, promote best practices, and contribute to the continuous improvement of our development processes.

Key Responsibilities:

  • Design and develop complex software applications, ensuring scalability, performance, and maintainability.
  • Test and debug code to ensure reliability and functionality, adhering to company standards.
  • Collaborate with team members, including project managers, designers, and other engineers, to deliver solutions aligned with business goals.
  • Document code and maintain clear, organised records of project progress and updates.
  • Meet project deadlines while managing tasks effectively in a dynamic environment.
  • Provide technical support for applications in production, troubleshooting and resolving issues.
  • Mentor Junior Software Engineers by offering guidance, code reviews, and technical advice.

Key Skills and Qualifications:

  • Solid understanding of software design patterns and the ability to apply them effectively to solve complex problems.
  • Proficient in working independently with minimal supervision, while also recognising when to seek guidance or support.
  • Experience with source control tools (e.g., Git) and familiarity with cloud services (e.g., Azure, AWS, or GCP).
  • Strong knowledge of C# / Angular, databases, including the ability to write advanced SQL queries.
  • Familiarity with DevOps practices, including CI/CD pipelines, and collaboration with operations and infrastructure teams.
  • Proficient in writing and maintaining unit tests to ensure software quality and reliability.
  • Strong communication and collaboration skills to work effectively in team settings.

Preferred Qualifications:

  • Bachelor's degree (diploma) in Computer Science, Software Engineering, or a related field (or equivalent experience).
  • 4+ years of software development experience.
  • Knowledge of Agile or Scrum methodologies.
  • Previous experience mentoring junior engineers or working in a leadership capacity.
Send

Message sent successfully

Thank you for reaching out to us. We've received your inquiry and our team will get back to you within 2 work days.
Oops! Something went wrong while submitting the form.