Global communications management (software) company in Johannesburg is looking for a C++ Software Engineer to join their team. Note this is not an embedded C++ role.
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
Description
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
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
- Systematic and focused on delivery
- Senior level with 5+ years relevant experience
Desired Skills:
- C++
- Software engineering
- Perl
- PHP