
Ask HN: How to get started with distributed systems? - chef_zero
I have been working in software development for a few years, but, unfortunately, I didn&#x27;t get enough exposure to problems that require true scalability and high availability. I know there is a wealth of great reading material on these topics, but it feels like I wouldn&#x27;t truly internalize that knowledge without putting it into real practice.<p>There is an opinion that the best way to start is to work for an existing project with high scalability requrements. However, having little practical experience, I would personally be worried about either being useless at my job, or worse, dragging my team back by introducing bugs as I learn.<p>An obvious solution would be to practice writing scalable code on my own, but then, naturally, I would need a performance testing framework&#x2F;service, which could validate my work, but I still don&#x27;t seem to find one that can actually help me.<p>I am curious about how software engineers generally learn to design the efficient, scalable and performant code that powers the services that millions of people use every day.<p>In advance, I apologize if this question is too trivial for the HN audience.
======
marknadal
As far as testing tools, we have released a distributed testing framework that
allows you to write tests (with Mocha, or similar) that run across many
machines and it verifies wither your system is correct:

[https://github.com/gundb/panic-server](https://github.com/gundb/panic-server)

In terms of performance I recommend things like Benchmark.js, and I recently
did a talk on JS performance here: [https://www.youtube.com/watch?v=BEqH-
oZ4UXI](https://www.youtube.com/watch?v=BEqH-oZ4UXI) .

Your question is great! Definitely not trivial. :)

