← Back to context

Comment by ralferoo

3 hours ago

Interesting that this dev sees domain knowledge as the most important part of his job. Over my nearly 30 year history, I consider domain knowledge as the least important aspect, and in fact have experience of many varied domains. 3 years web development, 2 years systems administration, 5 years point-of-sale / payment systems, 3 years performance management software, 16 years games development, 2 years GPU development tools, etc.

In every case when I've shifted domains, the skills that have got me the job were demonstrable solid programming experience on a wide variety of systems, with only a tangential link to the new company's business. In each case, I've gone in knowing almost none of the domain knowledge, but it's never been a problem because the business analysts know that stuff and tell me what they want me to do, or it's been stuff I've been able to pick up in the first few months.

For example, when I switched to games development it was the combo of systems admin and web backend development that the company wanted, I actually used none of those skills in the first year doing what they hired me for, and pretty quickly I'd transitioned from that to become a rendering engineer, and I've now spent the majority of my career optimising shaders and game engines.

So for me, it's certainly the case that I value my adaptability across domains, and I'm not worried about having to shift to another business domain because I know I'll be able to produce whatever it is they want if there's a reasonable spec in place.

Sure, when hiring if you have 2 candidates - 1 with the exact domain knowledge you want, and 1 without, the one with domain knowledge has a head start, but in the case where nobody has that domain knowledge (or in the case of the article, it doesn't matter because AI levels the field), then I don't think it matters much. Personally, I'd rather be the person with the broadest skills and able to pick up what I need than to have been stuck doing the same thing my entire career.

Most people don't really want to acknowledge this because most people have optimized only for learning domains and are still terrible at the job of actually putting together solutions, writing software, etc., even after 8+ years of work ostensibly doing exactly that. Constantly falling standards agree with them, though; no one really cares to have good software that is well put together, it's more important to have surface level knowledge about frameworks and domain knowledge that can be taught in less than a month (though most people think their particular domain is oh-so-complex and difficult to deal with).