4 ms·
The OP mentions a couple domains that you could also dismiss as "just programming", but actually have a depth to them which allows for specialization: Security
by rubicon33 9y ago
The OP mentions a couple domains that you could also dismiss as "just programming", but actually have a depth to them which allows for specialization: Security, and kernal development.
You could claim that software security is "just programming" for instance... But you likely wouldn't, because it requires a level of understanding that is especially deep, and niche. It doesn't really matter that a security expert likely reads a ton of code, and writes some too, it's that they understand a subset of the industry to a high enough degree that they stand out among their peers.
I propose that you can be a mobile expert, just as you could be a VR expert for example. At the end of the day it's more then just programming, it's a combination of hardware / software / tools that retains a degree of uniqueness.
- tptacek 9y agoI think I managed to communicate about half my point to you, but missed the mark with the other half. Yes: you can specialize in being a really good programmer for a particular platform. I have a lot of friends who specialize in being Serious Engineers, who understand how to get interesting and important things done with lenses and how to effectively get a whole project away from null pointers and into monadic error checking and how to use type systems to prove programs mostly correct as they're being written. That is a real specialty. It takes real skill and investment of time to get to the point of being expert with that stuff. I'm not diminishing the value of being an expert software developer. I'm just saying that basket of specialties is unlikely to command a very high wage premium, not because it's unspecialized, but because it's hard to fashion a value proposition for it relative to your competition in the market. There will be times during which particular platforms or languages will get hot, and it'll be good to be expert with them. But (a) those phenomenon will be more transient than other problem domains, and (b) the wage premium for being specialized in them will still probably be lower than the wage premiums for the other domains. At any rate: as long as you're thinking about the domains you're specializing in and not a career as a "programmer" or a "builder of software", we can probably agree to disagree about the rest of the details.
- pw 9y agoWhat about specializing in a platform or language makes it hard to fashion a value proposition for it relative to one’s competitors in the market? (Not disagreeing; just trying to wrap my head around this. Also, I think your comments in this thread have been super useful.)
- tptacek 9y agoEvery senior developer in the market who codes at all in your platform is going to represent themselves as a subject matter expert in that platform. To make matters worse, developers will disagree with each other about what the Right Answers are for a given platform or language or engineering approach. Cryptographers (as a counterexample) also disagree with each other about the Right Answers in crypto. But serious crypto people are generally competing for jobs only against other serious crypto people, and there aren't that many of them. Moreover, the general domain of cryptography isn't going anywhere. But look at Objective C, or Windows Mobile. Finally, proving value as a subject matter expert on a language or platform depends on companies having hiring processes that reliably spot expertise. But, of course, hiring processes do a terrible job at that.
- pw 9y agoThanks so much for the response. Can you say any more about what kind of domains tend to be lucrative? It seems like all your examples (distributed systems, sensor fusion, software security, OS kernels) seem very “technical”, for lack of a better word, compared to, say, knowing a lot about the health club industry (a different example mentioned in this thread). Do you think that’s an important distinction?
- tptacek 9y agoI think knowing a lot about a particular vertical is hugely distinctive and valuable, often more so than technical specialties.
- 9y ago