Home » Tech Team Tuesday: Meet Josh Lemer

Tech Team Tuesday: Meet Josh Lemer

  • by

Josh is a software engineer with over 5 years of experience in the Scala and JVM ecosystem, and a background largely in data processing pipelines with tools like Flink and Spark, as well as in building microservices. In his time off he enjoys learning new technologies, these days he’s really interested in Kubernetes, Clojure, Go, and the modern JavaScript ecosystem. Outside of software development, he loves cycling, podcasts, and tending to his carnivorous plant collection.

  1. What is the biggest misconception of a reactive architecture system?

The biggest misconception is that reactive architecture introduces inconsistency in applications. In reality, every distributed system has to deal with inconsistency, but reactive architecture gives you the mental framework to deal with this inconsistency upfront. 

  1. What are the advantages of using OSS (open source software)?

Taking on a dependency for your project comes with certain risks, and choosing well-adopted open source projects can alleviate some of those risks, such as the risk that the software will suddenly not be offered any more, will change in ways that hurt the majority of users, or that the terms of use or pricing will suddenly render the product unviable. 

The same calculus applies to developers in their choice of which software to invest their time and careers into learning. Developers will in general be more willing to invest time in mastering open-source software because there is a greater assurance that it will be available to them in the future, and even be transferable between projects.  

  1. What would you say is the number 1 business value gain from moving to a reactive architecture?

The improvement in availability. A project employing a reactive microservice architecture can have components that go down without affecting most of the application’s behaviour. 

  1. What would you say are your top 5 benefits of an agile environment?
  • Short feedback cycles reduce the risk of building the wrong products
  • An emphasis on delivering some business value ASAP helps to iron out shortcomings in architecture and prevents developers from engaging in gold-plating or over-engineering.
  • Changes in business strategy can be rapidly integrated into the team’s work.
  • Factors that impede the team’s productivity can be readily addressed
  • Product development teams can have more confidence in the progress being made, can participate more directly in its development, and have input into what trade-offs the team is making.
  1. What is one thing you are most excited about in the tech industry for the near future?

There are new and exciting approaches to concurrency that are becoming more mainstream nowadays, which have the potential to radically simplify the way we write applications. Here I am thinking of the Communicating-Sequential-Processes style popularized by Go, which has since spread, in varying degrees, to Clojure, Kotlin, JavaScript and others.

  1. What do you like about working at YoppWorks?

Yoppworks values employees that take initiative to try new things and share knowledge with their teammates. They also treat all their employees with the utmost respect and I really appreciate that.