Head Of Software
Understand, plan and lead pioneering solutions and the delivery of creative technology and marketing technology solutions on client engagements
Be responsible for architecture, designing and developing, and documenting complex system and software application architectures.
Work with clients to understand their technical challenges and ambitions, define strategic technology choices and oversee the implementation of solutions.
Work across the businesses in the South Africa region and travel across the region on a sometimes-weekly basis will be required and acts internally as a Head of Engineering and externally as a Senior Pre-Sales Technical Consultant.
· Understanding client’s technology challenges & solutions.
· Working with Heads of Business and C suite to demystify and simplify technology challenges & solutions.
· New & organics business.
· Identifies new opportunities and ideas for clients.
· Assist business development and project teams in scoping and estimating project work.
· Ability to present complex ideas in clear, concise manner to technical and non-technical groups.
· Avidly seeks out new technology solutions.
· Actively Identifying new FS technologies & identifying potential relationships / partnerships.
· Actively presents new technology to internal teams and client.
· Work to define & deliver agile and waterfall methodologies.
· Promotes the value of project processes and establishes these processes on a new project.
· Educates and ensures that team follows processes defined and assesses completeness of work.
· Identifies the limits of the tools being used and provides recommendations for projects.
· Follows standard policies and procedures; recommends improvements as appropriate
· Utilizes object orientation design principles in creating complex custom software solutions or
· modifying package solutions.
· Defining architecture, responsible for reviewing code and ensuring the quality of code.
· Participates in extending knowledge of their area of specialization within the company.
· Lead technical teams on projects and responsible for mentorship and guidance to technical
· team members in all project activities.
· Write technical documentation, white papers, and presentations.
· Hands-on with software development and implementations.
· Understands the impact of proper planning, design, and architecture on the solutions:
· scalability, performance, extensibility, maintainability, etc..
· Translates the client’s business requirements and challenges business designs and creates
· alternative business design solutions.
· Strives for a deep understanding and expertise with the tools being used.
· Educates and ensures that team follows processes.
· Defines and assesses completeness of work.
· Ensuring that the product vision is realized through excellence in execution.
· Make sure that all the trains run on time.
· Promotes quality & is a nit-picker about testing unit, functional, Integration,
· load/stress/performance and security tests.
· Responsible for co-developing the technical strategy with the CTO, and for developing and maintaining a technical roadmap that will continue to innovate from a technical standpoint.
Technical Team management
· Build, train, mentor a world class team.
· Develop best in class working relationships with outsource teams.
· Responsible for ensuring that the team stays on schedule and participates in regularly scheduled meetings to discuss account plan(s), opportunities, risks, etc.
· Supervises employees as necessary directly or in project teams.
· Sets engineering standards for the team. (documentation, code, and quality).
· Reviews team’s estimates and assesses how project risks will impact estimates.
· Knows how to estimate work units, how to manage the agile development process and how to get the most out of their teams.