Interview with Chief Technology Officer
In this brief interview Eugene Betin, OptimaJet CTO, told us how it all began for him and Dmitry Melnikov, OptimaJet CEO, when they founded their own company. Eugene also provides insight into what distinguishes a good IT product from a bad one and which aspects you should consider when choosing a solution to fit your system. Eugene talks about trends that are most likely to influence workflow systems in the nearest future.
Interviewer: You’re a CTO at OptimaJet. Tell us about your professional journey. What led you to this point?
Dmitry [Dmitry Melnikov, CEO] and I founded this company in 2011. In the beginning there were just two of us, and so we decided that I would be mostly dealing with software development and technical issues, and Dmitry would become CEO and take responsibility for company promotion and development. We started as an outsourcing company, building custom business systems. Very soon we realized that workflow components available on the market were not enough to fit our clients’ needs. That was when we decided to build a solution of our own. It took me around three months to write our first workflow engine, and then a month to replace Windows Workflow Foundation. Next we were building similar workflow systems with an engine of our own making for different clients, until in the end of 2014 we realized that it was time we officially launched our first product.
At that time we had not only a workflow engine of our own, but built the first version of DWKit [Digital Workflow Kit - low-code platform with workflow features] and tested it with one of our clients. It turned out to be a most essential platform which allowed us to avoid writing thousands of lines of code. We spent less time on development and more time on fulfilling our customers’ demands. We just drew a scheme in the designer, bound a few functions to it, and it worked flawlessly! It took us two - Dmitry and me, 2 or 3 months to build a highly-functioning and elaborate business system, considering that we actually spent a lot of time on testing, integration, analytics, etc. And so we decided to quit outsourcing and start selling our products to other companies. We launched Workflow Engine in 2015 as a public commercial product and DWKit in 2017. By that moment we had already been working with DWKit 2.0, a brand new version of our ingenious digital workflow platform. In 2018 we integrated Workflow Engine into DWKit, and next launched Workflow Server, especially for microservices-based architecture. Now we are selling these three products, adding new features and launching new releases all the time.
Interviewer: How do you measure your success?
Well, in simple terms, at OptimaJet we build development components, which we sell to other developers, who, in turn, integrate these components into their projects. The more people use our product - the greater our success is. In other words, the only way to measure success for a company such as ours is to analyze if our customers are happy with what we make.
Interviewer: Describe your current role for OptimaJet
I would say that I am a software architect and technical team lead.
Interviewer: Do you still code? It’s just that many CTOs quit coding and perform purely managerial functions
I must confess that I am not very much interested in managerial work. So yes, I still code. I code every day. Code won’t write itself, will it? Someone has to do it. I am an architect and a team lead who constantly writes code.
Interviewer: How would you describe your management style as a CTO then?
Well, I believe I am a good boss. I don’t think it’s effective if you’re being bossy with your employees. If people you’re working with can do nothing if you don’t give them hell - well, you’d better let these people go. I want my dev team to be highly motivated and truly interested in what they’re doing. Otherwise it’s not going to work.
Interviewer: What technology trends will likely have the biggest impact on our business, do you think?
First of all, everything changes, including software trends and designs. Some very successful products created in the 90-s, are still being used! They are complex, inefficient and unforgivably outdated, but none is planning to let them go any time soon. That is why it’s rather difficult to my mind to speak about trends in the context of software development. It’s not fashion, it’s technology! Though we can definitely say that there are hype technologies. Such as crypto currency or AI. These are two very popular topics nowadays, but very soon they will become ordinary. People get used to new technologies very quickly. It is only inevitable that technologies are going to evolve, become more complex and at the same time easier to use. If we compare technologies I used to work with 14 years ago and those I’m working with now, we’ll see that life has become much easier. In 2006 Microsoft released technology stacks which were quite complex in the first place, and now they are dinosaurs! Today we’ll choose something simpler than the Windows Communication Foundation, for example. It’s much easier to write a simple service of your own, than tame an old monster. I think that the only trend we can talk about is building easy, light-weight and highly-efficient solutions. To do that you need to be very down-to-earth, just like we are at OptimaJet.
Interviewer: At OptimaJet you provide source code to your clients. Who made this decision and why? What benefits does it bring to your company
There are a lot of companies who need to be sure that if anything happens to us at OptimaJet (some force-majeure situation, act of God, Apocalypse comes early), they will still have the source code and will be able to use it for business purposes. That is why we not only provide source code to our clients, but also give some of them access to our repository with commits to each release. I think this is common practice! Though many software companies are afraid to disclosetheir source code, we at OptimaJet are scared of nothing.
Interviewer: What are the characteristics of a good software or IT system design? How do you tell a good architecture from a bad one?
Bad design is when it does not do what you need it to do, and makes you do something you never had in mind. In most cases you’ve got a goal to achieve, and you choose products which will help you achieve it. You have to select the best from a range of similar solutions. And the first question you need to ask if the product you like has comprehensive documentation. Because if you don’t understand how to use a product, it becomes useless, however cool and efficient it can be in itself. Next you see how you’re going to apply it. If you need to re-write your whole system, your architecture - just to use this product, you’d better choose something else, it’s a bad one. As one of our clients wisely put it, “I’m happy that I don’t need to build a rocket to use your product. I just take it and integrate it with my system, and it works!” This is our ideology. At least this is how Workflow Engine and Workflow Server work. As for DWKit, it’s a more complex platform, but it works great when you understand how it works. That is why providing full, elaborate and easy to understand documentation is the most important thing. But I would also recommend to pay attention to license agreement terms, support conditions, how fast the company you’re buying from responds to your enquiries, etc. And finding some adequate feedback from people who already use this solution is a good idea as well.
With a history of success behind OptimaJet, CTO Eugene Betin believes that key to success is creating a good and efficient product. In a world of rapidly evolving technologies it is highly important to build solutions that are both effective and easy to use and integrate. Nowadays successful business is nothing without good technology, and Mr Betin proves this by telling us how they founded OptimaJet and created a few great workflow solutions.