Hi Chris! How are you today? Thanks for joining us 😃 Want to kick us off by introducing yourself and what you do at StormX?
Hello, thank you for having me. I am doing great, it's a fascinating time to be in the industry. My name is Chris and I am a Senior Full-Stack Developer at StormX. I help our team achieve business goals by building different solutions using different technologies. I am also involved in various things related to the business including managing the infrastructure, monitoring it, recruiting, research and more.
What do you like about working in startups?
In all the years I have worked with startups, I have learned a very valuable lesson about how much fun it is to learn new things. Also how important it is to set exciting goals and have a long-term vision. The way I think about startups is that you should never stop learning and you should never settle. There are no situations that cannot be overcome with the right mindset and enough time. The startup space also brings a lot of smart and innovative people. Thanks to all this, I love working in startups.
What technologies do you work with at StormX?
At StormX, we use a whole range of technologies. For the frontend, for example, we use React.js and React Native. For the backend, we use Node.js. The databases we use are PostgreSQL, MongoDB, and Redis. For containerization, we use Docker to then deploy those containers to Kubernetes. For CI/CD, we use Github Actions. We use a microservices architecture supported by AWS Lambda functions. For smart contract development, we use Solidity, Truffle, and Hardhat. That is a high-level overview of the technologies we use at StormX. We are always open to expanding our technology stack and trying new promising tools that are out there.
What are some of the biggest challenges you’ve come across over the past two years at StormX?
In my opinion, one of the biggest challenges in working with software is often the concepts that are not well researched and preserved and therefore harder to understand. This sometimes means that we as software engineers are working on something that was developed recently, there are not many resources about it and a lot more research needs to be done and we need to understand the reasoning behind it. Also, because these new concepts are not well understood yet, it can be difficult to explain them to other people. This is especially true in the crypto industry, where some new ways of doing different things are being developed rapidly. Working on such things can be challenging, but at the same time, figuring them out is very rewarding.
What practices have been implemented within the engineering team to help allow for scalability?
One of the biggest scalability tasks we did some time ago was a migration from Elastic Beanstalk to Kubernetes and a subsequent refactoring of most of our Lambda functions. This migration allowed us to run our backend systems on a more scalable, robust, and high-performance infrastructure. Refactoring the Lambda functions also cleaned up our codebase, making it more manageable and easier to understand. Another good thing we have done is we have started using Infrastructure as a Code with Terraform, which has allowed us to run our infrastructure in a more predictable way and less prone to errors.
How is your engineering team structured? What is the culture like - especially for some of the team who work completely remotely?
Our engineering team is flat structured and we all work from different parts of the globe. We have different engineering roles, some of them work on the frontend and the others on the backend, some work on both. We also have data engineers who validate and improve our data, and designers who perfect our user interfaces. We are all good colleagues, work hard, and are passionate about crypto. We aim high, move fast, and are always open to what the future holds.
Tell us a little bit more about your interest in Blockchain and Web3 technologies. Where do you see the future of these technologies in the future?
I made my first bitcoin payment many years ago when I paid a friend for lunch. It was then that I realized how powerful and how much potential this technology had. Over time, my interest in decentralized protocols, especially Blockchain, evolved until I realized that this is the area I want to focus on professionally. Blockchain has huge potential and some of it is being realized right now. DeFi is still something that blows my mind, and it's just getting started. I think we will all be hearing about a lot more crypto initiatives in the future.
Within your team how do you prioritise feature requests and feedback that comes from both internal and external sources? How do you decide what goes into the roadmap?
We regularly revise our roadmap and try to keep up with it as best we can. Usually feature requests come from our business team, based on observations of the market and our users. We listen to our community. For example, in our core product: shop, our users can suggest which shop we should add next to our list of partner shops. By the way, did you know that we just launched another suggestion in our governance system at https://governance.stormx.io? You can contribute by logging in and casting a vote for the current proposal, how cool is that?
How did you first get into software development, what sparked your interest initially?
When I was younger, I played a lot of computer games. Mostly I played strategy games. In strategy games, there are usually scenarios or "maps" that a player can play. I became interested in how these "maps" were created, and eventually, I started building my own and sharing them on the internet. I had some good feedback and that got me thinking that this is something I was born to do and have a lot of fun doing, especially when my work is so well received. Later on, I started creating scripts and in no time, I started programming and eventually ended up in software development.Thanks Chris! You can find out more about StormX by checking out their LinkedIn page.