> A good first step is pick a specific problem and/or a specific industry
To add, I prefer thinking of three levels of specialization:
1. By vertical or industry (oil and gas)
2. By problem or technical domain (user interfaces, data pipelines, etc.)
3. By platform (Salesforce, React, etc)
2 and 3 could be conflated, but I like to separate them. Your specialization can cut across dimensions and at a small scale it's likely the best (eg: "we build custom Salesforces apps for sales processes in oil and gas")
> You can make more money doing the first but your job will eventually be 100% account management and sales.
There is not two ways about this, but emphasis on eventually... I think up to a certain scale you will be able to combine technical and management - although arguably the scale is much smaller than we'd like to think.