Lead | Senior Full Stack Developer (JHB) (Hybrid)
IT – Software Development
Johannesburg – Gauteng
ENVIRONMENT:
You’re being offered the position of Senior Full Stack Developer for a Community Upliftment Programme based in Joburg. Your main responsibilities include leading and managing the development and documentation of software solutions to support the program’s growth goals while ensuring reliability, security, and robustness. You’ll also collaborate closely with the IT Programme Manager as a technical lead and oversee a software development team. The role requires at least a bachelor’s degree or formal certification in Information Technology, Computer Science, or a related field, along with a minimum of 5 years of experience in software development across multiple teams, with a path towards becoming a software architect.
DUTIES:
Building solutions to high standards:
- Constructing solutions that conform to industry best practices and standards, including but not limited to Solid design principles
- Clean architecture
- Domain driven development
- Test driven development, incl. unit testing during development before code is deployed for QA and testing
- Continuous integration / deployment
- Managed source control
- Security guidelines
- Controlling & minimising technical diversity
- Supportable by being properly documented and code commented (incl. “don’t repeat yourself” [DRY] principle)
- Building user-centric solutions and systems that cohere with and serve the company’s wider scale goals securely with 99% uptime
- Guiding and managing the design and implementation of a comprehensive, future-fit technology system that serves and supports the company’s wider goals Contributing to strategies and systems that maintain the effectiveness and efficiency of company’s technology platforms and systems
Technical leadership and team management:
- Providing technical leadership in the IT team and Company.
- Managing the software development team’s delivery, incl. developing technical specifications and designs, allocating work, reviewing code, and managing deployments etc
- Delivering consistently high quality and proactive service
Performing and developing professionally:
- Delivering consistently high quality and proactive service
- Delivering an affordable and sustainable set of solutions on time Estimating work accurately
- Ensuring code and delivery meet quality assurance standards for accuracy and performance
- Staying up to date with industry and/or other relevant practices, developments, and trends, incl: Information Technology
- Information Networks
- UX Design
- Identifying and completing relevant, valuable training and/or certifications as agreed
Supporting solutions:
- Assist as needed and appropriate to identify, triage, research and resolve production issues
- Ensure support issues are resolved within appropriate and/or agreed timeframes.
REQUIREMENTS:
- Min. bachelor’s degree or formal certification in Information Technology and/or Computer Science or any equivalent relevant degree
- Min. 5 years’ development experience across the software development lifecycle across multiple teams on a path to software architect, including Microsoft stack & environment experience
- Experience managing the full software system delivery and lifecycle, incl. technical design, construction, deployment, and support
- Experience managing a software development & delivery team (at least 3 people)
- Advantageous Leading mobile development & implementations at scale (especially across low-connectivity contexts)
- Experience in CRM implementations
- Experience in UX trends and current design strategies and technologies
- Fluency in an African language
General Knowledge & Understanding and/or Skills & Abilities:
- Appetite to manage a small software development team
- Excellent software development lifecycle management
- Solid understanding of OOP
- Solid experience in Agile development methods
- Ability to analyse / decompose complicated problems in developing solutions
- structure a solution, model the data, and design & build appropriate components
- Advantageous: Knowledge of IT infrastructure and networks
Technical Knowledge & Understanding and/or Skills & Abilities:
- Microsoft stack & environment experience needed
- Dynamics 365 development
- C# .Net / ASP.NET / MVC (Required)
- SQL (SSRS, SSAS, SSIS, T-SQL)
- Entity Framework, Web Forms
- Dynamics CRM Plug in Development
- HTML 5
- JavaScript / REACT
- Node
- CI/CD tools and techniques
- USSD development experience is advantageous.
- BI and Reporting (SSRS, PowerBI)
- Data Integration, ETL and Data Migration experience
- Ability to integrate CRM with other systems through GraphQL, REST API and SSIS
- PowerApps and Power Automate experience is advantageous
- Experience managing IT technical support will be an advantage
ATTRIBUTES:
- Excellent professional communication skills Written communication skills
- Ability to present findings
- Strong drive to succeed
- Clear curiosity and track record of learning, including openness to & appetite for feedback