"What should we work on?" is probably the most consequential question you need to help your team and company answer. Should we focus on:
fixing bugs that are causing many support calls
building a strategic new feature
implementing a tactical solution that will help bring more customers
re-architecting systems and addressing technical debt
interviewing new engineers
onboarding new colleagues and improving documentation
As an engineer, you can influence that decision to ensure your team provides the best experience for your customers and the best opportunity for the business. Clearly mapping your work to the company's goals and success will give you the motivation and purpose needed to engage with and feel proud of your work. It will likely get you your next promotion too!
Let's discuss how you can make sure the work you do has the best impact by:
learning about your customers and business key performance metrics
better collaborating with other functions in the business
successfully communicating priorities, risks and tradeoffs
1 / 56 Use ← → to navigate
Auto-generated transcript - may contain errors.
Tap a timestamp to jump the video.
I've got my fan club here. There you go. So it's great to be back at Turin. I absolutely adore last year. But let me tell you very quickly a little bit about FreeAgent for those that are not familiar. At FreeAgent, we build accountancy software for freelancers and small businesses.
We currently have almost seventy thousand very happy customers. And we have a team of about one hundred and forty people, and roughly seventy of those are in the product and engineering team. So FreeAgent has been around since about two thousand and seven, but I joined the team almost three years ago as we were getting ready to scale the business.
So the last two years, if anybody here is following a little bit Free Agent, it's really been a roller coaster for us. When I was speaking at Turing last year, I mentioned that we had just recently successfully kind of completed an IPO. And now a year later, we have just actually completed a successful acquisition by the Royal Bank of Scotland after a partnership for the last two years working together.
So there's been a lot going on for us. And while all of this was going on, we've tripled the size of our product and engineering team. We've acquired many new customers from the different channels. We have improved some of our existing features that our customers rely on, but we have also added some great new functionality to the product.
We have tackled some very tricky infrastructure and architecture initiatives, and we've done that all the way while maintaining a pretty impressive Net Promoter Score of seventy and above. So we haven't been sitting around, as you can imagine, believe me. It's been a pretty exciting journey, and we've made many mistakes along the way.
We still don't have all the things figured out, but we have learned an awful lot in the process. And we've been able to do all of these thanks to our amazing team over those years. But I personally couldn't have been successful in my role scaling engineering and improving our product momentum without a great partnership with our CPO, Ron, that you probably saw yesterday during an amazing talk, and our CTO, Ollie.
So together, and obviously with the help of our teams, we have heavily evolved our processes, how we collaborate with each other every day and how we set expectations with the business, with the teams and with every single engineer or anybody in every individual in the business.
So Rowan talked yesterday about our experience balancing, investing in driving growth versus building more core value in our product. So today I want to talk about setting teams up for success delivering on those priorities and influencing those priorities. But I don't want to stop there.
I would like to explore with all of you how this fits with your motivation to do the work as part of a high performing team and the opportunity to grow in your role. So hopefully, I'm assuming this is all of you and you're ready for that.
So everybody's twilight sparkle here. So I have been a software engineer for about eighteen years. So when I started in this industry, I didn't come from a computer science or related background. I was a journalist of all things. So the first few years I was just trying to keep my head above water trying to figure out all this cool thing and how everything fitted together.
And then little by little I started to really get into it and get my head down and start really learning the craft. So I was building things, was breaking things, I was fixing things. But for the last seven years I have focused my efforts not so much on building things myself, but helping others identify what we need to build, what the priorities are, how to prioritize that work and identify what skills do we need to achieve those goals.
So as you can imagine, as an engineering manager, in addition to the infinite amount of requests that we get from the rest of the business and from our customers, you also get a lot of, let's say, interesting reactions and requests from your teams.
And believe me, I've heard all of those things and more at different stages in my career. And obviously, context is king and obviously some of those comments are in at a different level of reason, let's say, depending on the circumstances, but in occasions those interactions to me they show a lack of an understanding of the context and the overall constraints and priorities for the business and what is expected out of yourself, of an engineer.
And I don't blame engineers for this at all. I actually probably did not set very clear kind of expectations and clarity with them, but I do truly believe that with the right context and really focusing on kind of what we're trying to do, we can remove an awful lot of these frustrations and discussions.
So when it comes to implementing things, there's a set of factors that we also need to take into account on top of obviously the product priorities that Ron was talking about yesterday before we can actually firm up those roadmaps and priorities and commitments for a team.
And I think about all those things as risks that we're ultimately trying to mitigate. So the work to address all those things is almost your insurance policy. You might be wasting money and time and putting effort into that but you just don't really want to take the risk in a lot of cases.
You want to make sure that you know those things are covered and that you can sleep at night. And engineers specifically they feel very attached to a lot of these issues and that is because they are the ones normally suffering firsthand the consequences of those things going wrong.
So if we don't take action and we don't prevent those things they will be the ones that will have to go and rush solutions probably at the worst time and in the worst circumstances. So I can see why they get frustrated. So balancing those priorities can feel a little bit like this.
You know, it's hard, and sometimes it's pretty painful. I know it's like it's stressing us anything that give. But fear not, your goal is to get to a more zen and manageable situation like this. You know, imagine this is your exec team, you know, I'm here, Ron is there, with like cute cats, you know, like we're trying to do no harm, we're just trying to balance things here.
And I am so impressed with my GIF game, I bet you, with finding those two things. You should see my history, kind of search history in my browser, like, I'm totally done. But the problem here is that, as you can imagine, there's no default right or wrong answer when it comes to balancing kind of those priorities because their importance and criticality very much depends on the type of business and the context surrounding that specific business at a specific given point in time.
So it's very different if you are a startup or you are a consolidated business, if you're running out of money or you are actually printing cash, if you are building a kind of air traffic control software or you are building software to sell spa treatments.
I mean, constraints are completely different and you might end up doing different things. And without having that context, we might end up wasting kind of a lot of time discussing and fighting over priorities that are just not worth spending time on. And what's worse, while we are spending time on that, we are possibly kind of being blind and neglecting way more pressing issues.
So as a business grows and that's what's happened to us at FreeAgent, it is really impossible to centralize decision making. So you hire a great team because you want kind of to use their skills to help you be successful you don't hire them because you want to tell them what to do, when to do it and how to do it.
So a handful of people around the exec table, they are not in a position to be able to make the right decisions about everything that is going in the business. They are just there to set direction and to kind of set those goals, but they rely kind of in the expertise as well and the smarts of the people in their teams to be able to do more thinking on those priorities to identify threats and opportunities and to make things happen.
But how? How can we do that if everyone else in the business doesn't have the tools that are necessary to come up with your own conclusions and to make the right decisions and learn obviously from those decisions? So this is as you can imagine a two way street.
So for that to work, a business needs to be as transparent and open as possible to how they operate, but everyone else in the business, they need to make a very intentional effort to understand that context and to really, really commit to the processes agreed and commit to improving those processes and continue learning.
So as engineers, that's what we're familiar with, but simply focusing on our technical expertise just doesn't cut it. If you are going to help your business succeed you and you need to give the things that you want to give to your customers and growing your role, you are going to have to pay attention to way more than just your coding chops or the technology that you would like to use to solve a specific problem.
So this is in addition, obviously, not a replacement of the time that you spend in your technical expertise because we're still engineers after all, so we need to be competent at those things as well. So a little bit about myself. So I grew up in Barcelona, and this is me, age four ish, and I believe that I am looking here the coolest that I would ever look in my whole life.
But my parents opened their first cafe when I was roughly that age. And over time, they grew the business and they opened another restaurant. And even when I was very, very little, they were always really, really open with me and my sister about how everything worked in the business.
So I guess they hoped that one day we would take over, but instead of that, we both ran for the hills. But trust me, running a business is really, really hard. Kind of my sister and I were like, see you later, you know, we we don't want to do this at all.
But I I guess I I was really conditioned by my parents very early on to that openness and that's how I built my business awareness. And as I said earlier, my first degree is in journalism and if something drives a journalist is curiosity, is kind of trying to get to the bottom and find of things and find ways to relate that information to the right audience at the right time.
And even though in occasions I have wondered if my lack of a more formal computer science education would be a detriment to my career and the answer is no, it's not. I one hundred percent believe that actually both those experiences in my past have given me more relevant skills to help me succeed through my career as an engineer.
So from day one, even when my technical skills still needed to be very highly developed, I managed to add a lot of value to the teams that I work through exercising that business awareness and that curiosity by helping my teams focus on what was most relevant and exploring other ways of approaching kind of those problems.
But even later when maybe I was the most experienced engineer in the team or when I was a manager in a group focusing on that curiosity instead of judgment I believe kind of helped me really be more successful in my role So I'm a massive fan of Maya Angelou I don't know if you're familiar with her work.
Maya was an American poet and civil rights activist, amongst many other things, and reading her work has really been a great source of inspiration to me over the years. There's quite a few popular quotes from Maya and this is one that has stuck with me for a very, very long time.
So she says that success is liking yourself, liking what you do, and liking how you do it. So I thought that I would try to explain how I see our work along those three areas. And I'll try to give you some examples of how we've tackled those things at FreeAgent and you get an added bonus that I've kind of sprinkled a few more quotes from Maya along the way.
So let's start with liking what you do. So to like what you do, it's important that you gain an understanding of the mission of the business and the values and priorities of that organization. So is that a mission that you can get behind?
Are those problems that you want to solve? And are those values that you align with? At Reaching, we call that our playbook. Is the framework comes from a book called The Advantage by Patrick Lencioni, so check it out. And when someone new joins the company, the first thing they see in the calendar is invite to a meeting with Ed, our founder and CEO, where he goes and covers kind of in a lot of detail all of those questions.
The whole onboarding process is very important to us and it's the best opportunity for us to set that invaluable context with any new employee during the first few weeks. So what will happen is that they'll meet with every single one of the execs to learn about that part of the organization and their strategy going forward.
They spend some time with our support team to hear directly from our customers and they get to learn more about accounting as well which is what we do with our chief accountant M and even if those things are not formalized in your company those are things that you can ask to do proactively just go and reach out but we don't stop there we don't just cover those things with new people We regularly talk about those topics with the whole team during our weekly Friday town hall.
And that's a great opportunity for us to kind of reinforce where we're going as a business, what problems we face and get everybody on the same page and everyone in the business gets to present to everybody else in the company. We even invite some of our customers to come and talk to us about how they're using our software and what problems they have or we get to know more about our customers problems by shadowing support or sales and again there's nothing stopping you from getting to know your
customers better to go and sit with somebody and support or actually go and reach out to your customers directly if you can. So I for example kind of very regularly read our Twitter, Facebook feeds and see what people are saying about our product or when we do our Net Promoter surveys what are the comments, what things do they enjoy, what things they have problems with in the software then that's something that we can all do.
And the last question in that playbook that we were talking about what's important now? That's all about the priorities of the business and when it comes to prioritizing work in product and engineering specifically, we do it by trying to find a balance between three areas.
So the first one is product and technology strategy so that we can continue being relevant in a very competitive market and environment so that we know the product will survive over the years. We invest in continuous improvements to the functionality that our customers are already using, make sure they stay there, don't churn and that they're getting value and we invest as well effort on keeping the systems at the level of service, quality and productivity for the team that we believe is necessary for a growing and premium
product like ours and neglecting some of these areas in the past has caused us quite a few problems. So we try to find a good balance. What we do optimize for is momentum and predictability so that we can set clear expectations with those themes in the business that really depend on us like marketing, sales or support.
So to encourage momentum we constrained ourselves on the time available to work on a type of project. So what that means is that we have to be ruthless in scoping the work that we do and it has to be meaningful enough so that it provides value but it has to be small enough that we can ship it quickly and that we can learn from it without compromising on quality.
And the way that we measure quality is through our scorecards or key performance indicators, our KPIs. And these are just a few examples, not necessarily with real numbers, of some of our product and engineering KPIs. And where things are in the red that's a clear call of action for us to go and do something about that and put some effort or even when it's a number we know that we need to start working on those things because we won't be happy with kind of the alternative.
So with all that information and the overall business goals at hand, each team individually goes away and comes up with a proposed set of work for the quarter that will align with those business goals, but also with the mission and with the strategy of the team.
So all product managers then and engineering and design leads get together across all of engineering about a month before we start the quarter to discuss each team's work around those strategic tactical and cleanup work. And then based on the team capacity and the priorities for the business we prioritize the work across all of the teams and it might be that we are in a situation where we decide that the work that a team had is actually way more impactful but they don't have enough capacity to be able to execute on that so together we kind
of rearrange things to see how we can actually make happen and help each other out and then we turn things around and we plot the expected delivery date of those pieces of work. And what does that is help us visualize our shipping cadence across the whole of engineering.
So this is all about the momentum and we also can see the balance between a strategic work, more tactical work and kind of the small the investments that we do in our platform and keeping things maintainable and that informs kind of the big launches that we do with marketing or then how do we communicate all those small improvements as well and kind of keep that engagement with our customers.
Sales, marketing and support are also part of those sessions so that they have awareness of what we're doing but also to help us prioritize because as in our little bubble we don't have all the answers about what's more important and the result of all those things gets translated to objectives and key results OKRs every quarter.
So OKRs is the framework that we use to be explicit about our goals and focus on our yearly and quarterly kind of cadence. And one of the is also one of the tools that we use to keep us focused on results and to make us accountable with each other.
And then we go ahead, we set our our objectives and key results, and then we make them available to everybody in the team and we keep this course updated and everybody has access to all of them at any point in time. So just to summarize all those things it looks like a lot of process and a lot of things are going on but those processes, those principles, those guidelines that you put in place KPIs OKRs they are all just tools to provide clarity to a team so that they can then truly
go and operate anonymously knowing that they are actually focusing on the right things and that everything that they do counts. It also helps them to know that they are part of a greater mission while preparing them for any possible set up setbacks. We we are all on this together.
So let's go to part two with that. Liking how you do it. So what what is expected from engineers, from managers is a topic that I've been thinking an awful lot in the past few years when trying to figure out what are the qualities of the people that we're trying to hire into the team when I try to provide constructive feedback to people in the team when we're trying to award promotions or kind of manage performance.
And after a few workshop sessions with quite a few people in the team and after studying what other companies are doing, we came up with our engineering expectations or growth paths. And we have a dual career ladder at FreeAgent. We have the engineering manager one and we have the individual contributor, but regardless of where you are and the families and the levels, the expectations across all of the families are grouped around the same categories.
So let me run you through very quickly through this. So the first one is business impact. How closely will you work with other areas of the business to affect business strategy and to really impact the customers? Communication, how do you normally communicate with and who do you keep informed and how you go about doing it.
Domain knowledge, how detailed is your understanding of our industry and what our users need to be able to be successful. Ownership and leadership, and that's more about what are you responsible without direct support. Where do you take the lead normally? Then we have problem solving.
How detailed are your investigations into problems and how well do you anticipate problems? What's going on? There you go. Teamwork. What do you what role do you play in helping your team members achieve their goals? Then we have behaviors. Do you demonstrate the free agent values and kind of do you engage in a way that with the way that the organization operates?
Then you have your technical proficiency and that's where a lot of us put a lot of our focus is what's your level of technical expertise and finally problem solving how detailed as I was saying are your investigations into problems and how well do you anticipate those issues and we understand that not everybody is going to be excellent at all of those things but there's a level of competency that you need to have in each level across all of those categories.
And if you don't match those expectations in one of those areas, you won't get that promotion. So you can be brilliant at a technology, but if your work is always late and never in front of customers then you're not adding value. It's the same if you are not behaving in a collaborative way with the team and things can actually get done because nobody wants to work with you.
You're not getting your job done. Ultimately, are you helping our customers and are you making the business more successful and do people actually enjoy and learn from working with you? And we have little things like this little squirrel and to help us reinforce the value that we put to shipping and kind of make it as straightforward as possible.
So when you join the team the first time that you do your production deployment you get the squirrel and sometimes goes missing and it's like chaos around the office. But what we're trying to do is really remove kind of the ceremony out of deploying kind of anyone in the team can do it at any time because we really want to kind of get that value as soon as possible in front of our customers.
But obviously with great power comes great responsibility so we ask our people to be thoughtful of our customers and our colleagues so please write meaningful tests make sure that you put alert in and that you have things well covered so if there's problems we know how to revert them or maybe go and see our support team in there stand up in the morning if you know you're gonna deploy something that potentially gas can have an impact with customers so that they know that that thing is going on and they don't find out through the customers
instead of from ourselves. So we try to kind of anticipate any possible impact and be kind of mindful and try to mitigate it And this is important because you don't get to think to get to achieve things just by yourself. You do that with the help of other people in the company.
This is a complex system and it requires a lot of people to make it work. So the better that you know each other and understand each other, the better you will end up collaborating. And it's absolutely everyone's responsibility to respect and include everyone and stand up for them when you see any unfair or inappropriate behavior from others.
And this is especially true if you are in a position of power in a team, in a company. Kind of ignoring those things is still a very conscious decision that we make, and it says that you are okay about that behavior when you don't step in.
And if you have the opportunity, it's important that you maybe take knowing each other even a little bit farther, and this is a very professional way, obviously. At FreeAgent, we've been running a strength finder workshops. You can also do Myers Briggs and other things like that.
And we do that to raise self and team awareness and ultimately help the team engage more successfully with each other. So the whole team kind of discovers via personality survey the attributes that makes them more valuable to the team. And then together, they discuss it and maybe they come up together with some actions of how can they make the most out of those differences between the different the people in the team and that's been very successful and we're just completing rolling it out across the whole company.
But Maya's words here that actually is especially on point because we can forget this kind of no matter what we do or say, people will never forget how you made them feel. So those interactions are really, really important to your success in a team.
And finally, but as important if no more, is liking yourself. And this is a tricky one to cover, but it's very critical. Each individual's physical and mental health should be a priority for the individual and for the organization. So take a break regularly, kind of don't hesitate to reach out for help and kind of don't let yourself burn out because it won't help you and it won't help anybody else either and if you are in a leadership position you need to encourage healthy working practices and foster a safe environment for your team and
watch out for signs of people really struggling. Like a free agent, we have a clear fair treatment at work policy. We provide professional services, support services, and we have trained a large number of our employees, both in physical and mental health first aiders.
And as an individual, it's important that you try to spend time exploring and understanding as well your personal values and your strength. And the more those align with the values of the business and your role, the happier ultimately you will be because ultimately you are in control of your personal development and if you don't make it a priority you won't get there and if that aligns with what the business is trying to do you will be able to find opportunities to really kind of speed that
up and to get where you want to be quicker. But don't forget another quote as you learn, as you hit those goals, don't forget to take others along the journey with you because it's way more fun and it's really good for the soul, I promise.
One little topic before we finish and summarize, and this is this is I think Ivana McConnell is going to talk about this later on, but ethics is really likely to become one of the most important topics in our industry going forward. We might not realize, but the decisions that we make every day, sometimes in code, sometimes interacting with other people, can have huge, huge implications.
They can have a big impact in our lives. It can have a big impact in our customers' life, in our colleagues' lives, in the health of the business. Sometimes it can can cause lives depending on what you do, or it can put groups at a disadvantage.
And sometimes all that might be needed to prevent that negative impact is someone asking the right question at the right time. And if we invest on understanding the context of the work that we do, the people that we're working with and kind of we really understand our biases, we will be way more likely to be in a position to ask that specific question or push back if we think there's some wrongdoing.
So think about your personal values and let those guide you. You try, please, your hardest not to compromise on those and that is something that I feel very, very strongly about and as Maya says, courage is the most important of all virtues. Without courage, we can't do anything else and sometimes we need to step out of our comfort zone to do what's right.
So how you decide to engage with your work can really, really make a difference to your future and the future of others. So to summarize, without understanding the mission, the priorities, and without spending the time understanding the risks and the problems that a business faces, whether it's kind of problems that colleagues are having or your customers, you will fail to make the right decisions.
So you really need that understanding to make your decisions count and obviously business transparency is a must but don't let the lack of transparency stop you from being curious and getting the answers that you need to be able to do your job successfully.
Technology is a means to an end what it's in today might be out tomorrow what works today doesn't necessarily need to be changed tomorrow like Jim will tell us about later What matters is the impact your war has and how you make people feel in the process and that's what you will be remembered by.
So how do you feel about all those other complaints that we had at the beginning? You might take those conversations now with a completely different approach. Will you go and fix that customer problem? It might feel that it might not be what you enjoy but it's the right thing to do for the business.
So ultimately be intentional about where you spend your time, kind of start those curious conversations with your team and actively engage with everyone in the business, not just your fellow engineers, and get involved in the processes. They are not there to get on the way, they're there to give you clarity and help you get your job done and provide and seek feedback from others and please, please don't forget Maya's words: help and support others in the process.
Only then you will start to really influence what you will be working on going forward. Thank you.