Department: Web & Design
Location: Blue Fin Building, London, UK
Reports to: Lead web developer
We are seeking a creative and enthusiastic web developer to join the web & design team in our bright London office. You will help improve our Django, Flask & React-based websites and work with the infrastructure team to deliver solid hosting and deployment solutions.
Our team cares deeply about free and open-source software and supporting the open-source community. We also follow trends in the internet and technology closely. Clear communication is important to us, including writing expressive code and keeping our application architectures simple and easy to understand.
We are looking for someone who has a broad interest in web technologies, is passionate about the internet and enjoys solving complex technical problems. The ideal candidate should understand the full stack of a website application and have experience in at least one server-side language and be willing to learn Python. They should be interested in optimising both code and infrastructure architecture.
There will be many opportunities to create new and exciting projects and learn cutting-edge technologies while working with a broad range of world-class developers. You will be encouraged to help shape the team and have the opportunity to attend conferences and training courses, and to represent the team through blog articles and presentations.
About the team and company
The web & design team has about 15 developers and around the same number of visual and user-experience designers, who all work closely together.
We are based in Canonical’s London office of about 100 employees in the modern Blue Fin Building in Southwark. The office is spacious and provides free drinks, biscuits, fruit, and a comfortable break-out area. We have a relaxed and flexible work culture, and we play a lot of foosball.
We hold stand-ups every morning and work closely together with the designers and the infrastructure team to deliver elegant websites to support Ubuntu and Canonical’s wide portfolio. We regularly work with Canonical’s other software engineering teams and members of the Ubuntu community around the world.
Canonical is comprised of around 600 employees distributed around the world. Our team often works with other Canonical teams who are in other countries and timezones, through remote meetings and online chat. We also bring teams together in company “sprints”, which our team members may be asked to attend, where a number of Canonical teams will get together in a hotel.
What we offer
- A beautiful and bright office with free drinks, biscuits, fruit and foosball
- Work with a friendly and diverse team
- Flexible working hours
- Create work that will be seen by millions of people
- Collaborate closely with people in many roles throughout the organisation
- Help shape and represent a well-respected, rapidly evolving open-source company
- Help shape internationally recognised open-source products
- A generous benefits package including healthcare and travel insurance
- Occasional international travel to all-expenses-paid team sprints
- Support and improve website hosting & deployment systems
- Participate in improving team standards for design, code quality, and test coverage
- Consider and discuss architectural and technical decisions with the team
- Engage in and contribute to our agile software development methods
Required skills and experience
- Experience working in a team on GitHub-based projects
- Experience deploying web applications in a Unix-based system
- Experience writing web or application software in a dynamic programming language
- Willingness to learn Python, Django and Flask, if you don’t know it already
Desirable skills and experience
- Python and Django or Flask
- Knowledge of web application design patterns, code structures and performance practices and techniques
- Experience using or developing REST APIs
- Experience with software architecting and service oriented architectures (SOA)
- Knowledge of software testing & automated integration testing (e.g. Jenkins or Travis)
- Experience with service orchestration tools (e.g. Kubernetes) and containers (e.g. Docker)
- Ability to clearly and concisely discuss technical issues verbally and in writing