from Hacker News

Ask HN: How to specialize instead of being a generalist?

by yxre on 6/26/23, 10:11 AM with 2 comments

I have mostly focused on being a generalist software engineer since that job market is big with lots of options. In my current search, I was highlighting attributes from my experience to try to sell myself as an expert in a specific tech stack. I am curious about this question generally, but the stack is react/redux and performance on the web.

With 10 YOE under my belt, I have heard that you can go into management or become a domain expert. I am interested in finding out how to sell myself and find work as a domain expert.

* How to find companies experiencing pain points in a specific area? * Do companies look to hire experts? Or do they mostly hire generalists that they then allow to skill-up while on the job in a specific area? * Has anyone successfully become an expert in a stack and work through consulting and/or hired specifically for that experience? * Do the maintainers of the open source projects get hired for their expertise on their own open source projects? (The redux maintainers don't even work full time on redux. Mostly at random start ups.)

  • by gregjor on 6/26/23, 11:37 AM

    In my experience (40 years in software dev) “domain expertise” refers to business domains, not programming languages or frameworks. For example I have significant domain expertise in enterprise logistics. I have significant technical expertise with relational databases. Either or both of those let me offer value to potential employers.

    Domain expertise may refer to security or scaling infrastructure, but unless you write compilers and libraries it usually doesn’t refer to languages and tools.

    React/redux doesn’t count as a domain, nor as a technical skill that takes so much time to master that experts have 10x the productivity of average developers. And it’s likely to fade away fairly fast, compared to something like Oracle or web development at scale.

    No one “becomes” a specialist, that’s not an identity. It’s a shorthand to mean someone with extensive and uncommon experience and expertise. You gain domain expertise by working in a domain long enough to know what you’re talking about and demonstrating you can add more value faster than most other people.

  • by GianFabien on 6/26/23, 12:43 PM

    These days, information technology is table stakes. The specific technologies used are merely a means to the solution. Any technology will do so long as it meets the functional and "non-functional" (QoS, uptime, reliability, resilience in face of cyber-attacks, etc) requirements.

    The critical expertise is in the domain. For example, if the business is insurance, how do you assess adverse claims? How is re-insurance priced? procured? How is re-insurance re-insured? syndication? etc. How to incorporate the works of actuaries, underwriters, investigators, etc. There are hundreds of business edge cases. Knowing their impact and how to address them is what constitutes domain specialization.