Overall Purpose of Role
The technical lead is responsible for ensuring that the production of the software and supporting artifacts are to the appropriate level of quality, defined by standards, in a time scale agreed by the project team and stakeholders. This involves directing, motivating, planning and monitoring the development team’s work and the creation of the software and supporting products.
The technical lead role is responsible for the quality of the working software and requires a hands-on, in-depth involvement in the creation of the software.
This role leads the technical design of the system and has overall responsibility for facilitating the major technical decisions expressed as software design in line with the strategic Architectural constraints. This typically includes identifying and documenting the architecturally significant aspects of the system as views that describe requirements, design, implementation, and deployment. This role is also responsible for providing the rationale for these decisions, balancing the concerns of the various stakeholders, reducing technical risks, and ensuring that decisions are effectively communicated, validated, and followed.
The technical lead is an agile practitioner and an expert software designer, they will contribute to the project by guiding the team’s incremental design and architecture efforts by helping team members see ways of simplifying complex designs. The technical lead has a clear appreciation for design patterns.
Technologies
“You will be working on modern Java and open-source technologies, you will be passionate about great technology and delivering business value. Experience in any of the following technologies is beneficial but not essential: Eclipse, Apache Web Server, Tomcat, ActiveMQ, JSTL, J2EE, JPA (Hibernate), Spring (Core, MVC, Webflow, Security), JUnit, JDBC, RMI, Servlets, JAXP, SOA and ESB (Camel), Ruby RAILS, ANT, SVN, Cruise Control, Hudson, SQL Server, JQuery, JUnit”
Main Activities/Tasks
- Develop Technical Vision
- Simple Design – ensures the simplest design at the last appropriate time
- Spiking Solutions – responsible for identifying and delivering spikes
- Incremental Design and Architecture – produces design decisions just-in-time, whilst meeting architectural constraints/standards
- Performance Optimization – improves performance of the product to meet requirements
- Reporting – details the quality metrics and trends to the Iteration Manager
- No Bugs – ensures working production quality code
- Version Control – ensures team follow good practice
- Build – The product builds (and deploys) all features at all times to production standards
- Documentation – Directs and/or produces the required supporting documentation
- Release Planning – assists the Iteration Manager in planning releases
- Planning Game – Provides technical estimation and calibration of technical tasks
- Test-Driven Development – ensures that the team do TDD
- Refactoring – ensures that code gets better each day
- Release Planning – assists the PM and technical lead in planning releases
- Planning – Supports the production of technical estimation and calibration
- Test-Driven Development – Works to the practice of TDD, produces automated unit, integration and acceptance tests, contributes to the development of test cases
- Acceptance Tests – Runs automated acceptance tests to demonstrate production quality code
- Refactoring – ensures that code gets better each day
Accountability/Responsibility
- The quality of the Product with a zero defect rate
- Producing the Architecture Notebook
- The Quality of Build and Deployment scripts
- Adherence to Coding Standards
- Adherence to Development Standards
- Adherence to Refactoring Standards
- The Product Implementation
- The Quality of Performance Test Scripts and Metrics
- The Appropriateness of Performance Test Environment
- The Production of Software Quality Metrics
Responsible for
Special Requirements:
Prime Role Location:
Role Requirements
The skills and experience needed to fulfill the technical lead role depend upon the size and technical and management complexity of the development, but to play the role, to at least some degree you must
- Be an expert in XP and Scrum
- Be an expert in agile software development
- Be an expert in agile practices
- Be an expert in Agile requirements management
- Have good negotiation skills and be able to work with the stakeholders to establish project scope and commitments
- Have effective presentation and communication skills
- Show leadership and team-building capabilities
- Have good time management and triage skills with a history of making sound decisions quickly under stress
- Be adaptable to change, especially being able to adapt to new events and recover from wrong decisions
- Be objective in setting and assessing work, ensuring team buy-in
- Be technical enough to understand the technical risks and architectural issues in order to understand which issues are most pressing and which can be relegated to later iterations
- Share the architectural vision but be pragmatic in the scoping and implementation of plans and scrupulously honest in the assessment of outcomes
- Be focused on the delivery of customer value in the form of executing software that meets (or exceeds) the customer’s needs
Success Measures
- Delivery (or exceeding delivery) of business value in each iteration
- Measuring technical productivity of the team for use in planning implementation tasks.
- Improving (each day) code quality through refactoring
- Improving product quality through demonstration of quality metrics
- Sound design and architecture decisions, through demonstrations to peers and management
- Reuse of sound ideas (not necessarily code) and the sharing of sound ideas and practices
- Delivery meeting non functional requirements, and as such the most efficient means of testing and implementation (of NFR’s)
- A negative trending defect rate, and zero-defect for iteration release
- Product successfully version controlled with demonstrated successful stream strategies
- Software successfully auto builds and deploys
To Apply
Please send all CV’s to recruitment@thehutgroup.com
No Agencies please