Our client, a leading software solutions company with offices in Stellenbosch, currently seeks to hire a Developer (Hardware-Software) to join their agile team. This will be a 3 month fixed-term contract.
Minimum requirements:
- Relevant Tertiary education
- At least 5 years’ experience in programming
- Must be proficient in programming design patterns and OOP
- Must be proficient in web applications and services such as Slack, Google Web Apps, Mediawiki and Trello
Technical Skills Required:
- Be competent writing technical documentation
- Be proficient in Embedded programming – linking software development with Server development (PHP – Docker environment)
- Be proficient in Hardware development and Server level coding (middleware)
- Be proficient in C, C# and C++
- Have experience with webpage integration and wireless system operation (nodes, etc)
- Be proficient in PCB assembly to create prototypes, solder, and program
- PCB’s, and be able to compile the final assembly sheets, BOM and required diagrams.
- Be able to read surface mount components
- Be able to read through hole components
- Be able to program Atmel microcontrollers
- Possess experience using Arduino
- Be confident in developing and maintaining complex business solutions.
- Have experience in Implementing scalable software and hardware solutions.
- Use and add abstract database structures and source code.
- Have a good understanding of PHP and PHP based frameworks and can adapt to working on existing, custom frameworks.
- Have a good understanding of Front-end frameworks like React, Nodejs, Bootstrap, etc.
- Understand any of the following technologies:
- PHP, TypeScript, Javascript, JAVA, MAVEN, NGINX, Propel, Composer, NPM/Yarn package managers, GIT, HTML5, CSS3, GULP, SASS, MYSQL, PostgreSQL, Redis and Command line knowledge
- Have a good understanding of Database architecture like, Mysql, Cloud Sql, PostgreSQL
- Have experience building web applications using micro-services working with rest API’s
Advantageous requirements:
- Knowledge of the enterprise software domain Official
- Experience in Banking IT, Fintech, Emerging Payments or Card Payment Technology
- POS Terminal programming
Main duties will include, but are not limited to:
- Assist the current development team with the increasing number of projects that range from low-level driver software to abstract web services
- Evolve complex enterprise management systems and utilize the latest industry standard container management systems to help scale and automate the full lifecycle of hardware and software on a resilient infrastructure
- Become a champion of the infrastructure and utilize emerging industry standards to scale client solutions
- Upgrading of existing in-house software packages that assist with managing and reporting across all areas of the business
- Help design and build tools that can assist with the monitoring, testing and maintenance of the latest software and its underlying infrastructure
- Assist with the maintenance and upgrading of mature software platforms that power all our solutions
- Help design new and capable systems that can replace some of the legacy solutions
- Assist with typical software development where available development capacity is not sufficient
- Assist with the automation of the evolving Unit Tests + Regression Tests + Frontend Tests (Selenium) that QA assists with
- Assist with the development/utilization of systems that can keep workflows and shipping of new products on track, ensuring that they pass quality and unit tests
Desired Skills:
- PHP
- C
- C++
- OOP
- PCB
- C#
Desired Work Experience:
- 5 to 10 years
Desired Qualification Level:
- Diploma