I’ve been a software consultant for almost a decade now and I wanna share with you what it means to be a software consultant and why I think everyone should consider trying it. So let’s get right into it.
Who is a software consultant?
A software consultant is a software engineer who has broad skills in various areas. This enables him to join on different projects (for different clients) and help them with his skills. Although a software consultant can be an expert in a certain tech or area, he usually have a broader knowledge on other technologies as well, to the point that most software consultants are “T” shape experts.
What does it mean to be a T specialist as a software developer?
A T specialist is a person who is familiar with lots of technologies. His knowledge is across various technologies (could be backend, frontend or both). That is the top part of the T, which is a flat line representing the spectrum of technologies he knows. However, often a T specialist is master and expert in one specific area. That’s the vertical line in the middle of the “T”. He has deep knowledge in that area and he is seen as an expert in that topic.
A consultant tries to expand his knowledge territory in both way. That means, getting himself familiarised with new technologies, and if that interests him, going deep on it and learning more and more about it.
So, What are the pros of being a software consultant?
- Exposure to different technologies:
This is the biggest benefit. Being a consultant helps you to gain massive amount of experience and exposure to different technologies.
From a legacy system written in an old programming language (that usually serves millions of users every day) to greenfield projects trying to execute a new idea using new technologies (and settling the debates on choosing between Reactjs and Angularjs).
You might think “Why would I wanna work on a tech that I’m not interested in or even an obsolete old system?”. At first it might seem painful, but I can tell you for sure there is a lot to learn from existing systems. Those systems are usually still an important part of companies and there is a lot of engineering happening around them, which you can learn by working with it.
Afterall, it’s an honour to have that on your resume that you have touched an important multi-billion dollar piece of an enterprise.
- Getting paid to learn:
As I said, consulting companies want you to learn new things, improve and get better. Therefore, there are usually programs in place for you to take courses, go to conferences, meetups, workshops, etc. and it’s mostly paid by the company so that you go, attend, learn and come back with those skills.
- Improve your people and leadership skills:
You might be scared of this, but allow me to shed some lights on it.
People skills (aka soft skills) is one of the most important skills that someone should have. That is the foundation of leadership skills which is crucial for career growth and success.
You wouldn’t learn people skills, if you don’t practice it. And you cannot practice it, if you are not exposed to different people. Being a software consultant has helped me to improve my soft skills drastically. Every team, consists of different people (who have different skills, different personalities, different goals, different availabilities, etc.), and over time, with the support and learnings I’ve got, I managed to improve my people skills and convert it to leadership skills.
Every consulting company has support programs for their consultants to improve in this area. The better consultants get (both technical and non-technical), the more projects they can work on, and the better it is for the company.
- Have access to resources that small companies usually don’t have:
Being in a consulting company, benefits you opportunities that you wouldn’t get normally in startups or small companies. Such as:
- Being around big heads in tech world
- Attending big conferences
- Have access to high-quality courses and subscriptions
- Networking and making friends and acquaintances in various companies you work for
- Learning about business, strategy, big picture and how to plan and execute big ideas
- Working in projects and companies that is usually hard to get into:
It is usually hard to get employed by big enterprises and get to the point that you can work on one of their big projects. However, as a consultant, you might get hired to join on one of those projects, work in their office, and learn from it and grow. This is not something that you can do easily by yourself.
Most of the enterprises who hire consultants, have big beautiful offices that you can go to and work in. Some of them they even let you to get access to the benefits that all of their full-time employees have.
- Variety in what you do day-to-day:
It’s not always usual development tasks and writing code or debugging a bug.
Sometimes it’s researching, sometimes it’s interviewing and having meetings with different people with various positions.
Even on technical side, it’s sometimes reporting and big data, sometimes it’s AI, sometimes it’s a mobile app, sometimes it’s IOT, sometimes it’s a legacy system and the super-excitement you get from the customer when you make a small change in those systems they’ve been waiting for a long time.
- It helps you to grow and build your personal brand and people network
Being a software consultant, means that you are going to be around lots of other people who are knowledgeable and are usually well-known in the industry.
You get the opportunity to meet them, work with them closely, chat with them, and learn from them and even become their friend.
As an old saying goes “being around successful people, is a path to growth and success”.
- You are not alone:
Every software consulting company, provides a lot of support to their consultants. As I mentioned before, lots of learnings and courses and technical things are provided as well as non-technical supports (such as trainings on soft skills & leadership skills, mentorship, coaching, and even mental health). On top of that, you are going to have myriad colleagues and friends who can help you and share their experiences in the time of need.
After all, a consulting firm needs to take care of its people as it is the most valuable asset that the business depend on.
As a general rule in life, there is a reward for every challenge you face. Same goes for being a software consultant.
It sure is more challenging to be a software consultant than a software developer, however I believe the benefits propels you forward in your career to the point that it is hard to achieve by yourself.
So, give it a go 🙂