Matt Hill is an experienced developer/designer who recently joined FutureLearn as a Front-end Developer. In this post he shares some thoughts about his first month working on the FutureLearn platform, compared to previous roles delivering client solutions.
I’ve been lucky enough to have worked in digital for over 20 years. In that time I’ve been involved in hundreds of client projects, ranging from small week-long projects to large projects lasting many months.
Joining FutureLearn is a new experience for me: it’s the first time I will be working on the long-term development of a well-funded digital platform. So what’s different about working at FutureLearn compared to working for an agency delivering client work? It turns out that there’s loads, but I’ll look at four areas that stand out the most:
- A culture of collaboration
- Openness and transparency
- Prioritising quality
- Lots to learn
A culture of collaboration
A big problem I’ve experienced in agency work is the lack of deep collaboration between team members. A typical example is that designers and developers often don’t work closely enough and end up working in silos, throwing their work over an imaginary wall at each other and expecting great results to be handed back. Anyone who’s experienced this will tell you that it doesn’t work.
At FutureLearn, better collaboration between designers and developers is achieved through their product teams. A product team is responsible for developing a distinct part of the FutureLearn platform. Currently these product teams are Discovery, Premium and Learning Experience, and each product team contains designers, developers and a product manager.
I’ve joined the Learning Experience team and found that the day-to-day collaboration far exceeds my experiences in agencies. Team members work together in a variety of ways, including:
- Sprint planning
- Slack chats
- Group meetings
The level of trust and understanding that everyone has within the team seems deeper and more honest than my experiences in other companies. There’s a refreshing lack of politics: everyone is working towards the same goals, so the petty conflicts that I’ve experienced elsewhere just don’t seem to exist here.
Everyone is very happy to answer questions or take time out of their own schedule to help others. Staff are also encouraged to:
- Write blogs and articles
- Give talks
- Attend presentations
- Share whatever they think is valuable to the company
These activities encourage people to put their individual strengths into the team melting pot, from which everyone benefits.
One of the best experiences I had was in my first week: an internal Barcamp that had team members teaching each other everything from how to solve a Rubik’s cube to how to complete a cryptic crossword. While those sessions may not contribute to FutureLearn directly, the team atmosphere was incredible and the Barcamp received a unanimous verdict of “Awesome!”
I can’t think of any company I’ve worked for that has built so much of their culture around collaboration and sharing. It really is a breath of fresh air.
Openness and transparency
Openness and transparency are the ubiquitous buzzwords of our time. Yet there’s often been a lack of transparency in the agencies I’ve worked in. Smaller agencies tend not to be as open with their staff, and a company’s long term goals and targets are often unclear. This can create a closed culture which can encourage a “them and us” attitude, which really misses one of the main benefits of working in a team.
FutureLearn makes a lot of effort to be transparent. In my first few weeks, I attended all sorts of meetings and presentations, many of which looked in detail at the FutureLearn vision, targets and long-term goals. Everyone is trusted to know this information: not just because it’s interesting (and it is), but because it helps the team to really feel like we’re all working towards a joint goal.
As part of my induction, I was also invited to many introductory meetings with key members of staff. These were 30-minute sessions where new staff learn about the details of a specific function of FutureLearn and are able to ask questions. I’ve attended several of these sessions in my first month and as a result, I now have a good grasp of the inner workings of FutureLearn.
The experience was a revelation: I’ve never had this insight so early on working for any other company. Yes, it’s costly in terms of people’s time, but it’s extremely worthwhile and helps to embed new joiners quickly into the FutureLearn culture.
When everyone understands what we’re working towards, and has the same motivations for doing so, we can work much better together. It might sound obvious, but a shared vision can only be implemented when the vision really is shared.
Most agencies would like to have more time to deliver client work, but often it’s simply not possible due to short deadlines and tight budgets. There’s often less time for planning and strong demands to ship things that are “good enough”. This approach, while highly productive, can have negative outcomes:
- It can produce inferior work
- It may disappoint clients
- It contributes to unhappy staff
FutureLearn recognise this and places more emphasis on doing things well than doing them quickly. The platform development is run according to agile principles and features are deployed when they’re ready. Sprints run for two weeks, and while the intention is to complete a number of stories in a sprint, it’s not a failure if those stories aren’t completed.
This agile approach allows people up to spend more time on the deep thinking required to make the FutureLearn platform robust, delightful and future-proof.
The ability to take our time over the development of the platform should not be underestimated. It’s a powerful motivator to know that you can do your best work when the time pressures are somewhat reduced. Of course, that’s not to say people aren’t working hard. Far from it, the buzz of activity is almost tangible and it’s a great feeling to share completed work with both colleagues and learners using the platform.
Lots to learn
Of course, there are also frustrations when starting a new job. My first month at FutureLearn has been really good, but there’s been a few bumps too.
In previous jobs when I’ve started, there’s often been pressure to deliver production-quality code before my first tea-break. This can be easier to do when using a familiar workflow, such as creating front-end templates from PhotoShop files. As a result, I’ve always expected to contribute from day one.
At FutureLearn, though, it’s not been possible for me to be immediately productive. Why? Lack of knowledge and lack of context.
The FutureLearn platform is huge, and there’s too much that I needed to understand before I could deliver production-ready code.
It didn’t help that my technical knowledge was different: I was coming from a Windows platform, and FutureLearn is all Mac based. I’d also had no experience with Ruby or HAML, and my Git experience was limited. This lack of knowledge created stumbling blocks to my productivity and left me feeling frustrated that I wasn’t contributing soon enough.
Thankfully, I’ve been assured that this is absolutely normal. No-one is expecting me to understand every line of code within my first month. I need to learn to accept that this initial period is for me to get up to speed in understanding the platform and codebase. I guess having high expectations of myself can sometimes cause frustration, but it’s nice to know that I am being given the time to find my place and grow into the role.
In my first month, I’ve been enthused and impressed by the FutureLearn culture. It’s refreshingly collaborative and I’m really excited to see how my role will unfold in such a progressive and open workplace.
Want to know more about what it’s like to work here? Check out more of our “Making FutureLearn” posts.