This write-up offers insight into technical consulting. You’ll understand what a technical consultant is, the skills required to be one and how you can become one. 

So, without further ado. Let’s get started. 

What is a technical consultant?

A technical consultant, an IT consultant or a software consultant are, more or less, the same role in IT with subtle differences. I’ve written a detailed article on IT consulting. Give it a read. 

A technical consultant helps businesses with the implementation and performance optimization of different components of their application architecture and infrastructure with the help of the right technology and software development approach. This helps businesses hit their goals in and with optimum time and resources.

Besides this, there are a lot more things involved in technical consulting. Let’s understand this better with the help of an example. 

Understanding the role of a technical consultant with the help of an example

Imagine an MMO (Massively Multiplayer Online) game developed as a monolith dealing with billions of events in a stipulated time. The devs try to stream the event data from the monolith to a data warehouse for analytics, monitoring, etc., through a few data pipelines. 

Monolithic MMO game grid

The engineering team struggles with the exponential influx of data and events with the sudden rise in the game’s popularity. The architecture has several bottlenecks; throughput is low and doesn’t scale as per the requirements.

The business calls in a technical consultant skilled in this specific domain to help them deal with the flood of events. Now, here the role of the consultant will be to comprehend the domain, use cases, project requirements, application architecture, infrastructure, etc., and communicate with the engineering team and stakeholders, advising them on the right architecture and technology, project timeline, etc to achieve the desired system behavior.

After the discussion, they (the consultant, stakeholders and the engineering team) collectively create an action plan and start with the development process that may involve splitting the monolith into modular monoliths or microservices architecture in addition to implementing the event-driven architecture leveraging state-of-the-art event streaming tech like Kafka, Apache Flink, Azure Hub, Google Pub Sub, etc. 

The consultant will work with the team to design how the events from different sources move into the data pipeline, how the data is processed, maintaining data quality for effective analytics, monitoring, the implementation of related business logic and observability around the data flow. This involves, keeping an eye on how the processed event data is stored and made available to the end users including business people. 

The whole process would involve proper documentation, writing functional specifications, data modeling, thorough code testing, stress testing, implementing chaos engineering, picking the right infrastructure, databases, data storage and cloud design patterns related to event-driven architecture and such. The consultant oversees the entire development workflow weeding out the bottlenecks in the development process. 

This is how with their domain expertise, a technical consultant would help the business migrate from the monolithic architecture to a scalable event-driven architecture with efficient data ingestion pipelines.  

If you wish to understand the intricacies of building real-world distributed systems like Netflix, Hotstar, YouTube, NewYork Times etc., from the bare bones. This includes getting an understanding of different components of application architecture, cloud infrastructure, picking the right database, data model, application architecture and much much more. Check out the Zero to Software Architect learning track that I’ve authored for IT and technical consultants that helps them master distributed application architecture starting right from zero.

Technical consultant skills 

A technical consultant may help a business end to end on their application stack, from the UI to the database or they may be skilled in specific domains and application components, just like we helped the business above with our expertise in building event-driven and data-streaming applications. 

Cloud computing infrastructure stack

The business might call in other consultants to help optimize their data storage, server infrastructure, network architecture and so on.

Before taking a technical consultant on board, businesses typically interview the consultants to gauge if they fit their project requirements; like interviewing them on their past professional experience, industry and domain knowledge, and technical challenges they tackled earlier as a technical consultant.

Besides technical skills, a technical consultant needs to have good communication skills to understand the business requirements and satisfy the client with effective solutions. They often also have to coach the engineering team, helping them comply with various processes and industry best practices either remotely or by traveling onsite. 

How can I become a technical consultant?

The requirements to become a technical consultant are similar to that of an IT consultant. You can read them here.

You need to have a degree in computer science, IT, software engineering or a related discipline. 

Hands-on industry experience in building software/leading engineering teams is invaluable for a technical consultant role. 

You should keep tabs on industry trends, the latest technologies, software-building best practices, etc.  

If you found the content helpful, check out the Zero to Software Architect learning track, a series of three courses I have written intending to educate you, step by step, on the domain of software architecture and distributed system design. The learning track takes you right from having no knowledge in it to making you a pro in designing large-scale distributed systems like YouTube, Netflix, Hotstar, and more.

zerotosa new banner

This is pretty much it. If you found the content helpful, consider sharing it with your network for better reach. I am Shivang, you can read about me here. I’ll see you in the next blog post. Until then, Cheers!