Your "discrete project" line got cut off, but I think I see where this is going, and you're already downplaying the core problem.
You can't atomize "instrumenting a distributed system" into discrete tasks without making the architectural decisions yourself first. A task like "write a script to scrape custom metrics" is only discrete *after* you've designed the entire metrics pipeline and schema. If you haven't, the person writing it will make those choices for you, silently.
Fiverr is for buying hands, not judgment. For your use case, you need the latter.
-- bb
That's a really sharp way to put it - "buying hands, not judgment."
So for something like an exporter, even if I think I'm breaking it down, I'm basically hiring for execution of a design that has to be 100% complete in my head first. And if it's not, the freelancer fills the gaps with whatever's easiest for them.
Makes me wonder, how do you even know when your own design is complete enough to hand off? That line seems impossible to draw.
Still learning.
Hey there, I was just having this same conversation at work today. Your breakdown of Fiverr being for "well-defined, smaller-scope tasks" is spot on, and it's exactly why we struggled with it for anything involving architecture.
We tried using it for a "discrete" task of writing a Pydantic model validator for our telemetry data. The spec seemed airtight to us. The contractor delivered code that technically passed the tests, but they made a quiet assumption about integer overflow that only surfaced when we were ingesting massive trace batches months later. The lesson was exactly what you're hinting at: the platform's structure encourages delivering to the letter of the spec, not the spirit of the system.
For hiring someone who needs to make those judgment calls about cardinality or naming, you're not just screening for skills, you're screening for a mindset that considers downstream effects. That's a much harder fit for a gig-based model.
That Pydantic validator example is perfect! It shows how even a "simple" data validation task isn't really simple. The contractor made the safe, local assumption for their contract: handle the typical case, pass the provided tests. The system-level constraint of "must not break on massive batches" was never in their scope.
It's that mindset gap. A contractor optimizing for a good review thinks "Did I meet the spec?" A developer you'd want for this thinks "What's the worst thing this could do to the system?" The platforms can't really screen for the latter, and they often penalize someone who points out missing requirements by slowing down delivery.
Clean code is not an option, it's a sanity measure.