The developers at The Company are responsible for building and maintaining our product and systems platform and must be capable of contributing at every level of the SDLC, including :
Critically analyse business requirements in order to produce a technical design and collaborate with business and system analysts on issues and challenges
Perform system design - designing for performance, scalability, maintainability and cross-browser / cross platform UI
Develop and maintain systems that achieve the business goals and focus on quality and testability
Drawing up test plans, understanding scenarios and furthering quality automation goals
Planning of configuration management and deployment
Maintaining production systems and software
Performing continuous analysis and improvement on existing development processes and procedures
Engage in active knowledge-share, code review and team mentoring where appropriate
The following key skills and experience will be looked for in the candidate :
At least 5 years of experience in end-to-end application development (data model, architecture, database, application and operational components).
A relevant 4-year university degree, preferably in Software Engineering or Computer Science.
Experience in modern client-side web frameworks, such as AngularJS or Angular.
Understanding UI design and how to implement a UI to optimise the end-user experience.
Must have excellent analytical skills and the ability to identify problems, gaps and contradictions.
Able to pick up new skills and knowledge through self-learning.
Able to understand the need for trade-off decisions and knowing how to make the correct trade-offs in collaboration with their team.
Technologies and practices
The ideal candidate will need solid experience in the following technologies and practices :
Design patterns and S.O.L.I.D. principles
Strong understanding of object-orientated principles and practical implementation thereof
Unit testing and test-driven development (https : / / en.wikipedia.org / wiki / Unit testing)
Test frameworks / runners like Jasmine and Karma
REST API concepts and best practices
Angular2+ and the Angular CLI (we are migrating to Angular2+)
HTML and CSS
Personality and disposition
The candidate must exhibit the following key personality traits :
Have high work ethic and be able to work under pressure, with emphasis on quality and attention to detail.
Be able to work independently with little supervision when necessary but understands the value of team work, in an environment that strongly encourages team work.
Have proven ability to manage concurrent and complex tasks on a regular basis.
Possess strong problem-solving skills and decision-making ability, stepping up and taking initiative when necessary.
Have excellent written and oral communication skills, follow-through and attention to detail.
An openness to work with others and build on team input. The individuals cannot be myopic in their outlook. Strong teamwork will be required.
Be willing to admit when wrong, owning mistakes and seeing them through to correction. Is not driven by ego but rather the success of their team.
A drive to get things done, irrespective of obstacles. The individual must be committed to meeting any deadline that they commit to, regardless of obstacles.
An ability to see possibilities beyond the obvious. Innovation is a key dimension.
The ability to deal with complexity and migrate between detail and high level requirements.
They must have a pride in their work and a desire to deliver perfection at all times.
They must have a passion for technology and technical developments.
They must read broadly and keep abreast of the latest technology trends.
The individual must have a strong desire for self learning and be prepared to make the investment in learning and self-development.
BSc, Bsc Eng
At least 5 years solid experience in a client-side web framework such as AngularJS or Angular
Must be in possession of a valid South African work permit or be a South African citizen.