Desired Skills and Experience
- Work in an agile development, to scope, design and implement a variety of resilient and scalable systems.
- Applying development practice (unit tests, code reviews, functional testing, continuous integration & security ) as agreed within current agile team
- Work with sys admin and operations team(s), to handle incidents & maintain existing systems software and the operations they support, including participation in a Rota-based after hours on-call system. Identify and action areas that need refactoring and or deeper test coverage.
- Contribute to design and architectural reviews of new systems and assessing impact of changes on existing systems.
- Advanced knowledge of at least one of Python, Perl, Java.
- Advanced knowledge of at least one of Windows, Linux.
- Experience of working within a demanding environment across a wide variety of systems and technologies
- Knowledge and experience of Agile development methodologies.
- Effective verbal and written communication with small technical and non-technical audiences outside of team
- Ability to mentor & coach junior colleagues on technical issues and problems in specific areas.
- Ability to constructively review and support innovations from others within team.
- Ability to discuss constructive feedback regarding own deliveries and idea.
- Transferable skills to new languages and frameworks
- Demonstrated pragmatic problem solving
- Ability to focus on quality driven software development practices within team
- Ability to assess technical options and propose best based on quantitative comparison
- Ability to identify project and operational risks and discuss mitigations to them in team forums
- Docker
- Cloud Computing, especially AWS
- TDD
- Developing with virtualized environments (KVM, VirtualBox)
- Relational databases: MySQL, PostgressSQL, MS SQL Server.
- Version Control Systems (SVN, Perforce)