Syed is an experienced software engineer with a background mostly in JVM-based backend development, with some exposure to front end technologies like angular and react. In recent years he has been introduced to functional programming in Scala as well reactive technologies. At first, he says, “I thought it was difficult to grasp concept of functional programming, once I got hang of these concepts, I started appreciating how concise code can be written.”
- What is the biggest misconception of a reactive architecture system?
Reactive architecture systems are a set of principles rather than how to do it.
- What are the advantages of using OSS (open source software)?
You are not locked into proprietary software, waiting for something to be fixed. In one of the projects we were using the Alpakka AWS S3 connector, during development I found a bug in the library and also there was a missing feature as well in the library, since Alpakka is an open source project , I was able to contribute in both scenarios.
- What would you say is the number 1 business value gain from moving to a reactive architecture?
Traditional system doesn’t talk about scalability, while scalability is part of the reactive manifesto. By breaking system into smaller reactive micro services one can develop highly scalable and fault tolerant system.
- What would you say are your top 5 benefits of an agile environment?
Stakeholder Engagement: Stakeholders are involved in every step of the project, this provides better understanding of business vision, delivers working software early, gains stakeholder trust, and much more.
Focus on Business Value: This relates to the first point, teams understand what’s more important and deliver features that provide business values.
Focus on User: Agile development uses user stories with business-focused acceptance criteria to define product features. By focusing features on the needs of real users, each feature incrementally delivers value, not just an IT component.
Improved Quality: By breaking down the project into manageable units, the project team can focus on high-quality development, testing, and collaboration.
Allows for Change: While the team needs to stay focused on delivering an agreed-to subset of the product’s features during each iteration, there is an opportunity to constantly refine and reprioritize the overall product backlog.
- What is one thing you are most excited about in the tech industry for the near future?
I would say severless technology with managed state.
- What do you like about working at YoppWorks?
Culture, you would be working with talented, highly skilled software developers, and also you would be building softwares with reactive architecture and domain-driven design.