CareerJunctionZACareerJunctionZA
Back to jobs

Engineering Manager

takealot.com Western Cape 2 months ago
Full-time
Engineering

Your mission, should you choose to accept it:

Guide team development efforts towards successful delivery

Provide technical leadership to team members through coaching and mentorship

Enforce high standards of software quality within the team by establishing good practices and habits

Identify and encourage areas for growth and improvement within the team

Collaborate with other software developers, technical product managers, product owners, and business owners to plan, design, develop, test, and maintain business applications.

Assist in the collection and documentation of user requirements, development of user stories, estimates, and work plans

Prepare reports, manuals, and other documentation on the status, operation, and maintenance of software

Ensure that the team builds applications in accordance with agreed best practices and standards around security, scalability, operations, and testing.

Participate in peer-reviews of solution designs and related code Develop, refine, and tune integrations between applications

Analyze and resolve technical and application problems

Assess opportunities for application and process improvement and prepare documentation of rationale to share with team members and other affected parties

Communicate with leadership regarding progress against plans, issues, and needs Work with other team leads to leverage targeted technologies, processes, standards, and methodologies

Conduct regular 1:1 meetings with each assigned team member to assist with issues and provide mentoring support

Serve as an integral part of the recruitment team for open positions within the team

Provide performance input of assigned team members for the performance enhancement review process

Develop and maintain strong relationships with key stakeholders outside of your area

Strong driver to identify and improve key areas for engineering staff retention

Influences team to adopt current company technology standards

Ensure your team implements on-call rotations and manages their operations effectively

Enables the team to reduce tech debt, automate mundane work, reduce hot desk workload, and build systems for success

The skills we need:

A solutions-oriented, can-do attitude and high-energy

Strong analytical and critical thinking, using data to inform decisions

Capability to present ideas succinctly, in writing and verbally

Passion for learning new skills and appreciation for inventing and simplifying

A curious thinker who understands technical topics beyond the average reader

Comfortable with rapidly changing and/or loosely defined requirements that are refined over time

Thorough understanding of computer science fundamentals, OO concepts, data structures, and algorithms

Qualifications & Experience

At least 5 years experience in software engineering, with at least 2 years in a leadership role

Degree in Computer Science or Engineering or equivalent experience

Experience leading and managing a team of engineers on complex software projects

Experience influencing a team of developers to deliver highly available and scalable solutions

Experience designing or architecting (design patterns, reliability, and scaling) new and existing systems

Experience with stateless architecture design, microservices, and the understanding of the strengths and weaknesses thereof

Experience with full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations

Experience with cloud service providers like GCP/AWS and development in a *nix environment

Strong hands-on experience in Python development, with a mindset for developing optimized code

Experience with creating APIs and using databases (relational & non-relational)