Overview Our client is currently looking to expand our development team, and are looking for an expert senior Java developer who is comfortable working with C++ components. One must possess a solid understanding of design patterns, object oriented methodology and current trends. The candidate will be expected to design, develop, test, document and support applications written in Java as well as a few applications in C++ running on Linux. Minimum applicant’s requirements as follows: Experience: •3+ year’s recent development experience. Formal qualification is a plus. •Exposure to the full software life cycle. •Experience developing high performance, scalable, reliable applications. •Proven experience meeting deadlines and delivering quality code. •Proven experience working in an Agile environment •Development skills •Strong OO development skills in core Java •Multithreaded, stand-alone server application development •Inter-process communications using TCP/IP sockets •SQL, relational database design and JDBC, preferably with MySQL •Strong JVM configuration and tuning experience •Following skills are a bonus, not a requirement: •Java Server Pages (JSP) •Java ME •FireFly, Glassfish, Spring, karaf or OSGI framework. •Design patterns •Communications protocols •Test driven development (TDD) •Linux •C++, Delphi, PHP or other language experience. •Strong OO development skills using C++ (not C or C#). •Experience with CMAKE •Understanding and practical use of the C++ standard template library. •Strong, practical, Linux skills (Red Hat and/or Centos is advantageous) •Development of multi-threaded, server side applications, using C++ •Inter-process communications using sockets (TCP/IP & unix sockets) •SQL and relational database design (MySQL advantageous) •Following skills are a bonus, not a requirement: •Boost and ACE libraries •Design patterns •Communications protocols •Test driven development (TDD) •Familiarity with Source control tools like Subversion and/or Git •Memory leak detection tools like Valgrind. Competencies/Skills required •Applicant must be able to interact and work with a dynamic and ambitious team. • Well-spoken with good interpersonal communication skills. •Positive and motivated attitude. •Applicant has a strong ethos of writing high quality applications they are proud of. •Strong problem-solving skills. •Team player with genuine interest in technology. •Can work with little supervision, proactive and takes on responsibility for code and applications developed. •Ability to practice consistent delivery, to a high standard, in a stabled environment.