About Jared Harper

Photo of Jared Harper

Distributed Systems Specialist

Professional Summary

Distributed systems problems are multithreaded problems writ large.

I love digging into problems and understanding them holistically. Often systems are built to solve for a feature, but are later found to be problematic at scale. My passion is improving the efficiency of these systems. Sometimes the solution is at the granular level, while other times it lies at the overall architectural level, or anywhere in between.

Technologies

Areas of focus

Polyglot programmer
I have worked in many languages, often across multiple repositories of the same project.
Data storage
Whether it's relational data or "big" data, I have experience in determining the best tool for the job, at scale.
Distributed systems
Whether running a classic service-oriented architecture, or newer flavors of microservices, it is important to identify how to maintain the system as it grows. Defining data flows and coordination are important to creating maintainable, scalable systems.
Stream processing
With incoming high-throughput data, it's important to persist data before operating upon it. It's also important to create partitioning schemes to enforce order when data is processed later.
Observability
Knowledge of how a system is performing at every layer is crucial to improving efficiency and performance, and improves the odds of solving future problems quickly. Over the years I have cultivated a method for determining ways to increase observability while producing code. This most often includes metrics at any IO layer but also includes adding custom trace spans or log lines.