Senior Java Software Engineer - Cape Town Verfied

Salary Negotiable Cape Town, Western Cape Cape Town, Western Cape more than 14 days ago 30-06-2016 7:27:47 AM
28-07-2016 7:27:47 AM
Remuneration Market related based on skills and experience
Location Cape Town, CBD
Job level Senior
Type Permanent


Job Description
Our client has an exciting opportunity available for a Senior Java Software Engineer to expand their development team. The candidate must be comfortable working with C++ components and should possess a solid understanding of design patterns, object oriented methodology and current trends.

Responsibilities
• 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.
Requirements
Experience
• 5+ 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
The 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.