My 2¢:
I’ve been doing this thing for over 20 years. I’m a voracious reader and always trying to stay just beyond the edge of the industry, as far as knowledge goes. As a programmer, I’m probably somewhere smack in the middle of the bell curve. I’m nothing special, except that I can do it FAST. I don’t just mean the programming part, but the figuring out some new problem is some subset or superset of problems I’ve solved before and applying those to the new problem.
I have a couple secrets that I don’t tell people and it has nothing to do with writing code.
1. Learn how to sell crap and take business 101
Seriously, you learn how to sell and what a business needs to survive. Don’t stop learning, this is just the beginning. It gets you in the doors that friends will open for you, it gets people on board for projects you pitch. It gets you paid more.
This will probably work for as long as other engineers aren’t doing this.
2. Train your memory
I don’t have a photographic memory anymore. I hit my head too many times. You can train your memory though, to that point. Especially when you are young. My memory is still sharper than my peers, I still only need to glance at a file path once to remember it. Usually.
Seriously, go learn how to train your memory. Research it like you’re trying to decide on a new framework. Use what works best for you.
3. Don’t work on bad days
When you have a bad day/morning, call in sick. Take time for you because no one else is going to give you that time. If you aren’t working on bad days, people only see you at your best and you’re more likely to get promoted or a raise.
If you have a lot of bad days, get some therapy and work with them to get to the root of the problem.