Software Engineer

Location: Nottingham/Flexible


Job Description

Node4 are looking to recruit a software engineer to join the software development team. The team develops and maintains software systems that support Node4’s business (billing systems, quoting tools, internal automation tools) and customer facing systems (customer and partner-facing portals, etc). Leveraging the systems to create real market leadership in customer experience.

We are looking for an experienced software engineer ideally in PHP and Javascript/Typscript (we use Vue.js) who can contribute to the team’s roadmap.

You will have the opportunity to work with new cutting-edge technologies and must be able to work within an agile software development environment.


Key Responsibilities

  • Contribute to direction of technology use, continuously improving software lifecycles, and manage technical debt
  • Participate in the team’s agile process, including planning, daily stand ups, reviews, and retrospective activities
  • Development of features in-line with the development team product roadmap and coding standards
  • Follow SOLID principles to develop well-architected, reusable, testable and maintainable classes and components
  • Write automated tests to ensure code quality remains high
  • Write documentation to ensure that other team members and users can maintain and use any features created respectively
  • Working within a team environment, follow and contribute to team conventions on version control, documentation, sharing of work, and testing
  • Follow team development lifecycles and continuous integration and deployment practices
  • Work with various stakeholders within Node4 to help expose their technology into customer, partner and staff portals at Node4

Essential Skills

  • 3+ years experience in object-oriented programming and design ideally in PHP and Javascript/Typescript
  • Experience building web applications with front and backend components and an understanding of typical design patterns for communication between components
  • An understanding of typical software development practices and workflows
  • Experience with version control technologies, ideally git, and experience following a branching workflow