3 ms·
Like somebody else said, it depends on what you are optimizing for, your goal. Common goals: * career mobility * competence * leadership For career mobilit
by austincheney 5y ago
Like somebody else said, it depends on what you are optimizing for, your goal.
Common goals:
* career mobility
* competence
* leadership
For career mobility get really good at doing beginner level things. Master the trendy tools and leet code for interviews. Your goal is to become the best expert beginner. You may never become the kind of developer who innovations amazing new solutions, but you can always find employment. Your only hope of eventual advancement is to exchange software work for management.
For competence you need to dig a little deeper into the foundations and core competencies of the technologies you are working. Increased competence is equal parts brilliance and discipline in that you are constantly solving for ever more challenging problems in order to provide ever better solutions often entirely of your own initiative. You will think in terms of portability and execution performance. If you are working in an area mostly populated by expert beginners your disdain for convenience will make you an extreme pariah. Your career mobility will be severely restricted, but with the right opportunity you can have a more fulfilling and rewarding career.
For leadership I strongly suggest you abandon software for a line of work that is more leadership focused such as operations, logistics, emergency response, military, and so forth. No matter what industry you are in leadership boils down to asset management, planning, and communication. You can always come back to the software industry later once you have experience as a strong leader operating at the director level.
As for specifically what to study you won't have any trouble finding the correct content once you know what you want to become.