Role Description
Role Title: Developer
Reporting To: Development Manager
Direct Reports: 0
Dept/Section:: IT-Development
Team Size Total: 0
Overall Purpose of Role
The developer produces software and supporting artifacts to the appropriate level of quality (meeting the definition of “done”), as defined by the Technical Lead, in the time scales agreed with project team and the stakeholders. The developer will use agile practices including pair programming, build engineering, estimating, planning, analysis, design, refactoring and TDD.
The Developer is able to take a story from the initial idea through to production quality working software. Developers are expected to be multi-disciplined and capable of working through the complete software development lifecycle.
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
- Simple Design – delivers the simplest design at the last appropriate time
- Define and create technical solutions in the project’s technology and architecture
- Communicate the design in a way that other team members understand
- Walkthrough – will work with BA’s and other stakeholders to demo features/stories
- Spiking Solutions – delivers solution spikes under the guidance of the technical lead
- Incremental Design and Architecture – works to design decisions just-in-time, from the technical lead, is pragmatic on delivering just for the story, whilst meeting architectural constraints/standards
- Performance Optimization – improves performance of the product to meet constraints
- Reporting – produces automated quality metrics and trends to the project manager / technical lead
- No Bugs – ensures working production quality code, creates new automated tests for each bug fixed
- Identify and build developer tests that cover required behavior of the technical components
- Version Control – works to and upholds the team practices of source control
- Build – The product builds (and deploys) all features at all times
- Documentation –Produces the required supporting documentation
- 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
Responsible for:
- Automated Acceptance Tests
- Coding Standards
- Development Tasks
- Implementation
- Release Note
- Supporting Documentation
Special Requirements :
Prime Role Location:
Role Requirements
The skills and experience needed to fulfill the programmer role depend upon the technical complexity of the development, but to play the role, to at least some degree you must:
- Understand XP and Scrum; pair programming
- Be experienced in agile software development
- Be experienced in agile practices
- Be experienced in the domain of the application
- Be experienced in requirements management
- Have good negotiation skills and be able to work with the stakeholders
- Have effective presentation and communication skills
- Be adaptable to change, especially being able to adapt to new events and recover from wrong decisions
- Be objective in accepting work and communicating deadlines
- Be proficiently technical to understand the technical risks and architectural issues in order to support the prioritization of design/architecture evolution
- 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 customers needs
- Be experienced in automated build and deployment and continuous integration
- Be experienced in modern software languages and extremely capable in code refactoring
- Be motivated in the relentless drive of perfect code
- Experienced in java technologies
Success Measures
- Delivery (or exceeding delivery) of business value in each iteration for each story
- Improving (each day) code quality through refactoring
- Improving product quality through demonstration of quality metrics
- Successful sign-off of developed stories through high-quality interaction with stakeholders
- Sound design decisions, through demonstrations to peers and the technical lead
- 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)
- Zero-defect for iteration release
- Product successfully version controlled in line with team source control standards
- Software successfully auto builds and deploys
- Software product performs as expected and the performance is understood
To Apply
Please send all CV’s to recruitment@thehutgroup.com
No Agencies please
Comments are closed.