Continue to learn and grow in knowledge while maintaining self-awareness about what you truly know and what you don't.
Continue to learn and grow in knowledge while maintaining self-awareness about what you truly know and what you don't.
I never wanted to become a team lead or staff engineer but the older I get the more I feel like I should.
And the worst engineers are the ones who _really_ like specific things, like really liking a certain language or a certain library or a certain tool.
It baffles me because I usually have at least a mild dislike about all tech I work with (including systems of my own design), I think it keeps me honest about the flaws of the systems I work with.
I don't understand what you DON'T get? Our profession is full of incompetent people that have done nothing but make things worse everywhere they go, and they all make more money than I do, and some of them have been deified as thought leaders.
Engineering doesn't have thought leaders.
You can literally just specialize in something and just do that for the rest of your career. In fact they have the opposite problem, sticking with very old "proven" techniques despite innovation happening.
The incentives are not to grab the latest thing because it's 5% "better" or to pick the shiny new thing because its more interesting. Instead, the engineer of record thinks to themself: "gosh if this fails on a snowy day and kills an assembly of school children, I'm personally liable for it. I've got a lot of experience in the design, construction and verification of this technology, that's the one I'm going to choose." Only when a new technology comes along that is MUCH better will they consider using it. Some may call this an excessively conservative approach, but failures in this regard are very rare as a result.
Imagine asking a writer to switch dialects. "It's the same thing, but just Old English." While some would find it fun, if you randomly swapped out dialects for each process I bet authors would get really tired of it really quickly, especially once they figure out which ones jobs with their natural thought process.
It is not optimized. It is not the fastest. But it works everytime.
This is akin to using the arrow library in Python whenever I have to do the slightest date whatever. Display a date? arrow. Manipulate a date? arrow. Store a date? ISO. Yes this is a dependency, yes, there are edge cases but it mostly works - certainly better if I had to understand dumb vs full dates etc.
Unfortunately I am a curious and excited person and I keep changing this "ideal stack" twice a year but still.
Reluctant leaders are some of the best. They're there to get things done and rarely overstep their area of competence.