Roman Druzyagin



Tags:   postgresql    russia    pgday-russia   
Category:   Interviews   
Interviewed by: Andreas Scherbaum

PostgreSQL is the World’s most advanced Open Source Relational Database. The interview series “PostgreSQL Person of the Week” presents the people who make the project what it is today. Read all interviews here.

Please tell us about yourself, and where you are from.

Name’s Roman. I’ve been born and lived most of my life in Russia. I grew up near Moscow, and since 2002 I’ve been residing in St. Petersburg, with plans to relocate to the European Union in the near future. I am currently 33 years old.

Over 10+ years of my professional experience, I’ve climbed all steps of the engineering career ladder, from junior developer to CTO. Currently, I am a partner at a privately managed software company, and a consultant on subjects of management of engineering teams and maintenance of high-volume Web systems. I divide my time between holding advisory and consultancy roles in projects I’m involved in, managing personal ventures and working on educational projects within my immediate professional circle.

Roman Druzyagin

Roman Druzyagin

How do you spend your free time? What are your hobbies?

I’ve been enjoying cooking for a long time. It started as more of a necessity and grew into a serious pastime. I’m fascinated with the professional cooking scene, so I mostly tend to study professional techniques and figure out how and why things work in the kitchen in terms of physics and chemistry.

A more recent, but very serious hobby that I’ve picked up during the Covid quarantine is Go (an ancient Chinese board game, in case someone hasn’t heard of it). Simple in its rules, the game has insurmountable layers of strategy and tactics. While not as well-known in the Western world and as profitable for professional players as Chess, Go is a huge thing nonetheless, especially in the Asian countries, and has been for thousands of years. I’ve decided to approach it seriously right from the start, and have been studying the game with a teacher, hoping to reach the amateur 1 dan level by the end of 2021. If anyone in the Postgres community enjoys Go, feel free to reach out, I’ll be happy to play a game with you.

Any Social Media channels of yours we should be aware of?

I don’t enjoy using social media much, but I am always reachable on Facebook.

Last book you read? Or a book you want to recommend to readers?

I read a lot. Recently, I’ve finished two books by Greg McKeown, Essentialism and Effortless. Good choice for those who are interested in practical advice on how to get more important stuff done in life. I am also currently finishing reading the first tome of Brandon Sanderson’s Stormlight Archive, and it’s a great read. Sanderson is a master worldbuilder. Also, be sure to check out he’s free lectures on YouTube, if you’re at all interested in creative writing.

One of the favorite books of this year: Meditation and Mindfulness by Andy Puddicombe. A buddhist monk turned technology startup founder, Andy does a great job of explaining to a modern, no-nonsense person what meditation really is about and how to approach it.

If I were to name some of the all-time favorite authors: Charles Bukowski, Herman Melville, Stephen Fry, Terry Pratchett, Kurt Vonnegut.

How would your ideal weekend look like?

I spend most of my weekends with my wife. Otherwise, any weekend is a good one if it’s any or a combination of the things listed above.

What is the best advice you ever got?

More of a saying than direct advice, but I took it to heart. Frank Zappa once said: “mind is like a parachute, it does not work if it’s not open.”

When did you start using PostgreSQL, and why?

Around 2011 or so. I’ve been a tech lead at a significantly high volume project at the time, among other things, and we’ve had some serious challenges with the safety and stability of the current MySQL-based setup. Ilya Kosmodemiansky was a consultant on the project, and we’ve together devised and successfully executed a plan to migrate the whole system to Postgres.

Do you remember which version of PostgreSQL you started with?

It was 9.0. I’ve never dealt with anything earlier than that.

Yes, I have a master’s degree in engineering with focus on application of IT in education. The university helped in a sense of giving me an idea how to deal with (sometimes) inadequate people who have unrealistic expectations from you about the functionality and the deadlines.

What other databases are you using? Which one is your favorite?

I’ve had a lot of experience with MySQL and some with various noSQL solutions such as MongoDB and some others. But the majority of my expertise is in Postgres.

It’s been a while since I’ve written any significant code, my primary expertise lies in management of technical teams. My primary way of contributing to Postgres is through education and training for the engineers I work with. Pretty much all companies I’m currently involved with are using Postgres in one way or another as a primary data storage solution.

I am also one of the co-founders of PG Day Russia, which is now an officially community-recognized and supported event. We’ve been holding successful conferences since 2014. After an unfortunate hiatus for the last few years due to other engagements and the pandemic situation, we’re bringing the conference back in the online format in July 2021. Hopefully, more events will follow in the upcoming years.

What is your favorite PostgreSQL extension?

The first thing that comes to mind is ip4r. I remember this being a serious lifesafer. I am not sure if it’s an up-to-date scenario, but this is such a hidden gem for making an effortless solution to a fairly common set of problems in modern Web projects.

What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?

Not necessarily annoying, but I think it would be beneficial to make the pl/pgsql language more attractive to a wide audience. Stored procedures are a powerful part of Postgres. Not many realise that, and those who do tend to shy away from it due to various reasons. Some criticize it for a certain amount of rigidity and antiqueness of the language itself. Others don’t want to deal with troubles of maintaining regular deployments that require polluting the workspace with numerous versions of the same procedures, something that usually requires writing customized deployment toolkits. Many simply don’t understand the benefits one might get from storing business logic inside the database, for the purposes of efficiency, performance and so on.

Which skills are a must have for a PostgreSQL developer/user?

Most of these tend to fall into the area of foundations and knowledge but I feel like I need to list them anyway. First of all, everyone should definitely understand, at least on the most rudimentary level, how the data is stored and why various structures (indexes and so on) are built in the way they are.

Secondly, learning what transactions are for, why they are your friend and not an enemy, and why they have become an integral part of any serious database since at least the 1970s.

As for practical skills, learning how to read an EXPLAIN plan is probably the most important skill for any engineer who works with Postgres on a daily basis.

Which PostgreSQL conferences do you visit? Do you submit talks?

I’ve used to be an active speaker at various engineering conferences, but I gave that up once I stopped practicing hands-on engineering myself. I used to visit the major Russian and EU events for networking, but this came to a halt for obvious reasons.

Do you think Postgres has a high entry barrier?

No, the database has such high popularity right now that it is easy enough to find numerous entry-level materials for anyone to get into the swing of things quickly. The opposite is what worries me more: would people be able to find and recognize the relevant advanced level materials among such an overabundance of content available these days?

Do you think PostgreSQL will be here for many years in the future?

Yes, I think so. Transactional databases have been fundamental in computer systems for some 50 years now and they do not plan to go away anytime soon. As for Postgres specifically, it has been adopted in many mission-critical environments around the world recently to expect for it to perish suddenly. What’s more important is that Postgres has a community that is very well organized and managed by strong and capable leaders, who’ve imbued it with important core values, such as integrity, continuity and friendship, that are bound to keep the show going.