I have the same experience with local models. I really want to use them, but right now, they're not on par with propietary models on capabilities nor speed (at least if you're using a Mac).
I’ve worked with great engineers from India/Pakistan. I didn’t hire them, so don’t know too much about the process of how to find them but they were definitely as good as anyone I’ve seen in Europe.
I live in Spain. I’ve been in the industry for the last 10 years.
I’ve seen from a very close distance several European companies move a big part of their operations to India. Have had close friends laid off recently and seen them struggle for months to find a new jobs. Plus, I see tighter freelance market these days.
While I agree that you must be careful when using structured outputs, the article doesn't provide good arguments:
1. In the examples provided, the author compares freeform CoT + JSON output vs. non-CoT structured output. This is unfair and biases the results towards what they wanted to show. These days, you don't need to include a "reasoning" field in the schema as mentioned in the article; you can just use thinking tokens (e.g., reasoning_effort for OpenAI models). You get the best of both worlds: freeform reasoning and structured output. I tested this, and the results were very similar for both.
3. There's no silver bullet. Structured outputs might improve or worsen your results depending on the use case. What you really need to do is run your evals and make a decision based on the data.
Also, you split train/test/val by chunk and not by document[3]. Then, the model "has seen" the documents that you're using to evaluate it (even if you're not evaluating it on the same chunks).