Do you have experience with…?
How many times have you heard this question in your life? Usually, we hear it during interviews or when hiring an IT contractor. Quite often it sounds like this: “Do you have experience with X or Y technology?
To tell you the truth, this question sounds quite annoying for engineers with 10 years of experience, like me. If you are an engineer, you understand what I mean.
According to Wikipedia: “Engineers, as practitioners of engineering, are professionals who invent, design, analyze, build, and test machines, systems, structures, and materials to fulfill objectives and requirements while considering the limitations imposed by practicality, regulation, safety, and cost.”
According to the Cambridge dictionary: “Engineer is a person whose job is to design or build machines, engines, or electrical equipment, or things such as roads, railways, or bridges, using scientific principles.”
The technology shows a huge potential for companies. But who and how will transform the business itself?
I think you will agree, that the technology environment is changing enormously fast nowadays. Companies face the necessity to transform their business processes with new complex solutions in order to be able to compete on the market. This transformation is created by people with specific skills, having the ability to create non-standard solutions which will fit the particular business and ideally suit the technology environment.
The ready-made patterns for everyone don’t work. Otherwise, this will be simply the process of copying the schemes which already function in some other organizations, ideally suiting some other business models and created to achieve business goals of particular companies.
Consequently, there should be people with an out-of-the-box mindset in companies in order to generate entirely new approaches and tools for the company’s growth. But what do we see? Lack of people with such a way of thinking and the absence of desire to raise this manner of thought.
Take engineers, for example. For several latest centuries, the major engineer’s task was to overcome constraints: invent solutions and combine the uncombined to solve problems.
Imagine a racing car. It is supposed to fall to pieces after crossing the finishing line. If that happened earlier, it means it lacked the safety margin. If it hasn’t fallen to pieces, it had enough of safety margin but the vehicle weight was heavier than necessary.
What I mean is that each problem has its limitations. Otherwise, this wouldn’t be called a problem: to move 1 kg of some goods from A to B — like a piece of cake. The world’s largest cargo aircraft has delivered a mono cargo to Santiago from São Paulo (Brazil), that weighs more than 155 tons. For the equal distribution of load in the plane, the electro turbine which was produced by a Brazilian company Asea Brown Boveri (the length — 8 meters, the width — 3,5 meters, height — 4,5 meters), was packed into a special construction (16 meters long and 4,3 meters wide). The weight of such construction amounted to 27 tones. So, the total mass of the delivery reached 182 tones. This can be done by only one airplane developed by Ukrainian engineers — Antonov An-225 Mriya.
Modern software engineers forgot how to solve the problem. An ideal picture has always looked like that: you are trying to find the best tech solution among all possible to solve the existing business problems. You know what will happen if you underestimate a certain aspect and you know pretty well what may happen if you overestimate the role of another. But in reality, the problem-solving process looks different.
Do you need a “one size fits all” solution or a cutting-edge technology?
I have realized a certain tendency after a number of completed projects. Clients no longer ask to make the impossible a reality. Some of them do have a partial vision of their most ambitious ideas, but it happens that someone has already spoiled this very project in the bud, even the solution itself technically and they come being disappointed, skeptical. And sometimes it takes time and considerable efforts to persuade a person that the solution they have in mind can work without a problem, but it needs to be correctly constructed from the technical point of view.
Or on the contrary, someone has implemented the “best solution ever” for the client, he comes to get a consultation and eventually there appears a necessity to reconstruct the half of the system, if not the whole of it. Sometimes it happens that certain companies try to grow their businesses on nothing at all. They don’t have the necessary tools for that and even the idea of how to do it right. And sometimes it takes years before they accept the new and the working business strategy.
Sometimes it happens that software engineers decide to create their own companies. And I’m one of them. Frankly speaking, it’s quite complicated to create your own company being a technical geek at the same time. You need completely different skills for that, but it’s a cool challenge I have to say. From time to time I try to solve different problems for clients using the technologies I’ve never tried before. Just because it’s really interesting.
“I gave him a task he never had done before. A month later he figured everything out, and now we’ve got this awesome deployment scheme.”
So, do I have experience with…? No, I’ve never had and I will never have. I am an engineer and I can find the solution to any problem. If I already have experience in solving the problem, it’s not a problem, but a documented solution, which will be further implemented by service engineers.