What are the blockers of the growing IT industry? What is the role of software development?
That’s a complicated question, but I will try to answer it step-by-step. It seems to me that we can divide people that work in the IT industry into two groups:
- Technical – developers / engineers / technicians etc…
- Non-technical – all layers of managers / designers / recruiters / marketologists and others.
The short answer is that the main problem here is communication difficulties between group one and group two. But let’s go deep in details.
As an example, let’s take one of the main bricks in the IT industry – software development.
The leading player here is the product, some software application. The product has to be created and maintained by a technical group. In addition to that, it is supposed to be managed and promoted by a non-technical team.
The main difference between the two groups is – the level of technical knowledge. Consequently, as a manager to manage a group of technicians, you need to have comprehensive development knowledge. The reason that managers might have problems in communication with developers is a lack of technical expertise. And here, we can see the fundamental problem in this question – the process of education in IT.
The fast-changing stack of technologies is one of the main problems in software development education. In real projects, many technologies change very fast, and even experienced developers don’t know everything. The situation in IT universities is even worse.
Assume it is 2020, university working on some new course for android developers. That course includes all modern technologies and methodologies at that moment. University is working on that course for a year to provide it for students in the next year. When the release date comes, its 2021, and some Android development trends have already been changed. As a result, students start learning courses with the latest stack of technologies and methodologies. In 2022 will come, new students. By that moment, modern android development will be different, but students will learn everything from 2020. As a result, when that student of 2021 graduates, it will be 2025, and he will face the situation that the stack of technologies he used in university is different from in real life. Yes, they will know the fundamentals and essential things. They need to learn how developers think, how to solve problems, and how to find solutions. But still, it will take a lot of time when that student will get enough experience to compete on a high level and provide the right quality products.
Can you imagine how it works for non-technical specialties where programming is not a significant skill? Even managers with some technical classes graduate the university. It will not be enough knowledge to manage and talk with developers on the same level. In my opinion, there is no strong middle layer knowledge that can prepare managers enough to be on the same page with developers. But who has to create it? Developers. And here is the third problem – how does engineering education content has been made.