Senior C++ Developer

Job Title: Senior C++ Developer
Department: Development
Location: South Ruislip, London, UK

Company Introduction

Hornbill creates cloud-based software that helps companies optimize and automate their work, making life at work better for their employees and their customers. Our solutions help IT, HR, Customer Service, and Security teams innovate and transform what they do for their organizations. We are in an exciting growth period and are looking to build on that success.

Job Description

We are looking for a C++ developer to work with our core platform team. The heart of our SaaS solution (hornbill.com) is a layer of web services that underpin our applications. We develop these web services in the C++ language using Microsoft Visual Studio toolset and environment, but we target our platform code for both x64 Windows and x64 Linux operating systems. Your primary responsibility will be to design and develop these application services, building new and expanding existing web services, as well as coordinating with other teams working on different layers of the solution stack.

Ideal Candidate

  • You will be comfortable writing production-ready code.
  • You will prefer to write readable (by others) code rather than using esoteric language constructs that make code difficult to understand.
  • You will prefer simplicity over complexity.
  • You will prefer evolution over revolution.
  • You will care about memory and CPU cycle use.
  • You will have an agile collaborative philosophy, develop iteratively, within a test-driven approach to software creation.
  • You will be eager to help solve problems when production issues arise.
  • You will adapt to existing environments, tools and processes and contribute to improving and evolving the same.

Responsibilities

  • Design, build, and maintain efficient, reusable, reliable, cross-platform (Windows/Linux) C++ code.
  • Sesign and implement performance and quality improvements.
  • Identify bottlenecks and defects and develop solutions to these problems.
  • Help maintain code quality, organization, and automatization
  • Devise and create automated test cases as required

Skills

  • Strong proficiency in C++11, with a fair knowledge of the language specification for C++14, is needed for this role.
  • Thorough working knowledge of the standard STL library, including containers, and algorithms.
  • Familiarity and experience with BOOST libraries would be advantageous.
  • Good understanding of RAII memory management in non-garbage collected environments.
  • Good knowledge of the C++ language including dynamic polymorphism, C++ specific notions, such as friend classes and C++ templates
  • Working knowledge of multi-threaded constructs and use of STL based threading and synchronization natives.
  • Thorough working knowledge of web services architecture and design, including TCP/IP sockets, HTTP(S), XML, XML Schema, JSON and related protocols and standards.
  • Familiarity with Google V8 would be a distinct advantage.
  • Comfortable in a test-driven development environment
  • Proficient understanding and use of source code management tools including SVN and GIT
  • Comfortable with a "continuous integration" approach to software development.

Working at Hornbill

Hornbill creates world class cloud-based solutions that help companies optimize and automate their work, making life at work better for their employees and customers. Our solutions help IT, HR, Customer Service, and Security teams innovate and transform the way they work.

At Hornbill, success means everything. We deliver innovative collaborative solutions, and our passionate, skilled and motivated team make this happen. In turn we offer our staff the opportunity to grow, take responsibility and achieve great things, in the pursuit of their personal and business success.

We are always on the lookout for high calibre people to join the Hornbill family. If you enjoy an exciting and challenging career within a company where you are valued, and can make a real difference, then we'd like to hear from you.

While we take work, and especially serving our customers very seriously, we have fun doing it. Encouraged (but not compulsory) are a combination of social events and team building activities.