Senior / Mid Software Engineer iOS - News and Weather
The BBC’s News(1) and Weather(2) Apps are two of the most well-known, well loved and most widely used apps in the UK, with many millions of daily users on each platform. We have been named Editors Choice by Apple for both apps, and consistently rank in the top 5 in our category.
This is your opportunity to work with us on the next generation of these products.
We started as a very small team based in London (New Broadcasting House) and have grown to over ten developers on each platform, working right alongside backend, product, design, test and project management.
As the team has grown we have also realised that we should not be limiting ourselves to just being London based and as such have made deliberate changes to our working practices to better support colleagues working from other BBC offices. This role opening in Glasgow is a natural extension to that and part of a wider strategy to build a strong BBC Design & Engineering / News presence in the Glasgow Pacific Quay office.
Why do we need such a large team?
We face a problem of changing news consumption habits, especially with younger news readers. We know that our current users, those millions we talked about earlier, absolutely love the BBC News app, and that it serves their needs fantastically well. So far, so great...
But, we also know that for millions of others the way they consume news is completely different now and that the existing app does not meet their needs. So, the “next generation” of our app will be our answer to not just discovering, and meeting the needs of this new audience, but to bringing both existing and new users together through a well considered, thoroughly tested, highly personal, experience.
Of course, this is no trivial thing to achieve and will require us to rethink everything from the features of the app, to the way it’s architected, to the speed we deliver to the, well, you get the idea.
Now do you see why we need you to join us? :-)
What do you get in return?
We offer competitive salaries, flexible hours, remote working and a high degree of autonomy through our Pods-based team structure. A Pod is a semi-autonomous team of cross-functional members formed around a specific task, framework, or other clear purpose. Pods change overtime and nobody is expected to stay in the same Pod for any longer than they want to.
The BBC puts great value into learning and development and you’ll have the chance to attend conferences - both internal and external (such as perhaps WWDC, Swift Island or App Builders) - as well as immediate access to online material such as our objc.io subscription and LinkedIn Learning membership.
We also offer unique opportunities to grow your career and skills through the BBC Academy(3) - a treasure trove of online and classroom courses (some with accreditation) that can teach you anything from Building Microservices on AWS to Big Data And Machine Learning Ethics to How To Write A News Article.
Ever get home at night and want to do nothing more than just watch iPlayer with some fast food? Us too. That’s why we created Learning Day. Each Sprint we set aside an entire day to allow you to explore your own ideas and career development. Want to learn some Kotlin or experiment with SwiftUI? Well, Learning Day is your chance.
We take our responsibility as a public service very seriously and so we take our time to not just talk about things like accessibility, localization, ethics, privacy and security, but to do them to the best of our ability.
You’ll also get to work with a team that is genuinely diverse, within a supportive organisation. We encourage and celebrate that diversity and champion inclusivity in everything that we do. For example, we’ve written about how we created our Team Charter(4) and the different Communities(5) we are building within the team and business.
As part of that commitment we offer placements to people on the BBC’s Graduate(6) and Trainee(7) programs providing those still in the early phases of their career a chance to contribute and learn with us. If you join us you can help by offering mentoring, buddying, pairing and/or coaching (Not sure yet how to do those things? We have a BBC Academy course for that!).
There is also a wider community of practice for sharing ideas, code, food and drink with our friends in Sport, Sounds, iPlayer, and Childrens Apps. We travel to meet each other in our respective cities, we attend (and sometimes speak at) internal/external conferences together, chat on Slack and comment on Pull Requests on GitHub.
How do we work?
Just like everyone else, we follow an agile approach. But that commitment to agility is much more than just lip service...everyone in every Pod has a responsibility to help maintain their own Pod backlog, with the support and guidance of the wider team.
You’ll also be asked to lead retrospectives from time to time, maybe lead a Pod if you want, help out with job interviews, present your work at team catch up (or even a Town Hall event) and, yes, handle support enquiries from the wider business.
Not sure we’re doing things as well as we could? Then just tell us. Everything from SwiftLint rules to how/if/why we write JIRA tickets has been raised and debated and changed.
This is your team and we have found that it runs best when everyone believes that we are all doing the best job we can, given the knowledge at hand, our skills and abilities, and the resources available.
We value work/life balance as a crucial part of a healthy team, so you can expect some concerned looks if you start opening Pull Requests on a Sunday morning or firing off emails on a Friday night. We also have trained Mental First Aiders in the department if you need them and a private support line if that suits you better.
What do we need from you?
First and foremost you’ll have got to this point and be wanting in on what you’ve read so far.
You’ll be excited and enthused by the opportunity to work on a project of this scale, with new and emerging technologies and practices, to help evolve our apps whilst maintaining their position as market leaders.
You’ll understand, and be able to enthusiastically communicate about building native iOS apps in 2019. Whether that’s about how to use Instruments to track down a problem or the right time to use an optional, protocol, struct, class, enum or even, shhhh, inheritance.
But you’ll also know that the best teams are not just about the code. If you read about the many opportunities to contribute back - whether that’s to improve our ways of working or having the chance to teach others - then you’re probably going to like it here a lot.
As a Senior Engineer you will be involved with all aspects of the software development lifecycle and be an important member of the team in formulating, influencing and articulating on all technical matters relating to the team. You will have the skills to be able pair, coach and mentor other team members and be active in promoting best practices within a software development discipline.
You will be able to pick up and participate on large-scale pieces of work that will require close collaboration with colleagues both within the team and across the wider BBC technical community.
Are you the right candidate?
You may have experience of some, but not necessarily all, of the following:
- Writing iOS mobile applications using Swift (required)
- Common design patterns such as MVVM, MVC, POP, OO and DI
- Developing maintainable code following clean code principles
- Test Driven Development (TDD), Unit Testing, User Interface (UI) Testing and/or Integration Testing
- Best-practice user experience (UX) for the iOS platform
- Consuming HTTPS based services
- Dependency management (we currently use CocoaPods)
- Source control systems (we use Git)
- Leading teams, projects, or large-scale pieces of work
- Continuous Integration/Deployment in mobile apps
- Comfortable working in a data driven decision making environment
Contract type: Perm
We’re happy to discuss flexible working. Please indicate your choice under the flexible working question in the application. There is no obligation to raise this at the application stage but if you wish to do so, you are welcome to. Flexible working will be part of the discussion at offer stage.
- Excellent career progression – the BBC offers great opportunities for employees to seek new challenges and work in different areas of the organisation.
- Unrivalled training and development opportunities – our in-house Academy hosts a wide range of internal and external courses and certification.
- Benefits- We offer a competitive salary package, a flexible 35-hour working week for work-life balance and 26 days holiday with the option to buy an extra 5 days, a defined pension scheme and discounted dental, health care, gym and much more.
About the BBC
We don’t focus simply on what we do – we also care how we do it. Our values and the way we behave are important to us. Please make sure you’ve read about our values and behaviours in the document attached below.
Diversity matters at the BBC. We have a working environment where we value and respect every individual's unique contribution, enabling all of our employees to thrive and achieve their full potential.
We want to attract the broadest range of talented people to be part of the BBC – whether that’s to contribute to our programming or our wide range of non-production roles. The more diverse our workforce, the better able we are to respond to and reflect our audiences in all their diversity.
We are committed to equality of opportunity and welcome applications from individuals, regardless of age, gender, ethnicity, disability, sexuality, social background, religion and/or belief. We will consider flexible working requests for all roles, unless operational requirements prevent otherwise.
To find out more about Diversity and Inclusion at the BBC, please click here