Global communications management (software) company in Johannesburg is looking for a C++ Software Engineer to join their team
The core responsibility of a C++ Software Engineer is to design, build and extend high quality applications for the clients CCM Platform. You’ll work closely within a team of remote developers to bring products to market, leveraging your experience and strong technical knowledge
Duties & Responsibilities:
Design, create and extend, high quality, testable software that meets specifications, follows coding standards and is easy to maintain
Participate in software design discussions to define solutions for complex business requirements
Test and peer review code for technical accuracy, standards, and functional compliance to the design Work in an agile development environment
Assist with creating project plans, breaking down requirements and estimating tasks
Identify and proposes areas of improvement throughout the software development process
Desired Experience & Qualification
Core competencies:
Expert level C++
Object Oriented Analysis and Design
Multi-threading and concurrency
SQL
Agile
Control Versioning Software (git)
Test driven development techniques (TDD)
Excellent communication (verbal and written) skills
Advantageous Experience:
Perl, PHP
XML, JSON
Client / Server architecture
Service-oriented architecture
Relational database design
Web Servers (e.g. IIS, Apache, NGINX)
Experience developing Operating System agnostic software (FreeBSD, Linux, Windows)
Proficient knowledge to work throughout the stack on middleware, front end and database technologies
Personality / Experience:
Enthusiastic and self-motivated
Ability to work independently
Able to communicate effectively with remote global team members