Ajay has five years of software development experience. He started his career as a java developer working on android applications, and after he became a backend developer. Ajay has worked at early-stage startup companies as a full stack developer. Most of his work involved the use of scala, play framework, android, web, PostgreSQL environments. Ajay has also worked with neo4j and gremlin.
Prior to working at YoppWorks, he worked as a big data developer at a commercial bank in Vancouver.
- What is the biggest misconception of a reactive architecture system?
I used to think a reactive architecture (RA) system would require high technical investment and there is a chance of being locked in a ‘non-traditional’ system of development.
- What are the advantages of using OSS (open source software)?
Open-source software helps us to take a look into the code and understand how things work and maybe tweak something to better fit our needs. Most OSS tend to be free/inexpensive to use and have a high user base and an active community.
- What would you say is the number 1 business value gain from moving to a reactive architecture?
It’s considered a good idea to do non-scalable things at first so that the startup can adapt and change to the market until it finds a product-market fit. Reactive architecture, especially LRA is easy and wide enough so that we can do fast iterable development in a scalable way. It’s a win-win situation. We don’t need to worry about building separate scalable systems when the business starts growing.
- What would you say are your top 5 benefits of an agile environment?
Iterate Fast: Agile methodology encourages fast iterable products which are crucial during the early stages of development
Able to see the whole working product after every iteration: rather than one big release after a long time in development, we can get to know the whole product after every change.
Great Customer Satisfaction: Customers have a big role in the whole process and the ability to see the product changes in a relatively short period of time helps with customer confidence.
Reduced Failure Costs: Failures are unavoidable and when they do happen they are expensive. An agile environment will provide a recent backup during those failures, almost making them invisible to the user.
Increased Transparency: Everyone in the team has a better idea of the product. The increase in transparency leads to better ideas and the overall success of the product.
- What is one thing you are most excited about in the tech industry for the near future?
The wide adoption of scalable systems like LRA and the increasing usage of graph databases is something that I’m excited about. The software systems are turning to map the real-world concepts into the design. Treating the software like the real world makes conceptualizing the system much easier. Reactive systems embrace the chaos of distributed systems, just like in the real world, while graph databases help map the connections in the real world to how it needs to be designed.
- What do you like about working at YoppWorks?
Scala, Not many companies use scala as the core tech. Working on reactive systems is something I’m looking forward to.