What would you like to know?
Type your question in here

Careers

True Knowledge is a pioneer in a new class of Internet technology. If you are interested in solving difficult problems at an internet scale apply for one of the open positions below.

Technical Architect Knowledge Processing Developer

In addition to paying competitive salaries, we want everyone who works here to have a financial stake in the success of the business and most employees are also shareholders. This is something we really like. Every employee receives generous share options as part of their remuneration, enabling them to share in our success. We also offer 25 days holiday (on top of the public and bank holidays). To apply please email a covering letter and CV to jobs@trueknowledge.com. Applicants must have a valid UK/EU Passport or work permit.

Technical Architect

Cambridge or London

We are looking for an intelligent, experienced and driven hands-on Technical Architect who specializes in scalable and resilient web-based (or similar) systems. If you want to tackle tough technological challenges then this could be a perfect fit for you. We’re open-minded about which background you come from provided you can demonstrate experience of designing and implementing high performance distributed architectures. C++ experience is required, ideally with Java as well. You are probably the sort of person who reads http://gotw.ca, http://allthingsdistributed.com or http://highscalability.com. Your responsibilities will include:

  • Designing, championing, leading and delivering substantial enhancements to our product architecture to improve performance, scalability, availability and maintainability. This will include spearheading work to implement changes at the software level.
  • Designing tools and approaches to enable us to benchmark and analyze our system.
  • Analyzing the way in which the system will behave under future growth in data and traffic.
  • Recommending and leading the implementation of best practice approaches for creating maintainable and efficient large-scale loosely-coupled systems.
  • Leading developers in implementation of scalability techniques.
  • Solving tough technological challenges within a team who are just as bright as you.

Experience & Qualifications Required:

  • At least 5 years in a world-class engineering environment using Object Orientated (OO) languages including C++.
  • Experience (ideally in a commercial environment) of designing low latency distributed computing systems that have availability, reliability and performance guarantees.
  • Proven ability to architect solutions to complex problems.
  • Strong understanding of multi-threaded programming, ideally in C++.
  • Knowledge of UNIX socket programming and Internet networking protocols.
  • Experience using Boost, the C++ Standard Library, and at least one build system other than make; awareness of the ACE framework.
  • Some experience of using MySQL replication in distributed applications.
  • A good degree in science, mathematics or engineering (minimum 2.1).
  • Proven experience in data sharding and distributed processing.

Skills & Attributes Required:

  • Understanding of distributed algorithms or distributed systems engineering methods, including message-based design and grid computing.
  • You are as passionate about making code maintainable as you are about making it efficient in the places it matters.
  • Knowledge of which bits of C++ not to use, and how to avoid reinventing the wheel.
  • Concise clear written communication skills (ideally demonstrated in your CV!) and excellent verbal communication ability.
  • A creative and positive approach to solving complex problems.
  • Capable of adapting to change quickly and effectively.

Experience with working with virtualized machines (eg Xen/Amazon EC2) would be an advantage too.

Knowledge Processing Developer

Cambridge

We are looking for an extremely bright and naturally inquisitive developer who has a passion for solving complex problems. Our technology depends on our own knowledge base of the world's knowledge stored in machine understandable form, which is used to answer users' questions. The role is about developing tools to enable the mass population of this knowledge base from external sources. Some of these tools are major software applications for which new techniques are being constantly developed. Your responsibilities will include:

  • Writing high quality code in PHP to enable the automated extraction and addition of knowledge from external sources.
  • Sourcing and integrating off-the-shelf solutions.
  • Working as part of a team on improving and developing tools and techniques.

Experience & Qualifications Required:

  • Three years in an engineering environment using Object Orientated PHP.
  • One year's experience coding database-driven applications (preferably MySQL).
  • Experience in the manipulation of large quantities of data.

Skills & Attributes Required:

  • Ability to find inventive solutions to complex challenges.
  • Meticulous attention to detail.
  • A logical and methodical approach, with the ability to prioritise and meet deadlines.
  • Enthusiastic and a willingness to learn quickly.
  • Concise clear written communication skills (ideally demonstrated in your CV!) and excellent verbal communication skills.

Please note this is not a web development position.