5 ms·
That would still be programming specialization, as opposed to domain specialization where programming can be applied. I used to know this guy who knew the ins
by draw_down 9y ago
That would still be programming specialization, as opposed to domain specialization where programming can be applied.
I used to know this guy who knew the ins and outs of the health club industry, and he could program a little. He made a lot of money. I think this is more in line with what tptacek is describing.
- rubicon33 9y agoI think it's still a domain specialization to a degree. The domain being, mobile. Being an expert in iOS is more than just knowing how to program in Swift/Objective-C. It encompasses a deeper understanding of mobile development and the apple ecosystem. True senior level iOS people will understand core user interface design principles as they relate to mobile, and will be intimately aware of Apple's Human Interface Guidelines. They'll understand mobile accessibility and be deeply familiar with the myriad of tools in iOS. They'll understand internationalization and how to design an application to support various calendar systems, and text layout paradigms. They know the ins-and-outs of Apple's provisioning and certificate system and can quickly sniff out configuration issues. They understand how important testing is and how well supported it is. They know how to setup automated builds using xcodebuild, and how to support automatic unit and ui tests. The list goes on and on. Certainly one could just be an app developer and stop there. But being a mobile domain expert in my opinion is a much more valuable albeit niche position.
- tptacek 9y agoNone of this stuff really sounds "defensible", in the marketing sense, to me. This is just programming. It's the goal of the platform to make programming as accessible as possible to everyone. It's better to be good at mobile than to be good at nothing at all, sure. But I'd be really careful about picking a specialty that amounts to "my domain of expertise is AppKit", or "my domain of expertise is Scala", or anything like that.
- rubicon33 9y agoThe 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 ago
- deleted 9y ago[deleted]