Where does your software engineering culture begin and end – and what does a “good” engineering culture look like in the first place? We asked some of Godel’s best engineers to find out what they think about engineering culture.
Victor Nekrasov, VP Engineering .NET:
Engineering culture applies beyond technology.
For me, engineering culture is a set of human qualities that allows me to be successful in any given situation. We can talk about the culture of the state, the culture of the company, the culture of projects in the company. But if we’re talking about the engineering culture of a person, we’re considering the kind of flexibility, responsibility for making decisions, communication and software skills that wrap around them – and with this determine the atmosphere in which we work.
When should we start thinking about it? It should be embedded from university! The younger the person, the easier it is to influence these skills and qualities. Where it begins and ends is determined by the group of people that directly form the culture: society, the company or the project.
Engineering culture is a scientific pursuit.
I think it’s more about professional relationships. This applies to the entire commercial world and not necessarily just to software development. If you take responsibility for your work, then those around will have respect for what you do and will be happy to support you. As for engineering, we have to take a scientific approach to it – don’t believe what you read or hear, research it, understand it thoroughly and make an informed decision.
Aliaksandr Nozdryn-Platnitski, Principal Java Software Engineer:
Engineering culture is about learning.
An important aspect of any culture is the ability to learn and be focused on continuous learning. We learn from mistakes better than when everything goes well and it seems that there is no need to improve and develop. In such discussions, I always mention the concept of the no-blame culture that exists in Godel, when we do not try to find the guilty one, but try to understand what the problem is and what its causes are, so as not to repeat such mistakes in the future.
Andrei Salanoi, .NET Division Manager:
Engineering culture is problem-solving.
I always compare an engineer with a scientist. A scientist’s raison d’être is to invent something that didn’t previously exist and explain to other people what it’s for. The engineer’s task is to look at what scientists ‘invented’ and to use existing achievements in the search for the necessary solution. The value of an engineer lies in the ability to use time-tested existing affordable solutions. The engineer has a broad outlook, follows trends in technologies and knows how to use them on a project for maximum effect. At no point does the engineer get stuck theorising without any practical outcomes. We take a problem, analyse the existing solution options and find the most suitable one or sculpt a new solution from several less suitable ones to come up with the most successful outcome.
Dzmitry Viaroukin, Principal .NET Software Engineer:
Engineering culture requires curiosity.
Engineers are not just technical personnel with one point of view – it’s broader than that. We can solve problems or offer, at a technical level, an understanding of how a solution will interact with the rest of the ‘world’. Engineering culture should be crafted around ‘curiosity’ and a broad view of things – not simply technology interaction. Ultimately it’s finding a way to deliver a product that will be harmoniously integrated with other things in the real world: business, development plans and company strategy.
Alex Karymau, VP Engineering Java:
Engineering culture doesn’t stand still.
Often people operate with the concept of culture, based on the values that they acquired three or five years ago, which may no longer fit current circumstances. It’s clear that there are eternal values, such as “treating your business responsibly, as if you will start from scratch again tomorrow” so that it is valuable. It’s also important to understand what you are doing and who needs it. Also being aware of the overall common culture of a business and the project in particular – harmoniously integrating engineering culture into other related ones is an art. It’s important to look at engineering culture more broadly, going beyond just the technical side.