09.06.2024
Software Engineering Team Lead
Entersekt
South Africa, Stellenbosch
The Ideal Candidate We are seeking a motivated individual who thrives on positively impacting people's lives, fostering team growth, and ensuring meticulous system design and implementation. The ideal candidate is passionate about engineering world-class software systems, possesses a pragmatic approach to decision-making, and excels in technical leadership. The Role As a Software Engineering Team Lead, you will spearhead the development of our products, overseeing a multi-functional team consisting of talented software engineers, a quality engineer and scrum master. Your responsibilities will include driving software best practices, architectural design, technical strategy, and people management. Your focus will be to successfully deliver working software; on time; within budget and at an acceptable standard of quality. Responsibilities As a team lead, we expect you to take responsibility for Technical and People leadership. Technical Leadership In this aspect of the role, we need you to combine your understanding of technology with an appreciation of the issues with which our clients wrestle. You care not only about building and delivering product, but you also care about what gets built. Collaborate with the Product Manager on product discovery work, particularly on feasibility aspects. Provide technical guidance and mentorship to your team members. Lead the implementation of architecture standards in the software; actively contribute to the architecture. Contribute production software to the product (yes, you are a hands-on member of the team). Plan, prioritize and manage investigations and analysis of production issues to restore service; identify and remediate root causes. Coaching&Managing People Manage and communicate the on-call roster for the team. Lead and manage the interview process for vacant roles on your team; ensure the interview panel represents the specific cross-functional role. Ensure each of your team members has an annual development&training plan; provide budget input to the POD Leader for those in your team. Ensure each of your team members receives a meaningful performance assessment (bi-annual) and feedback discussions. Initiate and drive any tough conversations (including poor performance) matters with software engineers to conclusion with support from the People Office, the POD Leader and Software Engineering Leadership. Work actively with Software Domain Leaders to update the Software Engineering career ladder. Drive a collaborative, positive culture (including arranging regular team social connections take place); Own the Team Build budget for your team. Thinking about your typical work week Considering your typical work week, this is how we think you should expect to allocate your time: Coding&Testing: 40% Coaching and Managing: 20% Product Discovery and Design: 20% Recruiting: 10% Architecture: 10% Skills and Experience Successful candidates for this role will generally possess the following qualifications and skills: 8+ years of software development experience with general-purpose programming languages (e.g., Golang or Java), with a proven track record of delivering complex software projects. 2+ years of experience in a team lead or senior engineering role, demonstrating strong people leadership, communication, and interpersonal skills. Proficiency in software architecture design patterns, microservices architecture, and RESTful API design principles. Tangible DevOps related exposure or experience with a focus on secure coding practices, version control systems (e.g., GitLab), and continuous integration/continuous deployment (CI/CD) pipelines. Experience and commitment to working in an agile environment, utilizing agile development methodologies such as Scrum or Kanban to deliver high-quality software solutions iteratively. Familiarity with container technologies (e.g., Kubernetes, Docker, Helm) and cloud platforms (e.g., AWS, Google Cloud Platform, Azure), as well as infrastructure-as-code tools like Terraform. Strong analytical problem-solving skills, with the ability to troubleshoot complex issues and implement effective solutions under pressure. A bachelor's or master's degree in computer science, software engineering, or a related field is preferred, and / or relevant certifications in software development or cloud computing. Personality Attributes Hungry to make a difference at both technical and operational levels. Strong communication skills and a collaborative mindset. Self-motivated with a drive for continuous learning. Innovative thinking with a preference for teamwork. Ability to thrive in a remote-first environment and take ownership of tasks. #J-18808-Ljbffr
Attention! You will be redirected to another site