Careers

Software Engineer (Messaging Team)

Hampton, UK Full Time
  • Office Location

    Hampton, UK
  • Remote Location

    United Kingdom
  • Salary Range

    Competitive
  • Job Type

    Permanent

What you’ll work on

You’ll work mainly on well-established products, adding new features and extending capabilities as standards and requirements evolve, and debugging issues, while attempting to continually improve the codebases and use of technology over time.

Typical work in the role includes:

  • Implementing new protocol features/behaviour
  • Debugging customer-reported issues from complex deployed environments
  • Enhancing security capabilities
  • Working with servers, gateways, and protocol bridges
  • Improving observability, configurability, and maintainability of systems
  • Contributing to longer-term improvements, including the gradual move towards Rust in newer code

Engineers are expected to understand the problem they’re trying to solve, to question assumptions, and help shape technically strong solutions that solve issues for our customers.

Why this role is interesting

There are many non-obvious engineering challenges that go beyond “send and receive email” messaging. Depending on the areas you work in, you’ll encounter problems such as:

  • Interoperability between multiple protocols and protocol variants in long-lived customer systems
  • Secure message routing and enforcement of security policies
  • Heavily constrained systems in terms of both bandwidth and latency compared to typical Internet-based networking
  • Distributed systems that must continue to operate in the face of partial failures
  • Modernising and evolving mature products without losing their current stability

You’ll be working on software that’s deployed in critical environments, with colleagues who care deeply about correctness, usefulness, and engineering quality. Our engineers are very active in standardisation bodies, and you can expect to be working with a number of standards originally written by your colleagues.

How we work

We’re engineering-led, and the engineering department makes up over 75% of the company. This has several practical impacts:

  • Engineers have significant autonomy and are trusted to own delivery
  • There is very little micromanagement
  • Anyone can shape technical direction and influence product decisions
  • People are expected to talk to the relevant colleagues, understand problems being solved, and use their judgment
  • You can generally use the tools that help you do your best work (IDEs, toolchains, OSs, etc.)
  • Ideas can come from anywhere, and anyone can talk directly to senior technical and company leadership
  • Individual engineers can have a wide-reaching impact
  • We use the expected things like version control, code review, automated testing, and CI, and are continually looking to find ways to improve our use of these systems

What we’re looking for

We’re anticipating junior candidates but are open to candidates of different levels of seniority. We care mostly about ability and interest, rather than a checklist of technologies, and are very open to C++ engineers without previous messaging experience.

We’d expect you to have:

  • A solid professional software engineering experience in C++
  • Confidence working in a large existing codebase
  • The ability to debug problems and work through technical details methodically
  • A self-directed approach, with the ability and inclination to learn, ask good questions, and make progress without continual step-by-step instruction
  • Good engineering judgement and a habit of leaving systems in a better state than you found them
  • Interest in understanding the requirements behind work and a desire to implement a good solution rather than the first obvious one

Other skills that you are likely to develop within the role, but candidates do not need to arrive with, include:

  • Networking and network protocols
  • Email and messaging technologies
  • Security policy concepts
  • Security technologies such as PKI, TLS
  • Containerisation
  • Rust and modernisation work
  • Standards-based protocol implementation

Many other technologies (such as Go, Python, JavaScript, Java, Typescript) are used across the team and wider engineering available to work with. If you have some of these skills already, great, but we care more about your ability and desire to learn.

Location

This role is based in the company offices in Hampton, UK, and can be either hybrid or entirely office-based. Candidates must have the right to work in the UK.

About Isode

Since 2002, Isode has been developing and supporting Commercial Off-The-Shelf (COTS) client & server software for secure messaging and directory systems. Our software is at the heart of mission-critical solutions for Government, Military, EDI, and Civil Aviation customers in over 150 countries.

Our main product areas are:

  • Messaging (Including SMTP and X.400)
  • XMPP Chat
  • HF Radio
  • Directory Services (Including LDAP and X.500)

Our products are based on Open Standards, and we have a strong history of leading the specification and development of Open Standards in our technology areas.

How this benefits you

You’ll be working on complex, real-world engineering challenges in systems where performance, reliability, and security genuinely matter. You’ll own problems end-to-end, deepen your understanding of distributed systems, protocols, and security, and work alongside strong engineers who value doing things properly. It’s a role that will see you continually build and refine your engineering skills.

On top of this, you can expect a competitive salary alongside a strong benefits package including a 15% contributory pension, 28 days holiday plus bank holidays, an additional day off for your birthday, private healthcare, life assurance, and share options.

Ready to apply?

    Please upload a PDF only

    Choose file