Roman Semko is a senior developer in Python, Javascript and blockchain with an extensive experience in the field of other technologies (Angular, React, machine learning), which he has been dealing with since 2002. He is, in deed, one of the most active community developers around IOTA with solutions such as Romeo, Nelson, Carriota Fields and Hercules that tend to make easier to run or interact with Full Nodes.
On behalf of the IOTA Hispano team we want to thank him the time dedicated to this interview as well as his effort delivering tools to improve the user experience of a yet not that friendly project.
Daniel De Michele (Carpincho Dem)
Head of contents, IOTA Hispano
IOTA Evangelist Network member
Roman, how would you introduce yourself in some words?
Well, I am Spaniard with Ukrainian roots. I grew up in a multinational environment in south Spain. I studied economics, finance and IT in Madrid and Darmstadt (Germany). I have been working as financial advisor for some years before switching to a full-time IT career. Together with my brother and his wife we created a small family business developing B2B solutions for almost 10 years now. We work mostly behind the curtains in an extremely organized matter. Our public presence in the IOTA community is an exception to that rule.
Tell us a bit about when/how did you start getting involved with crypto world and DLT technologies?
My father used to say that financial flows are the blood of the economy. It is a fascinating world for me. Just as fascinating as the technology. Combine the two and you potentially have something that can keep my attention for a long time! I have followed the crypto world for many, many years. But the blockchain technology was never viable for a global usage in my opinion. So my involvement was limited mostly to watching it unfold on the side line.
How would you describe your approach to IOTA? When did you first hear about it and when did you decide that it was worth to start developing solutions for it?
For the first time I have heard about IOTA about two years ago. My first – financial – involvement was only last year. I have started writing on Medium about crypto with focus on IOTA. That was also the time we as a company started brainstorming ideas for IOTA projects. We worked on a fleet management solution before and know the importance of managing huge infrastructures efficiently. If IOTA is globally adopted, the world will need something like a “telematics” system for the financial and informational flows on the tangle. That is how CarrIOTA was born.
At that time, IOTA was not mature enough to make it work. Things like P2P auto-discovery were non-existent but extremely important for our project. Most logical step was to help ourselves by helping the community. We started open-sourcing each and every aspect of CarrIOTA as separate libraries and utilities that could be tested and used by the community.
This community work rapidly became more important than the final product. It is very rewarding to see IOTA evolve and being able to contribute to its success.
Would you consider joining the IOTA Foundation or you prefer to keep adding value to the project from your community developer position
Working as an employee for a rigid entity will definitely slow us down. We are fast, because our team has history. We worked for a decade in the current constellation and we are extremely optimized and effective. We know how to react fast to the changed environmental conditions. We
prototype at record speeds. A small, established team will always have an edge over a bigger company that is still yet to find itself.
I guess, it all depends on the conditions. Financial support is always welcome, as long as it does not hinder our speed, creativity and freedom for decisions.
Otherwise we will continue developing as renegades. As I like to say: you can work on the foundation (of the technology), without being in the Foundation. Working for IF shouldn’t be the “holy grail” for a developer in the IOTA community. A strong community base is just as important.
What’s your relation with the IF and the core developers team? Do you guys interact when developing new stuff?
I met Dom once at a meetup in Berlin. We also had sporadic contact with different members of IF. I see more interest in our work from the side of the Foundation. This is very flattering. Apart of that, our decisions and developments are independent from the IF.
I think, as the technology grows, at some point it will be very important for biggest players to align themselves about the future of the protocol. Something like The World Wide Web Consortium.
We know you are a senior Python/Django developer. Why did you use the javascript library instead of going with PyOTA?
I am also a senior JavaScript developer! The idea behind was to write everything CarrIOTA in just one language. This focus shifted lately with introduction of Go for Hercules, though.
Despite having to work in non IOTA related projects, you developed lot’s of software tools to address better IRI/Wallet experience. How do you find time to do all this?!
I like to say: Motivation Moves Mountains. However, neither me nor my team are superhumans. We did quite a lot of hours beyond our usual projects in the past months, that is true. But the secret is really to know your team, your strengths and, most importantly, knowing to organize yourself. For private life or a one-man- show I recommend “solo scrumming”. It does wonders!
Do you think the just released IOTA Ecosystem fund is a well designed tool to increase community participation? Would you suggest ways to improve it from your short experience with it?
The German Foundation is a smart prestige move. However, it is a bureaucratic nightmare and very limited in its actions. If it was up to me, I would have split the entities to have a Foundation’s “right arm” that is quicker to respond and manage the Fund. Didn’t have to be in Germany, either.
Financial support will definitely help young projects and attract more developers. I only hope that it will not become a bureaucratic burden for the project owners.
Do the tools you develop to help in the IRI area go through some kind of audit to guarantee they are safely doing what they are supposed to do?
Our tools are better prototypes – nothing more. Some things were built upon similar projects and tools that were thoroughly tested and audited. Take Nelson, for example: It’s origins are from a completely different area (unfortunately, I cannot be more specific here). And it has proven its
efficiency and reliability which I would bet on. (It’s fascinating how ideas from a completely other realm can find new home in the most unexpected places!)
However, all our tools are far from production-ready. They still need much more love and dedication!
IOTA is cutting edge technology and that means that most times you got to deal with lack of documentation when trying to create new solutions. How did you solve this when developing stuff and what advice would you give to people trying to start on this path?
Learn the basics: Java, JavaScript, etc. Ask questions. Try building a sample project and you will see how more questions pop up. Google is your friend. Check out and start reading the code. Try to sketch and visualize different components and how they interact. Most importantly, have fun at what you are doing!
Carriota Field has 1368 nodes as I write this question. Do this scheme has a SPF at the Load Balancing instance (i.e. if your Load Balancers go down, would all of those nodes be unreachable until this is fixed?)
The CarrIOTA Field is a prototype and demonstration of an effective load balancer for IOTA nodes. It is far from ready. We had to downscale it a little in the past few weeks due to the high costs.
However, the stack I have in mind will make it completely resilient to most attacks. This needs resources, obviously, that we do not have at the moment. As I am writing this, the Field generates a whopping 9 terabytes of traffic a day!
Because of the generous donations we are able to continue running it for at least the next 3 months. My hope is to finally release the open-source version and decentralize the Field until then.
There is also a prototype project on the table to create a second network layer on top of IOTA – a network of Fields that are able to auto-discover each other, distribute the work between each other and allow it’s users to be completely independent to what node or Field she connects to.
Could you tell us a bit about how the Load Balancing works in Carriota Fields?
It takes a request from the user and forwards it to several active, connected Field nodes. When those nodes answer, the response is cross-checked for validity and returned to the user. Apart of the validity checks and a few other things, it is not so different from a usual load balancer.
From what we know, how do you imagine Qubic will transform the crypto scenario?
What novel solutions could the known features (Oracles, Smartcontracts, Outsourced
computing) bring?
I can only speculate how the final Qubic would look like and what it would be capable of. If my assumptions are
correct, it will lead to crypto-cambrian explosion led by IOTA. We are already studying a mind-bending use-case,
which I will keep for myself as to not spoil the surprise. 🙂 Use your imagination!