The software delivery pipeline is sprint/scrum based with multiple concurrent sprints covering front end, back end and tooling. Our sprints are typically three week cycles with many daily builds.
- Provide accurate estimates for the implementation of assigned feature/function and deliver to those estimates (within the sprint). Attend daily scrum to inform progress of assignments.
- Work with other members of Engineering to design/document holistic solutions to be delivered across our sprint delivery model. Large feature/function is typically delivered in fragments awaiting its final assembly, configuration and enabling in Production.
- Assist in the maintenance, tuning (optimum performance) and issue resolution of production services.
- Implement assigned aspects (formal specification) of the agreed solution within a Test Driven Development approach. Take pro-active steps to ensure high availability/reliability and high performance/through-put of solutions. All coding is performed directly on the trunk (within a SubVersion repository) and within strict guidelines. All service configurations and managed within a well-defined configuration management process catering for multiple environments and service instances.
- Assist in the definition and implementation of development best practice, environments, and tooling. As well as assisting in the evaluation and recommendation of new technologies, platforms, and software.
- Work with 3rd party service providers as/when the need arises.
Essential and Desirable Skills:
- [required] Strong working knowledge and experience of …
- Agile sprints-scrum based software delivery pipeline
- C#, .Net 3.5+, tSQL/SQLServer (2014+)
- Visual Studio 2015+ (with nunit, productivity/refactoring plugins (e.g. Resharper)
- software version control tool; SubVersion (desired), Mercurial, Git, Perforce, etc.
- deployments into IIS and Windows Cluster Manager environments
- project/team collaboration tool (ticketing systems); Mantis, JIRA (desired), Bugzilla, etc.
- Continuous Integration tooling such as TeamCity (desired) and/or Jenkins
- [desired] Experience/knowledge of programming paradigms; networking, concurrency, publish/subscribe, cloud patterns, etc.
- [advantageous]Continuous Delivery experience/exposure; tooling such as TeamCity, WebDeploy, Octopus (desirable), etc.
- [advantageous] Environment configuration management tooling; PowerShell DSC, Chef, Puppet, etc.
- [advantageous] Exposure to Cloud-ification of services, migration to cloud and maintenance/support thereafter.
- Work effectively, both as part of a process driven team and autonomously with minimum supervision.
- Contribute/Support Development with respect to …
- process definition, evaluation, rollout, enforcement and continuous review with respect to our software delivery pipeline
- best practice usage of tooling
- development, build and deployment standards/approaches
- delivery of continuous integration/delivery
- Strong analytical and communication skills.
- Ability to grasp complex scenarios quickly and make educated, critical judgments fast.
- Documentation of process, usage of tools, release audits and similar.
- 3rd level degree in Information Technology.