Computer Science jobs, Engineering jobs,Software Development jobs,
Head of Software Engineering
Job Description
The Head of Software Engineering is responsible for the development of high quality designs and solutions and the integration of these at the Enterprise level. This role guides technical design and the development and maintenance of software and other digital applications or services. The role incumbent will lead a team which will be expected to create prototypes, develop user-centred software, and advise on technical specifications. This role requires fundamentals in engineering practices, an analytical and data-driven approach to problem solving, while following the DevOps model so that teams are empowered to own the full development and support the software development life-cycle. The successful incumbent also has a track record of leading Software Engineering teams, driving outcome-based performance.
Individual will be responsible for managing cross functional agile teams through our full SDLC from estimation to delivery as well as having direct report responsibility for the engineering staff. Successful individual will need to collaborate with Product Management, Design, Quality Engineering, Technical Architecture, and Systems organisations on everything from roadmap estimation to project execution and delivery.
- Able to roll up their sleeves and play a hands-on role while building a world class team.
- Follow Agile methodologies (SCRUM / Kanban)
- Responsible for the development of high quality designs and solutions and the integration of these at the Enterprise level
- Set technical standards and SDLC processes
- Expected to provide guidance and thought leadership for technical design, and the development and maintenance of software and other digital applications or services
- Provide leadership and direction for team of software engineers who are accountable for creating prototypes, developing user-centred software, advise on technical specifications, and who research new techniques. Provide technical and career mentoring for the engineering organization
- Provides sizing and scoping for development work required at the enterprise level
- Operates as a subject matter expert and thought leader across program initiatives. Work with your engineering team and leads to plan and track development of all projects through delivery to production
- Responsible for the software development life cycle, taking the lead on software development projects
- Apply engineering principles for design, development, maintenance, testing and evaluation of software
- Ensure that software development tasks are well coordinated
- Apply knowledge relating to the Architecture of relevant systems
- Balance trade-offs between design and implementation
- Client engagement at the Executive level to drive new products/ features and to ensure operational excellence
- Enable rapid iteration
- Ensure systems are scalable, fault tolerant and robust. Working in an environment that is forever looking forward to preparing for the future. This is due to the platform being highly available with a large customer base that will continue to grow. Experience in this area is highly sought
- Assure that security and accessibility continue to be primary goals in construction of any software
- The solutions are mainly built using AWS cloud infrastructure
- Coordinate estimation of operational costs associated with updated/new functionality with our systems organization
- Cultivate a culture of testing and automation throughout the engineering organization
- Collaborate with the product engineering management (Design, Product, QA and IT) team to improve visibility, processes, and communication mechanisms
- Full stack software development experience and capability
- Experience or comfort working with native mobile apps
- Experience with modern data technologies (Kafka, Kinesis, Snowflake), relational database systems (MySQL) and ability to work with large databases
- Understanding and knowledge of scaling and proven track record of scaling system
- Experience profiling and optimizing code on all tiers of an application
Requirements: Skills, Qualifications and Experience required
- Matric / Degree in Computer Science/ Engineering/ Mathematics or related
- 7 years+ Software Development experience
- A successful track record working as an engineering leader across multiple teams
- Experience leading and contributing to software architecture
- Experience with systems that leverage near real-time data to drive personalized experiences
- Experience working with consumer facing digital products
- Experience with systems which have sophisticated access control/configuration capabilities
- Exceptional written and oral communication skills
- Exceptional critical thinking and analytical skills, with the ability to quickly understand complex systems and data
- Experience balancing managing direct reports and making contributions to the software
- Experience providing project visibility to senior management
- Passion for data driven decision making and continuous process improvement