I find "distributed systems" to be a huge source of imposter syndrome. Despite having worked almost exclusively with distributed applications for several years now, it is difficult to consider myself experienced. When I'm asked if I've worked with distributed systems, I don't think they are asking me if I've managed a Hadoop cluster. They are interested in building new applications using some of the primitives discussed in this post. All of these links are great, but the fact is that building and operating tools like this is hard. In addition to consensus primitives, your system may need very precise error handling, structured logging, distributed tracing, resource monitoring, schema evolution, etc. In the end, I probably pause for a second too long when answering that question, but I don't think its because of a lack of experience, quite the opposite!
lostcolony|5 years ago
Congratulations, you are better than 95% of the people that I've interviewed out there saying they are experienced building distributed systems. Including system/solution architects.
cbsmith|5 years ago
calcorbin|5 years ago
0xbadcafebee|5 years ago
The actual hard stuff is not even these papers, it's the implementations that are way more complex than some algorithm or architectural pattern. Anyone who says "X is better than Y" is fooling themselves because it's only the implementation context that matters.
The only thing you can say for certain is that reducing the amount of components and complexity in the system often results in better outcomes.
ystad|5 years ago
shred45|5 years ago
zcw100|5 years ago
parentheses|5 years ago
pratik661|5 years ago
ethanfinni|5 years ago
parentheses|5 years ago
abledon|5 years ago
chrisweekly|5 years ago
for the uninitiated,
The Dunning–Kruger effect is a cognitive bias in which people with low ability at a task overestimate their ability.