Want to work for an international organisation who is continuously excelling in their current field? Join a team that has presence in more than 30 countries, proving professional and bespoke solutions to a vast array of industries.
The successful candidate will be responsible for the following:
* Development of Telecommunication Services in a Unix/Linux based environment, from specification through design, coding, debugging to deployment
* Effectively using tools and ingenuity to identify and fix defects before they become a problem
* Working in an agile development environment following Scrum methodologies.
* Rapidly addressing issues and fixing defects discovered during testing or in production
* Taking responsibility for software lifecycle management including version control and deployment package creation
* Demonstrating commitment to process, production and maintenance of accurate design and code documentation
* Developing and running unit tests to test existing and new functionality.
* Rendering third line support and rendering guidance material for third party software in a production environment
The following minimum requirements are a prerequisite for applying for this vacancy:
* A bachelor degree in a computer science or engineering/related discipline or an equivalent combination of education and work experience,
* Minimum 4 years' experience working as a Software Engineer, Developer or Programmer
* Experience doing object oriented, back-end development using Java
* Experience with Source/Version control management (Git, SVN, …)
* Experience writing unit tests for software you develop
You will be primarily working with the following technologies and will be expected to learn any technology that you may not already be familiar with:
* Back End: Java, OpenJDK, Docker, Spring Framework
* Front End: HTML, CSS, Bootstrap, vue.js
* Scripting Languages: Python, Bash
* Databases: MySQL/MariaDB, MongoDB
* Build Tools: Gradle
* Version Control: Git, Gitlab
* Protocols: REST, JSON-RPC, XML-RPC, SOAP
* Operating System: Linux
* Other Tools: Gitlab-CI, AsciiDoc, Ansible
Skills and Capabilities:
The successful candidate will possess the following skills and capabilities:
* Analytical, technical and problem-solving skills
* CSS, HTML experience an advantage
* Working knowledge of a Linux development environment, preferably RHEL will be advantageous
* Experience in designing and developing software applications from scratch
* Ability to document, diagram and verbally describe the application architecture and design
* Unit testing of the developed software components
* Motivated, self-starter, who can work as part of a productive, fast-paced team
Preferable but not essential:
* Experience designing and/or implementing high-performance, highly-available and horizontally scalable software.
* Experience doing front end development with HTML, CSS, jQuery.
* Experience with software profiling and optimization.
* Experience with database schema design, optimization and tuning.
* Experience with online transaction processing and or online analytical processing
* Experience with API and Interface design
* Experience with any of the following software and technologies: Typescript, Swagger / OpenAPI, HTTP, REST, Docker, Spring Framework, Gradle, Maven, Ansible.
You will work with a team that is exponentially growing their respected field in the South African. Your skill, attitude and understanding of decisions made in the past will be used to guide this team into the future.
Salary depends on experience but is always competitive plus benefits.
Alternatively if you would like more details please feel free to get in touch providing your contact number to firstname.lastname@example.org for an informal chat about the role.