C++ Software Engineer
Job Title: C++ Software Engineer
Location: South Africa, Johannesburg or Cape Town
The core responsibility of a Software Engineer is to design, build and extend high quality applications for the Striata platform. You’ll work closely with our UX design team and fellow developers to bring world class products to the market, leveraging your experience with client/server technologies and strong technical knowledge. You have an ability to foresee the solution early-on and have a successful history of delivering well-designed and stable software in a lead position for previous software project teams. You enjoy the added responsibility of setting the technical direction for a project and are comfortable debating the technical merits of your decisions.
- Design, construct and extend high quality applications for the Striata platform.
- Consume and take ownership of existing Striata projects and tools.
- Adopt, improve and drive Striata coding standards and processes.
- Contribute to the elimination of waste within the development environment.
- Manage the overall quality of software produced for your allocated projects.
- Maintain a high level of professionalism.
- Deliver high quality software and innovation in a predictable and timeous fashion.
- Work within the software development team in an agile development environment.
- Produce high quality requirements documents and effectively prioritise and manage the scope of each of your features/products.
- Drive Striata’s culture and values within the team.
- Expert level C++ development skills.
- Experience in scripting.
- Experience defining product requirements, collaborative working within a software development team and delivering high-impact products or services.
- An understanding of what is required to predictably deliver high quality software.
- The breadth of knowledge to confidently work throughout the stack on middleware, front-end and DB technologies.
- Experience in server-side development.
- Experience in design patterns, object orientated design, multi-threading and concurrency.
- Experience working in an Agile (scrum based) environment, a commitment to the Agile ethos and success in delivering software using Agile techniques.
- Experience in developing OS agnostic software.
- Ability to confidently work using the command line within Linux and FreeBSD.
- Experience using test driven development techniques (TDD).
- Experience using git for version control.
- Experience working in an environment that has successfully implemented continuous integration (CI).
What we Offer
- Opportunity to work within a small, highly professional, highly skilled development team
- Ability to make a direct impact on a world class platform and its users
- Our explicit commitment to high quality software engineering – we do it right.
- A solid company with a vibrant culture
- Autonomy, mastery and purpose in one package
- Competitive salary and benefits