Lead Developer Reports to:
Technology - ContentLocation:
London HFR DEPARTMENT DESCRIPTION
The Technology department is charged with establishing, monitoring and maintaining information technology systems and services to enable business users to carry out their roles efficiently, productively and securely.
The department must stay at the forefront of technology change in order to meet multiple business requirements, provide secure IT infrastructure and proactively support C4 strategic growth opportunities.JOB PURPOSE
The Content development team is responsible for applications and services used by the Channel 4 business to commission, schedule and manage all aspects of programmes - for traditional linear broadcast and on-demand VoD platforms.
The developers in the team design, build, deploy and maintain these systems. We aim to be Agile in our approach, and we encourage automated testing and continuous integration.KEY RESPONSIBILITIES
- Playing a leading role in the Content development team, building new functionality as well as providing support for existing systems
- Working closely with other key team members - including other developers, architects and system-analysts - to design and implement technical solutions to business requirements.
- Supporting the Tech Lead and other Lead Developers on development initiatives.
- Acting as a mentor and providing guidance to other less experienced developers.
- Playing an active role during the design phase of new code and systems.
- Promoting code quality via techniques such as unit testing and code reviews.
- Maintaining code standards and ensuring new code follows them.
ESSENTIAL EXPERIENCE & SKILLSSKILLS
- Self-motivated, with a hands-on, proactive approach.
- Excellent communication skills, and an ability to relate to technical and business staff.
- Able to confidently propose solutions and contribute to designs.
- Able to make collaborative decisions based on discussions and input from colleagues.
- Able to work autonomously, prioritise and multi-task across project work.
- Able to work effectively and with commitment as part of a team.
- Able to work under pressure to meet deadlines.
- Strong C# development skills (ideally with .Net Core)
- Service development using ASP .NET Web API, or WCF
- Good SQL development skills, with a knowledge of database schema design principles
Practical knowledge of:
- Test Driven Development (TDD)
- An IoC container (e.g., Ninject, Unity)
- ActiveMQ or another message bus
- An ORM (E.g., NHibernate, Entity Framework)
- Continuous Integration
- Domain Driven Design (DDD)
- Distributed systems / web services / SOA
DESIRABLE EXPERIENCE & SKILLS
- A solid understanding of Object Oriented concepts
- Experience of building software in an Agile environment
- A thorough understanding of the systems development lifecycle
- Ability both to follow and to produce functional and technical documentation.
- Experience of working in an environment where deliverables cannot be missed, working to tight timescales
- Experience as a provider and consumer of services as part of a distributed architecture.
Practical experience of:
- A modern front-end framework (e.g. Angular, React, Vue).
- AWS (Lambda functions, SNS)
- .Net Desktop development (WPF and/or WinForms)
- Building and consuming RESTful APIs
- Automated testing (SpecFlow, BDD)
- Continuous Delivery/Deployment
- TeamCity / Octopus Deploy / AzureDevops
- Mule ESB