Software Engineer – Ref 878


Are you excited about how digital services are changing the world? Would you like to be a leader in that change? We are looking for enthusiastic Software Engineers with experience of delivering web scale APIs or managed services for connected devices.

Come and talk to our new team recently created to deliver innovative Digital Services.

 

Main Role

This role will allow you to specify, design, develop and test exciting new software systems for large-scale ‘connected device’ platforms using a variety of cutting edge technologies.

You will work closely with technical architects and provide input at all stages of the development lifecycle from early concept development through live end user pilots through to the roll-out of live commercial services.

We would expect you to be involved in multiple projects simultaneously, taking responsibility for sharing and delivering the tasks required.

 

Type of Work

Digital Services is a new initiative for Cambridge Consultants; one that builds on the extensive range of work by the company in connected devices, data analytics and integrated systems across many sectors and with clients from around the world. Working closely with other groups in Cambridge Consultants we seek to deliver exciting new services in medical, consumer and industrial sectors as well as to drive forward the servitization of the company’s own IP.

We combine excellent technical and commercial skills with robust service design and evaluation methods and a broad base of industry experience to form a powerful development team. Our work ranges from undertaking complete service platform development and operations from concept, pilots and commercial launch, through to providing consulting services for our clients on their technology, product offering and future strategy.

 

Responsibilities

Your responsibilities will include:

  • Design, implementation, integration, unit testing and documentation of high quality, robust, secure, maintainable and scalable software systems using a variety of technologies.
  • Contribute to overall system architecture and the technical decision making process.
  • Scoping and estimation of software engineering tasks both during formal project definition phases and day-to-day agile development activities.
  • Work with product managers and user experience designers to understand client needs and the wider aims of projects.
  • Ensure that software engineering tasks are carried out in line with best practice methods and standards.
  • Support the deployment and maintenance of your software within large scale operational environments.

 

Requirements

To fill this exciting role, you will be a talented and experienced software engineer with strong knowledge of the underlying principles of computer science. You will be capable of learning new languages and frameworks quickly and be able to apply them to solve complex problems.

In addition:

  • You will have relevant experience of the development of server software systems within large scale, secure platforms servicing millions of users.
  • You will have in depth knowledge and experience of a range of programming languages and paradigms including C/C++ and JavaScript.
  • You will have developed highly concurrent, asynchronous server-side components and will be totally comfortable with multi-threaded code.
  • You will have extensive experience of implementing ‘service oriented’ architectures and RESTful services using a variety of technologies and frameworks.
  • You will have in depth knowledge and experience of a range of DBMS technologies such as Microsoft and Oracle as well as open source alternatives such as PostgreSQL and MySQL.
  • You will have an excellent understanding of systems integration, networking protocols and cloud infrastructure.
  • You will have experience of implementing user interface designs for both web and desktop using a variety of technologies and frameworks.
  • You will have an excellent degree in Software Engineering, Computer Science or a related numerate discipline.
  • You will have excellent communication and collaboration skills.

 

In addition, any experience of the following would be advantageous:

  • Experience in connected device projects.
  • Experience in software development for highly regulated uses such as medical and financial.
  • Experience with or desire to learn Node.js in a production environment.
  • Experience with NoSQL / “Big Data”’ stores such as Apache Cassandra and/or MongoDB.
  • Experience of software development on smartphone platforms such as iOS and Android.
  • Experience in an agile software process.
  • Experience leading teams.