Interview with Alexey Zimarev part 1 — the software architect
Alexey Zimarev is a software architect and developer with a focus on domain-driven design (DDD), coaching and mentoring. He is also a contributor to the MassTransit open-source messaging framework for .NET and the organizer of the DDD Norway meetup. During his last visit in Katowice, he found time to tell his story. Read Alexey’s life journey as a developer and architect.
Sylwia: Please tell me something about yourself. How did it all begin?
Alexey: I’m originally from Russia and when I was in my early twenties, I decided to look for challenges and move to The Netherlands. To be precise, I moved to The Netherlands in December 1999. I found a job in a small company that provided other companies with employees, but I didn’t really like it, so I started to move around. After many adventures, my first big job was with Philips. I was a contractor at the time. I worked there for four years. I became a lead developer, and I switched to .NET. I was young and naive, so they called me a “Lead Developer,” but now I realize I didn’t know anything at the time. But I learned quite a lot about organizations and politics. I went to a management course for one year in the UK. Then I decided to leave the country and we moved to Belgium together with my family. I worked there for 6 months and didn’t really like it. We lived in Brussels. My wife actually liked it because she started to learn French and people called her “Madame”.
Sylwia: What made you decide to move again?
Alexey: There was an opportunity in Norway. The company I worked for really wanted me to stay in Brussels and take the position of a technical designer and senior programmer to do some projects. But I didn’t feel it was for me. When we lived in The Netherlands, we actually travelled to Norway for holidays many times. I can’t even count how many times we’d been there, maybe three times a year. So I said if we spend that much time there, we may as well live there. There was an opening at Statoil. It was a long-term project but they actually cancelled it after one year. And I am really glad they did.
Sylwia: Really? Why?
Alexey: Because I was programming inside this strange system that they used for oil and gas trading. Inside the system it is possible to use Java or .NET. We used Java, but the whole system was not that good although it was extremely expensive. The whole project was composed of about a hundred consultants and they were all sent home when the project was cancelled. But I’m glad that this has happened, because after that I returned to real world programming. It was about six years ago. And I started to work for a small Norwegian company in Sandefjord which is in Southern Norway, close to a small airport with a good connection to Katowice. I worked there for three years. I started as a senior developer and I left them when I was a chief architect. At that time, I had a strong interest in Domain-Driven Design. I was not very experienced in this area, but I was really into it. I understood the way companies build software and I had a chance to observe them using different kinds of methods and I saw the same flaws. They were developing huge database models with hundreds of tables, thousands of stored procedures, millions of lines of code and then if you make one mistake, everything falls apart. Ninety percent of the time when we tried to change something, we spent a lot of time on ensuring and redoing it in the right place so that nothing else would break. The engineers were not really interested in what they were doing, they lost motivation, didn’t see their job as a craft. So, unfortunately, it kept happening and it is still happening in many, many organizations. I believed that it was my job to help them get out of this misery and do something else. But it’s not that easy. It’s not like you can just tell developers how they should do it and that’s it. First of all, not all developers like to change their habits. They say, “I’ve been doing this for fifteen years, why should I do it differently?” The same thing with businesses. Although they struggle and they understand that they have a problem, they don’t really want to accept the challenge and sometimes it requires significant movements. They need to hire new people, they need to have stronger competences, they need to get better engineers, they need to change their ways – how they create certain requirements, how they talk to customers, etc. Sometimes organizations are not ready to do that.
Sylwia: Tell me, was there any milestone, or something that pushed you in the direction of becoming an architect?
Alexey: Actually, my mother was a programmer which fascinated me. During communist times, before the 1990s, there were places called “institutes”, sort of scientific centers and research facilities, and my mother worked in one of those. She took me to work with her. I entered this huge room and everyone was wearing white robes and there were machines, there was something rotating and a lot of perforated cards and huge discs, and everything was really fascinating. I loved it. Later I went to a mathematical school where we had the opportunity to pick our first computers and start to play around with them. I got bored with playing games, which most of my classmates enjoyed. So I started to write something on my own.
Sylwia: Do you remember the programming language you used?
Alexey: It was FOCAL but I quickly switched to Assembler because that was the only way to do something that really worked. I had a friend in my class, and together we developed a couple of programs for education purposes. I heard there was a programming contest in the Soviet Union and I said, “OK, let’s send something in.” At the time we recorded software on cassette tapes, so we recorded our program on a tape and packed it in a wooden box and sent it to Moscow or Novosibirsk – I don’t remember exactly. After two months we got a big letter that we had won the third prize. We received a diploma and some money. That was actually some of the first money I earned programming. And since then I never stopped, because to be honest I never did anything else for a living.
Sylwia: Do you remember something that you wrote and it made you proud?
Alexey: I think these two games that we made were actually quite good. But then in Philips I developed a system that was used by like 150,000 people!
Sylwia: Yes, it’s impressive, isn’t it?
Alexey: Yeah, but I think I could’ve done better. I should’ve spent more time studying things, how things work. To be honest, I’m still very surprised that it actually worked. I was oblivious to my own inexperience. I thought I knew it all, but I was just a beginner. If you don’t have any experts and talent in the company, nobody will tell you, “Man, you really should learn. You really need to do things differently.” I find it a bit sad, but there was no one like that around at the time. That’s why I actually try to teach people, try to give as much knowledge as I can.
Sylwia: You enjoy it, don’t you? Teaching others, sharing your knowledge?
Alexey: Mostly yes, but I like to teach people that want to be taught. I don’t like to teach people that reject knowledge. Sometimes people are forced by their companies to attend workshops or courses. Sometimes inside the company where I work, I conduct courses and people come because they are forced to. So they just sit and play with their phones.
Sylwia: It’s hard for you as a teacher and it’s hard for them, isn’t it?
Alexey: Exactly, and there is no value. They just block the time and space of the people that really wanted to come.
Sylwia: So it is a loss of time for both sides.
Alexey: Yes, that’s why I prefer meetups, conferences and workshops. I would prefer to have a paid workshop than a free workshop for a meetup, because then people who really want to come will come. If you do it for a company, then maybe half of them are really interested, but another half will be there because it’s free.
to be continued…