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

At Hornbill, success means everything. We deliver innovative solutions that have collaboration at their core, and it's our passionate, skilled and motivated team who make this happen. In turn we offer our staff the opportunity to grow, take responsibility and achieve great things, all in the pursuit of personal and business success.

Our success means that we are always on the lookout for high calibre people to join our family. If you'd enjoy an exciting and challenging career with a company that will value you, and if you can demonstrate outstanding ability, then we'd like to hear from you.

While we take work, and especially serving our customers very seriously, we try to have fun doing it. Encouraged (but not compulsory) are a combination of social events, team building activities and, of course, the odd game of Ping-Pong!

Subscribe to our mailing list and keep up with our latest software updates.