📜 ⬆️ ⬇️

Sergey Borisyuk: “The most important thing in startups is the focus”

Introducing the seventh release of a podcast about technology, processes, infrastructure, and people in IT companies. Today, CTOcast is hosted by Sergey Borisyuk, co-founder and technical director of PandaDoc.

Listen to the podcast


About our interlocutor:

Sergey Borisyuk began his development career in Minsk at EPAM Systems (2006). In 2007–2010, he worked at SaM Solutions; in parallel with work in the company, he became a co-founder of his own project — Coding Staff, where he held the position of technical director. In January 2011, together with Mikita, Mikado launched his second company, Quote Roller, today known as PandaDoc (an application for the automation of workflow).
')

Text version podcast


Towards PandaDoc



Alexander Astapenko: Sergey, tell me how Coding Staff appeared and how did you turn from a programmer into a founder of your own company?

Sergey Borisyuk: I knew Mikita for a very long time, and it all started when we played in the same rock band. He was a bass player and I was a drummer. And it so happened that Mikita went to America as an exchange student. At that time, the companies involved in website development grew like mushrooms. Mikita made his little web design studio in Hawaii, where he then lived, and he needed some help with programming, by chance we were in contact. After some time, he returned to Belarus, and we decided to open our company, to start doing the same outsourcing, but only on our own. So, actually, was born Coding Staff. Why was this in parallel with my work in other companies? The reason is banal — distribution. I wanted to do something myself, but I was still bound by the contract. I then worked as a Java-trainer in the company SaM Solutions, and we somehow agreed amicably, allocated time and responsibilities.

Alexander Astapenko: And what at that time was the Coding Staff?

Sergey Borisyuk: At that time, Coding Staff — the one-room apartment in which Mikita lived. Another five or six people came in the morning and left in the evening. We cooked macaroni and joked that the American-based software development company dines like that — naval pasta and dumplings. They did different trash work, in general, small websites, something else. We focused on the DotNetNuke site management system and started making projects based on it, and then we started developing modules for it. Even five years later, this sounds strange, but nevertheless, products — small extensions for this site management system — were sold and constantly brought us income.

Alexander Astapenko: How did the Quote Roller project appear? How did you decide on a specific product?

Sergey Borisyuk: In my opinion, in 2010 we went to Google Developer Day in Moscow, where Google evangelist Don Dodge spoke. After talking with him — the most interesting thing was that he didn’t say anything incredible — we were inspired and decided that we had to stop doing nonsense and make our product. Then we, the truth, did not yet know what kind of product it would be.

One fine day, when everyone had already left work, two development requests came to us. Our product and sales managers were on vacation, so to speak. There is no one in the office, and you need to answer and find prices. I began to look for documents that we send to our clients, and, of course, did not find anything. He was freaking out, did not understand what we were evaluating: what prices are for this, what are they for that. In general, I decided that this should not be so, and I need some more harmonious system that would allow sending such documents (offers, answers to customer requests), with prices already indicated there, with what we are doing, who we are the way our process works, with quota. So we came up with the idea for the Quote Roller.

Pavel Pavlov: What happened to the Coding Staff as Quote Roller developed, and later — PandaDoc?

Sergey Borisyuk: We ran two companies in parallel, and at that time Quote Roller was more a project inside Coding Staff. We experimented with a few more projects, which then split off and died. Coding Staff financed Quote Roller, and we did not actually earn money, but invested in the development of another product. It was hard, because the most important thing in startups is the focus. If you hammer into one and the same place, then you can become successful, and if you get scattered and try to make money there and there, then you, of course, will earn, but it will be completely different money. Therefore, after some time, we found a manager who began to manage the Coding Staff, and our focus completely shifted to our own product. We have become a separate company. After some time, the company Coding Staff also transformed into another company.

About the team



Pavel Pavlov: Who helped you create the Quote Roller, later on PandaDoc, at the very beginning? Those guys who were sitting in a one-room apartment in Minsk? Or has the situation somehow changed?

Sergey Borisyuk: Since we decided to change the technological stack, this was a different team. I was a Java programmer, so the open source world is closer to me, and not a proprietary type .NET closed. For Quote Roller, we chose Python from the very beginning and found two programmers who are still working with us. Actually, this was the team: I, two developers, sometimes a designer, and Mikita were more involved in marketing and sales at that time.

Pavel Pavlov: What does your team look like now?

Sergey Borisyuk: Previously, the company had four, sometimes five people, who also did not work full time. Now there are about 30 of us and we work in three offices. The development office is located in Minsk, in South Carolina — customer support and partly sales; in San Francisco, the head office is with our marketing and sales resources. I am with Mikita in San Francisco too. All work on full time, which I am very pleased.

Alexander Astapenko: You recently moved to your head office in California, and the development team stayed in Minsk. Tell us what the management of the development process looks like when you are, say, 11 hours from Minsk.

Sergey Borisyuk: The beauty is that if the team is good, you can be at 11 o'clock temporary difference from Minsk. We have the director of engineering, and he is now doing the work that I was doing in Belarus.

Why did I need to move? The company grew, so my roles and responsibilities changed: at the very beginning you are doing everything, then focusing on release management, features, planning, and only then moving on to work in a strategic direction — technology and partnership. And when you reach this strategic stage, it makes sense to be where your partners and most clients are in the same time zone with them and preferably in the same place: you can come to their office and explain how everything works, what we can do together.

I call up with the team often, and we keep close contact. Working in the same office with the engineers was very nice and cool, because it is easier to make the product when you are all sitting together, and when the team is distributed, it is already more difficult, because the time difference of 11 hours is huge.

Pavel Pavlov: As you yourself said, an important condition was the presence of an efficient and responsible team, as well as a person who would help you in Minsk. How did you manage to build such a team?

Sergey Borisyuk: I guess there are always difficulties. From an engineering point of view, we were lucky to be in Belarus. We have a huge number of wonderful and talented developers that we can hire and that's great. On the other hand, it was not lucky, because it is very hard to make a product to the global market from Belarus. You simply do not have the opportunity to go to the United States until you get a visa.

How did we grow the team? I used to compare the engineering team with the football team. You know, when there are 12 stars who cannot play together, it is much worse than a team of strong and smoothly playing football players. And now the guys have grown into superstars. We, in principle, were guided by this principle and, in addition to technical skills, paid attention to the opportunity to learn. In a startup, culture is extremely important, especially at the very beginning, when you spend a lot of time together. I hired some really good engineers who simply didn’t survive because the culture fit was very different from what we had. A culture fit in the early stage of a startup is perhaps even more important than technical skills.

Pavel Pavlov: Is it possible to understand during the interview whether a person is suitable from the point of view of culture fit?

Sergey Borisyuk: Definitely, you can understand. How did we do it? At first I interviewed the person, then — the guys from the team, and so they derived some average opinion about him. I sometimes find myself thinking that I was going to compromise and thought: “Okay, maybe something will change.” Not changed. If you immediately feel that a person in culture is not very well suited, there is some friction, it is better to skip.

Pavel Pavlov: It’s not completely clear what is the PandaDoc culture after all? How would you characterize?

Sergey Borisyuk: This is when you have any personal qualities that are suitable for the personal qualities of the team. This is how you communicate and what you do after work, how easy you are to ascend, whether you share company values, how much you are a team player. Everything together and develops into the image of a person who can work with us. It is difficult to describe the culture and decompose it into elements, but when you have been working with the team for a year, you immediately understand who you can add there, and who’s better not to add.

Pavel Pavlov: What should you do after work to get into PandaDoc?

Sergey Borisyuk: The most important thing is to love pandas.

Alexander Astapenko: Why will people be interested in working in PandaDoc?

Sergey Borisyuk: If a person was engaged in product development, he understands its differences from working in an outsourcing company. Sometimes developers from outsourcing come to us and say: “Guys, you are doing a single project, so not interesting”. And we all look with big eyes: “How can it be uninteresting if we are engaged in our product?” First, you can influence the product. Secondly, we are very flexible in technology and can try the very latest developments, frameworks and so on. We experiment a lot with technology and features. We are open, and each of our employees knows what has been done in a month, how much the company has earned, how we are developing and what our plans are. This is very different from outsourcing companies. Plus the possibility that the business will grow and become multi-million. As a rule, this is enough to understand whether a person is on fire or not.

About PandaDoc and technology



Pavel Pavlov: Can you tell more about your technological innovations?

Sergey Borisyuk: We started with Quote Roller and used Python and Django in the classic version, without any special innovations, although we probably became one of the very first Backbone users. I even remember that we were listed on the project website. Of course, when Backbone started using everything, they threw us out of there, because it’s better to have huge companies in the portfolio.

After some time, we decided to make the PandaDoc architecture more flexible — this is a REST API with several clients, one of which is AngularJS, plus mobile iOS and Android clients. In general, we have a service-oriented architecture with small, in principle, independent blocks inside. We still use Python and Django. Why such a stack? Before starting PandaDoc, we tried a bunch of frameworks, experimented with non-relational databases, and all the developers came to the conclusion that for us it is absolutely meaningless in the application and further complicates the process.

What are we experimenting with? For example, we collect analytics from documents — something like Google Analytics for sites. You can see how much time a client spends on certain pages of documents from where he looks at them. For this service we use Python, Tornado and MongoDB, for the main part — Python, Django and Postgre.

Alexander Astapenko: We have already gone into technology, but can you say a few words about the PandaDoc product itself?

Sergey Borisyuk: PandaDoc is a web and mobile application that helps automate workflow. It may sound boring, but in fact it is not. The first thing we did was a document editor, similar to modern visual site editors. You have blocks (a picture on the left, on the right, texts, headings, tables, videos) from which you can collect documents. This editor is the cornerstone, it looks very beautiful, we support different themes for documents. Time to develop the documents themselves is also reduced.

True, this would not be enough to sell the product, and now we are more focused on people who sell in companies. And for them, the main reason for using PandaDoc was automation. How does this happen? A person sells a product, and he has to send the customer a document describing the product, with prices, with information about the company — this is what our users do through PandaDoc. PandaDoc helps to get data from one system, very quickly form a document out of them, substitute this data, enter some fields that the client has to fill out (electronic signature, first name, last name, etc.), and then send the document as a link. The client can open the link, view the document, fill in the fields and sign the document electronically, which will be legal in most developed countries. Our user receives a signed document directly to his PandaDoc account, that is, the time to complete a transaction is reduced tremendously. According to our statistics for several years of work in Quote Roller and PandaDoc, we observe an increase in productivity with the product up to 35%.

Alexander Astapenko: How many PandaDoc users are there now? What kind of load are we talking about?

Sergey Borisyuk: Since PandaDoc is a business application, there are no crazy loads. We have about 100,000 users at the moment. Companies that really use, up to about 10,000.

Pavel Pavlov: What is the chosen platform to support users? Where do you deploy your application?

Sergey Borisyuk: I think it will not be a surprise — on Amazon. Why there? It is quite flexible. We have optimized our entire infrastructure and how we deploy it. With the help of Chef, we can add servers in general in minutes, deploy some mirror infrastructures, and so on. It is very fast and well maintained. If something changes, you just changed the recipes, and you have all the updated infrastructure.

Alexander Astapenko: I could be wrong, but, in my opinion, you used Rackspace before. It was so?

Sergey Borisyuk: Since we have two products, for one — Rackspace, and for the other — Amazon.

Alexander Astapenko: I understand that you use Amazon for PandaDoc, and for Quote Roller — Rackspace?

Sergey Borisyuk: Yes, yes.

Alexander Astapenko: Why did PandaDoc decide on Amazon? Rackspace is still not satisfied with something? Besides the price there is something?

Sergey Borisyuk: There, rather, not even the price. For some reason, it seemed to us that the initialization of everything on Amazon is much faster than on Rackspace. Perhaps something has already changed, but we decided to go the way of Amazon. Plus, they have a lot of additional services, one of which we are now starting to use — KMS, key management for encryption. And this is very cool, because for a startup, having your own iron infrastructure for managing keys is super expensive, several thousand per month. So you can postpone spending for a period of time, and it is relatively inexpensive per month. Plus, both providers support startups, and the funds that have invested in us have agreements with them. They give very large loans: 20,000-25,000 for Amazon services, so they practically used the year for free. And the same Rackspace.

Alexander Astapenko: Since we are in the subject of servers and clouds, tell us how you have organized the process of continuous integration.

Sergey Borisyuk: For continuous integration, we use Jenkins. We pay attention to unit tests, but not a lot of attention to continuous integration as such, which, of course, does not please me. But what is, that is. Since the application is rather complicated, there are functional parts that cannot be covered with unit tests, especially integration ones — we have a lot of integrations. We use Selenium for automated testing. In general, we have everything automated, and we can roll out the product in a minute, there are several staging infrastructures on which we work. Two people in a team sometimes do a lot of manual testing to make sure that everything is OK, since Selenium tests sometimes can not be grasped by everyone in terms of logic.

As for release management, we do not have continuous release management. We do not release the finished feature right away in production, but we do it about once a week, but there is no problem in releasing some features between releases.

Alexander Astapenko: I now have a document in Google Docs, where I do some of my own notes for a podcast, and there is only one add-on. Guess what?

Sergey Borisyuk: PandaDoc.

Alexander Astapenko: PandaDoc, yes. You, as I recall, were among the first who made these add-ons. Tell, maybe, someone will help, who potentially has the opportunity to integrate with such large companies and services.

Sergey Borisyuk: Yes, that's right. We participated in the Early Access Program for add-ons, which Google launched last spring. Our first add-on is for PandaDoc. How does he work? You can sign and send Google documents through PandaDoc for signing. The second add-on is to transfer information from the spreadsheet to the document. Suppose you have 100 records and you want to create 100 documents, only with different data from the table — this is what Document Merge does.

How did this happen? One of the reasons is being in San Francisco because such things happen. This time, one of our business angels who works at Google helped us. He got us together with the add-ons team, and we started participating in the program. How the Early Access Program works inside: it's a closed group, there are some updates, access to Google developers. You are developing an add-on, preparing a release, a pre-coordinated PR launch. The experience with Google in the Early Access Program is amazing: you have no idea how quickly people from such a huge company respond. We have had applications in the Google App Store, Chrome before, we are very tightly integrated with them and are friends.

Pavel Pavlov: It turns out that your business day now consists mainly of meetings with partners, investors?

Sergey Borisyuk: No. And thank God that it is not. I do more product, talk to users, trying to find some things that we have to add. My day is now a little more diverse, and in Belarus I focused only on the product and development. It's hard to even say that I like it more. Probably still a product.

Pavel Pavlov: Since you are in San Francisco, then you have the opportunity to participate in various communities, meetings. Do you do such things?

Sergey Borisyuk: I don’t do it yet, I just moved, but on the whole, we really like to support the community. In Belarus, we do it: I myself spoke at the meetings, we are trying to sponsor some things, give prizes. From the latter — The Rolling Scopes community conference. Large companies have an interest in such activities in terms of hiring people. We have no particular interest in hiring, because the company is relatively small and there is no need for a huge amount of resources. Rather, we are engaged in these activities for the pleasure of being inside the community. I don’t participate in San Francisco yet, and frankly, sometimes there is not enough time already.

Alexander Astapenko: You mentioned today that you once started the Coding Staff on .NET, and then you were very pleased with the transition to a more open technology stack in Quote Roller and PandaDoc. What role does open source play in company culture?

Sergey Borisyuk: We have plans, ideas, but as always there is not enough time. It seems to me that open source is the main engine of all innovations. And sometime in my time, while working at EPAM, I was engaged in open source. I liked it: it broadens the mind, connections, makes the world better.

If you look at the number of open source code that we use in our projects, then almost everything there is open source. We have a couple of things that we bought simply because of the license, but this is all open source code.

Alexander Astapenko: I understand that while in PandaDoc you are not very active in open source products?

Sergey Borisyuk: We are not contributing yet, unfortunately, but we have such plans. God forbid that this will happen in 2015.

Alexander Astapenko: Will you say anything at the end of the podcast?

Sergey Borisyuk: I want to say that you should not be afraid to try something and start both in open source and in the direction of startups. I really like what is happening in Belarus from the point of view of this whole movement, when people start thinking not only about the code, but about things in general, like products, the value they bring to the community, people. Mikita and I call our companies the best university for which we paid very expensive, but this is the best education.

Source: https://habr.com/ru/post/257909/


All Articles