Job Specification: Technical Lead Developer
Purpose
This Technical Lead Developer is responsible for CODE QUALITY.
As a member of a SAFe Team, the Technical Lead works on Customer Projects or Core Product Delivery Teams. The Technical Lead supports the DPM by modifying, developing, testing and maintaining application systems.
As a subject matter expert in Development, this role will be able to write quality code, drive the solution design within the team, be delivery focused, knowledgeable on established best practices and coding standards and be the “reference book” for the team.
Job Specification
Key Roles and Responsibilities
Mandatory Skills / Abilities required to do the Job
Purpose
This Technical Lead Developer is responsible for CODE QUALITY.
As a member of a SAFe Team, the Technical Lead works on Customer Projects or Core Product Delivery Teams. The Technical Lead supports the DPM by modifying, developing, testing and maintaining application systems.
As a subject matter expert in Development, this role will be able to write quality code, drive the solution design within the team, be delivery focused, knowledgeable on established best practices and coding standards and be the “reference book” for the team.
Job Specification
Key Roles and Responsibilities
- CODE QUALITY
- SDLC - Leads or helps to lead project teams to design, develop and test enterprise-ready business applications in a variety of configurations (e.g. web-based, desktop-based, service-based or scheduled processes).
- BEST PRACTICES - Understands industry best practice related to coding and tools & understands established best practices.
- DEVELOP – Write quality code, set an example of quality for the team members. Gain team’s respect by producing quality of code and applying own practices
- CODE & PEER REVIEWS - Uses expertise and mentoring skills, alongside practices such as code reviews and code analysis, to ensure the team adheres to best practice when developing solutions.
- SOLUTION DESIGN
- Designs, plans and oversees the development of entire solutions from scratch, or solutions that integrate with third -party applications, or that interact with existing legacy systems. Justifies design and development decisions based upon industry experience.
- Helps Database Developers design databases and ensures the Development Team writes efficient, effective database access code in line with best practice.
- Owns, researches, evaluates and fully understands potential technical solutions to business problems
- Must have a very good understanding of the solution architecture
- Removes technical impediments
- Set reasonable expectations for the team members
- QA/TESTING
- Works with QA Analysts to develop and implement testing plans.
- Ensures the team writes the necessary code to automate testing in line with the Test-Driven Development (TDD) methodology.
- EXPERTISE
- Has well-established knowledge of programming languages and tools in general;
- Also has an understanding and recognition of where other appropriate tools are more applicable.
- Be a “reference book” for the team
- MANAGEMENT
- Perform technical management
- Build & maintain high team morale
- Be role model for the team
- Actively foster knowledge sharing, to avoid centralization of knowledge and avoid creating dependencies on any single person in projects
- Mentor & raise skill levels of team members
- Motivate team members, especially when working under pressure with tight deadlines
- Maintain quality deliverables, on time, to agreed expectations
- Be approachable to assist with any functional or technical concerns
- Maintain a balance between technical and leadership functions
- ROOT CAUSE ANALYSIS
- Ensure the root causes of systems issues are diagnosed effectively by working with the team to improve their problem solving skills and build upon their knowledge of existing systems.
- COLLABORATE - Working collaboratively within the Agile development team:
- As a technical expert, works collaboratively with DPM, Architects, Developers, Product Owners, Business Analysts, QA (Testers) to identify and specify business requirements and derive the design of the related solution, and ensures these are translated into technical specifications (including Class, Sequence and other UML diagrams) by the Development team.
- Works alongside customers and DPM to ensure quality, effective software is delivered regularly by the team, in line with the SAFe (Agile) Development process and methodology.
- As a member of the team, to assist and enable other team members to meet sprint deliveries according to the requirements set.
- Participate in Planning Meetings, Sprint Planning Development Cycles every 2 weeks and Daily Standup meetings
- Provide and document the technical design solution for the Developers to code.
- Deliver according to the Definition of Done and the Definition of Ready.
- Update JIRA with accurate information to identify risks/issues proactively at the sprint level
- Constantly looking for ways to increase the teams’ velocity/productivity by eliminating the waste.
- Support the development process by assisting and mentoring Developers to understand the technical solution.
Mandatory Skills / Abilities required to do the Job
- Technical Skills
- Generalist with the following core competencies and a proven track record in:
- nTier Enterprise Development - Frontend, Middle Tier & Database
- C#.Net & .Net Entity Framework / nHibernate
- Presentation Layer (UI) – ASP, HTML, CSS, BOOTSTRAP
- Scripting – JAVASCRIPT, JQUERY, PERL
- Databases – MS SQL or equivalent relational database (SYBASE, POSTGRES)
- WINDOWS Operating Systems
- Testing Tools – nUnit or exposure to any testing tools preferable
- Generalist with the following core competencies and a proven track record in:
- Self-starter, able to manage individual responsibilities and also contribute successfully to team deliveries on complex, long-term projects.
- Practical problem solver with strong analytical ability and abstract thinking
- Able to devise and drive innovative design solutions
- Maintains strategic vision within their work
- Provides technical leadership and motivation to development staff
- Able to document information and share knowledge within team & across company
- Able to maintain customer focus with all deliverables (own & team’s)
- Strong interpersonal skills. Listening attentively to requirements, in depth questioning, interpretation and ability to see the holistic view of the business and assess technical impacts accordingly.
- Excellent verbal and written communication skills. Able to document and present the results of technical design clearly and concisely.
- Able to Multi-task and manage multifaceted design projects (dual track)
- Technical and Leadership talents
- Analytical thinker
- Critical thinking skills
- Delivery focused – deadline driven and adhere to Sprint deadlines
- Take initiative
- Structured approach to work
- Team Player – must be able to work collaboratively with the SAFe Team members
- Keen attention to detail
- Flexible/adaptable/approachable and willing to work in rapid changing, high delivery environment.
- Integrity & Professionalism
- Stays focused and retain prioritization skills under pressure
- Energy & personal drive to succeed
- Self development to keep abreast of industries best practices, innovation and evolution in software development as well as technical toolsets
- Ideally an IT Diploma or related Degree will be an advantage but is not essential.
- Minimum requirement is Matric with at least 5 years of on the job work experience.
- Retail exposure would be an advantage
- Experience in using Agile (SAFe) methodologies will be an advantage.
- Exposure to Enterprise development preferred