By Hrishi Dixit, Chief Technology Officer
Every other Friday, a group of senior staff in the “PDT Complex” as we call it, (Product Design/data Technology) meet for an Architecture Council meeting. New ideas are discussed, current challenges are litigated, detailed minutes are taken, action items are documented and best efforts are taken to follow up on those action items. At the top of the document that records the minutes of these meetings, there’s a quote:
Do the difficult things while they are easy,
And do the big things while they are small.
That ambitious CTA, while not as famous as the truism that follows it in the original writings of Lao-Tzu: A journey of a thousand miles must begin with a single step, best captures the way we try to approach product, design and technology here at Yieldstreet. Whether architecting “future-proof” solutions for problems, debating optimal pod structures, designing experiences, defining processes for shipping code, hiring talent, grooming leaders, choosing technology stacks, or, as one of our core values states, deciding with data, we try to aim for that spirit. Of course, we don’t always get it right. Nor did we always do this in the early days (tech debt, anyone?). We have had our fair share of stumbles along the way, we have learnt from them, and to the best of my knowledge not repeated them (at least not more than twice). But through successes and stumbles alike, we’ve learnt. We are learning every day. Because the learning never stops.
Through my experience building software over the last 24 years, I know that most of our learnings and overall experiences as a young and scaling tech startup are not unique to us. Most of them are portable (OK, maybe that weird secondary market flip issue was our own special thing). This, among many others, was our motivation to launch Distributed, our Product, Design and Engineering blog: to share the learnings from our experiences building and scaling the platform, the infrastructure, the team, and the company at large. Of course, we’ll want to show off some of the cool stuff we are building as well.
But overall, we are crazy about building engaging digital experiences. We love asynchronous APIs, distributed systems, reactive microservices and CQRS. We fervently believe that event journals should be sources of truth, and server-side rendering is a good thing. We stare hypnotically at Looker and Grafana dashboards (my Head of Infrastructure took my htop and log tail away from me recently, as we migrated to EKS. I’m old-school, I miss VT-100, green-on-black is nostalgic). We are well-steeped in React[/Native], Gatsby, Akka, Kafka, Kubernetes, Cypress, Terraform, Ansible, Spark, Snowflake, and much more. We speak many languages: Java, Javascript, Scala, Python, PHP, shell. Some of us have even dabbled in some dark arts: Golang, Elixir, Haskell. We understand a design system is a living organism, and product owners are the Bernsteins that keep the great PDT symphony alive and humming. We love process, documentation, test automation and continuous improvement. And while we agree that MongoDB is not web-scale we are totally on board with eventual consistency.
So we’ll talk about all of these, and more. Maybe we’ll even throw in a coding challenge once in a while!
We hope you enjoy the ride.