My Infinity War: The Mind Stone
July 8th, 2024 - 19 minute read
âThe Mind Stone - grants to the user powerful mental abilities, like the power to subjugate the minds of others, bending them to the will of the user. The stone was also said to greatly increase the intelligence of those capable of wielding itâ
If only there was a mind stone in my possession when joining Infinity Works, that would have fast tracked my career somewhat :-)Â In all seriousness, this has been a huge part of my learning and development over the last 6 years or so and I wanted to share some of my thoughts and insights with you around the differences between a software engineer and a software consultant, and how learning a set of key skills can be a game changer in your career and help you to start subjugating the minds of others (or at least helping you to become a better consultant)
I will look to give a brief overview of the core differences between engineers and consultants before delving into some deeper insights and takeaways from my personal experience.
Communication & Influence
Commercial mindset
Resilience
Open mindset
Time Management
So what is a consultant then?
The rules of 2024 dictate that all must mention ChatGPT at least once a day, so here is my contribution to that, I asked what it believes a software consultant to be;
âA software consultant is a professional who provides expert advice and solutions to clients on software-related issues, combining technical knowledge with business acumen to address specific organisational needs. They often work on varied projects, guiding strategic decisions and ensuring that software solutions align with business objectives.â
A pretty good explanation I would say! If I were to briefly summarise the core differences
Engineer | Consultant | |
---|---|---|
Focus & Objectives | Emphasis on building and maintaining software products. | Emphasis on advising clients and providing solutions to specific business problems. |
Work Environment | Typically works within a development team, often in a product-centric environment. | Often works independently or with consulting teams, in varied client environments. |
Client Interaction | Limited interaction with clients, primarily interacts with internal teams. | Frequent interaction with clients, needs to understand and address their needs directly. |
Project Scope | Focused on the technical aspects of software development. | Balances technical and business considerations, often involved in strategic decision-making. |
Problem-Solving Approach | Solves problems through coding and technical solutions. | Solves problems through a combination of technical knowledge and business strategy. |
Time Management | Focuses on project at hand and internal initiatives promoted by the company | Balances time spent on client work with internal commitments, training and community |
My Takeaways
It probably goes without saying (but I will say it anyway) that this is not an exhaustive list. But I do hope that these 5 top takeaways of things I have learnt can help in some way. It is not to say that these skills are not important for other people outside of consultancy, it is simply to say that I believe they should be doubled down on!
1. Communication & Influence
This is such a key one, it underpins someone's ability to be successful in many ways that I had to start with it. Â
As a permanent employee, bad communication of course happens all the time and it can cause countless numbers of problems. Bad communications between consultants and the client can literally be the downfall of a relationship, and thus partnership opportunities and future revenues so the stakes are that bit higher. Without getting into much more detail in this blog post, here would be some of the things that are essential in promoting good practices:
Ensure expectations are clear from the start in regards to key stakeholders, how close the customer wants to be to progress and planning, constraints etc.
Regularly keep people up to date with what the team is doing, the blockers or problems theyâre experiencing, the upcoming focus for the team and progress against any agreed timelines or milestones. This could be through regular meetings, demoâs, reporting or a collection of all⊠itâs whatever works. But even if the customer says they donât need this, I would recommend a lightweight fortnightly or monthly report anyway as it only helps!
Understand that different people like to communicate in different ways, so your way is not necessarily the right way. Take the time to speak to the different stakeholders to understand what is going to work best for them, and why!
I wanted to share an example where my own communication really let me down and caused a large impact for both myself and the team I was on. The long story cut short, was that I had established a great trust with the customer I was working with and had been working alongside them for over a year. I wanted to do everything I could to be of value, and started to explore ways in which I could do this within their organisation by helping to roll out some of the ways of working we had adopted to new areas of the business. I also wanted to help support their internal hiring capabilities and retention of staff. All good rightâŠ. However, with a number of these things, I had reached out to collaborate with people including the head of engineering to work alongside their staff, but had not done the appropriate levels of communication with our senior stakeholder and sponsor within the business. It was a fair few weeks into me helping with these initiatives when he pulled me aside and was extremely angry about it all. His perception was that I was overstepping my responsibilities, potentially even suggesting that he wasnât doing aspects of his job properly! So, from me trying to do the right thing, I ended up doing the exact opposite, breaking trust and ultimately this led to me leaving the project.
Perception is key, you cannot over communicate, and thinking about your comms on a regular basis in a proactive and well thought through manner will be a game changer
There are many books on how to best influence people that will go into much more detail than I am going to, but theyâre nearly all based around a few core points
Build trust
Understand what they want to achieve
Understand the pain points they are experiencing
Donât portray everything as your own idea
Of course, youâre influencing people from the first moment you meet someone, do they like you, do they not like you, have you asked insightful questions etc. But in terms of that next level of influence, the first point above is so key. I have made a number of mistakes throughout my career where I have tried to influence someone or something before establishing a core understanding and trust and it makes things so much more difficult! Â
2. Commercial mindset
The commercial model that sits behind a consultancy is very simple when you break it down to its 2 core constituent parts
But we all know itâs not quite that simple when it comes to the nuts and bolts of it all. A common misconception that I have seen is that engineers donât believe that they need any understanding of the commercials because âother non techy people do thatâ. Of course, the depth of knowledge needed varies hugely depending on the seniority of your role, but itâs super helpful.
You have the tangibles such as Master Service Agreements, Statements of Work, Invoices and Contract Change Notices. They all sound much scarier than they really are (OK, MSAâs can be quite scary and I enjoy a good legal team to help support this..). Why is having an understanding important? For SoWs, this is a critical piece of the puzzle as it will ultimately define whether the work you and the team are doing is going to be viewed as a success, and sometimes, whether you get paid! For invoices, having a better understanding around how we charge the clients can really influence the way in which you approach filling in your timesheets and the conversations you have with your team members around this topic.
What is even more important than these tangibles however is having a commercial / consultancy mindset in everything that you do. Sales teams are fantastic (well certainly can be), but there are no better ways to âsellâ work than having the team on the ground laying the foundations to support genuine account growth in ways that ultimately deliver fantastic results for our customers. What do I mean by this?
The best way to win new work with businesses is to understand their pain points, their ambitions and their constraints. By understanding this, the consultancy is in the best possible place to be able to have genuine conversations that can help either remove potential issues or accelerate on delivering business value! And no-one else in the business is going to be able to do this as well as the people on the ground! What this entails is:
Recognising the value in making genuine connections with clients
And building relationships with people outside of your immediate circle where it makes sense to do so
Being inquisitive and asking lots of questions
Being empathetic to the struggles that organisations may be facing
Not playing the âhard sellâ game, it's very rare anyone wants this
Understanding what your business does - what are the services that we offer and what case studies do we have that we could reference in conversation?
Do you know whoâs who in your org so that youâre able to do introductions rather than have a conversation yourself?
Thereâs one story which always sticks with me and I reference quite regularly. One of my friends was out cycling with a set of like minded individuals and struck up a chat with a gentleman who worked with British Cycling. Through being inquisitive and having a genuine interest, it turns out that BC were about to embark on some really cool work to support with streaming data analytics for the athletes over at the Velodrome. My friend recognised that this was something that we could support, set up a call and the rest is history. We won a new client, we did some really fun and interesting work, and all from a chat :-)
3. Resilience
Resilience is important in all aspects of work and life and it's something that I think we could do a lot more to improve and discuss in society (potentially a future blog post for me!). But in consultancy, I have found it to be an even more important skill.
I think that some people come into consultancy expecting to work on the latest tech, in a super agile environment and to be able to choose the type of work and industry they would like to work in. Donât get me wrong, this isnât impossible and there are absolutely times that this does happen. However, itâs also not what it's like the majority of the time. Businesses come in many shapes, sizes, maturity levels, cultures and everything else. And quite often, they have engaged with a consultancy because theyâre aware they have a problem in some form or another and need support. It is therefore quite common to find that youâre having to work in a tech thatâs not your first choice, a role thatâs not quite what you want or a business domain that doesnât quite float your boat. I have seen many people complain a lot about this and even consider quitting the business over it. Not just that, but as in all walks of life, sometimes you work with people that you do not like, or that are overly difficult. This is really hard but getting better at dealing with it is a huge lesson and skill to learn.
I would really love for people to start reframing these situations into one of a growth mindset and to consider what can be learnt from the experience that they are in, and the levers they have at their disposal to improve the situation (see sphere of influence). This not only will make them feel better about their current position, but I guarantee will make you a better consultant and all round engineer / employee.
Donât get me wrong, I am not suggesting that people stay in miserable roles, with horrible people with no possibility of the situation improving for months on end. There are times in which it is right for all parties for you to move onto something new or even for the whole company to move on if it's not working on a larger scale. And in my experience, a consultancy would always look to support you with this, rather than see you hand your notice in with you struggling in silence!
The other area where I have seen a difference in consultancy is the potential competitive landscape internally surrounding promotions. Before the IW / Accenture acquisition it was really tough to get my first promotion to Principal Consultant because the bar was set so high and we had a fantastic group of people. The first time I applied for it, I was told no and it was so upsetting. I had worked so hard and genuinely believed that I deserved the promotion. In the following days I seriously considered applying for other roles but I had to ask myself some serious questions about why it was a no. Did I agree with all of the feedback? No. Did I agree with some of the feedback, Yes. So, I had a choice and I chose to do everything I could to prove that they were wrong in the decision they made, take on the feedback and show up every day to make a difference. I got the promotion the following year alongside being a much better consultant in every way. Similarly, after we were acquired by Accenture, a much bigger company, there were other constraints and difficulties in setting yourself apart from your colleagues. As much as it would be great to promote everyone when they deserve it, sometimes life isnât that simple and having the ability to bounce back from a setback is something that all successful people have had to demonstrate throughout their lives.
4. An open mindset
âBE COMFORTABLE WITH BEING UNCOMFORTABLEâ
I am very confident that this is not my quote! But I donât know where it originally came from or who originally coined the phrase. But I bloody love it.
Let me tell you a few stories to paint the picture:
I had just had a baby when I started at IW and was told that there was an opportunity in Derbyshire that they wanted me to work on. This would entail being away from home quite a lot to begin with, oh and the client was using .NET 3.5, SQL and SSIS! I walked into an environment where we were not particularly welcomed shall we say, and we had to prove our worth on tech I hadnât used for quite some time!
A couple of clients down the line, there were some changes to the account internally and I spotted an opportunity to throw my hat in the ring to run that account. They said yesâŠ. OK great, what is the tech stack they use, AWS, Go and React. I knew none of them and I was meant to be the most senior person on the account!
Fast forward to the gig after this one, we were building a new app using React Native, .NET Core for the backend, Azure and there was a lot of devOps work to do in the first instance. I still felt uncomfortable at this stage with what seemed to be such a daunting task, especially around the Azure DevOps and Terraform work!
I am pleased to say that all of the above went well and I learned a huge amount in the process. Outside of the technical skills I picked up though, what I really learned is that I can be thrown into uncomfortable situations, feel very much like an imposter, and come out the other side having vastly improved not only myself, but built great relationships and genuinely delivered great work for our customers. From this point on, when things inevitably go wrong and I find myself in a tricky situation, I can take a moment, remember how I felt in these situations and compose myself, knowing that I can trust myself and I will make it work.
The other angle I wanted to discuss is that of opportunity, pretty sure there used to be an old tv program called Opportunity Knocks, I think thatâs quite pertinent. Upon finishing one of my accounts alongside being rejected for my Principal Consultant promotion, I had requested that my next account be one of decent size so that I would be able to demonstrate my ability to run a large account. Picture my face when I got told that I was going to lead a team of 3 people to start a new account with a customer. I was very annoyed and I wonât lie, I did consider looking for other roles at this point. I decided that quitting at this point made no sense, I hadnât tried to make the best out of this situation. So, I buckled down, grew the team to around 8 and we did so well, the team then moved to around 14. Was this luck? Maybe some⊠but it was mainly down to working hard, delivering well and building trust and relationships!
5. Time Management
I mentioned it briefly in the comparison table above, but time management is such a crucial factor for being a successful consultant in many different guises. The first one which is prevalent in all organisations, is your ability to manage your time spent on engineering tasks and your ability to âestimateâ how long things are going to take, and stay focused on that task to ultimately deliver. The second and more pertinent to the topic of this blog post is managing your time away from the client, something I have seen many consultants struggle with.
My old boss used to see the impact of consultants in 3 lenses and I really liked this perspective:
Customer - what impact are you having on your customer?
Colleagues - what impact are you having on your colleagues?
Community - what impact are you having on the wider community?
Add line management on top of this and you can start to see there is quite a bit of work that needs to be done outside of your customer account. The trap I saw a lot of people fall into is spending 7.5 or 8 hours a day working on the customer account and then simply not making time to achieve any of the above, or feeling as though they have to work a lot of overtime to achieve it.
I donât have a magic bullet or golden egg of an answer here unfortunately as it is all situation dependent, but I do have a general feeling and view of what is right. When a customer engages a consultancy, they are not hiring a contractor, and they generally pay more money for this benefit. Consultants have the backing of many experts and a training programme that sits behind this to ensure theyâre providing the best staff, with the best experience. So, making the time to lead or attend a Community of Practice (CoP) event, arrange a team engagement experience, attend a conference or indeed, manage the performance of team members that report into you⊠they all add up to the (hopefully) excellent experience that the customer is going to get from you and your company.
On the other hand, there are going to be things that youâre going to want to do within your consultancy that wouldnât be right to charge the customer for such as volunteering, personal blog writing or internal training.
So, itâs down to you to work out how you are going to be able to manage your time in an effective way to allow yourself to juggle this array of balls. Of course, delivery has to come first and there will be times you have to focus on simply client work. But for the other times, I think a lot of the time, it is down to 2 things.
Having it at the forefront of your mind and making the effort, it can be so easy if youâre stuck into a problem to simply continue working, rather than taking the break to invest in one of these other areas
Expectation management! If the client expects that you are working on nothing other than their tickets, there can be an element of guilt or worry associated with this. Having that conversation up front to ensure people are on the same page is critical. Â
This last point comes with a caveat! This is not saying âNot working this afternoon because weâre having a few hours of internal meetings, but will still charge youâ. Of course, itâs more nuanced than that and more around setting up values and alignment at the start.
Conclusion
So, in conclusion, being a great engineer is hard! But being a great consultant is even harder and itâs not for everyone! However, I believe it is for many, and it starts with having that open mindset and appreciating you canât be brilliant at everything, but you can certainly try :-)
Being mindful about when and how you communicate is critical to bringing people on the journey and establishing a solid foundation
Having a commercial mindset will set you apart from a lot of other people. Asking those right questions, knowing you donât have all the answers, but connecting the dots is really powerful
Consultancy is hard and you will be put into situations that are uncomfortable, whether that be technical, relationships or general setbacks. Building resilience will set you up to deal with all sorts of obstacles that life throws at youÂ
As a consultant, you need to be flexible to help support the demands of your organisation so by having an open mindset, this is going to set you up with the biggest chance of success.
Sometimes, it can feel like there are too many things to do in one day, and quite often there are! Managing your time effectively, being authentic but also communicating clearly are key.