3 ms·
I don't code anymore (I'm more of a pointy-haired lower boss)...but what i wish i could go back in time and change around this is to have focused - I mean reall
by mxuribe 8y ago
I don't code anymore (I'm more of a pointy-haired lower boss)...but what i wish i could go back in time and change around this is to have focused - I mean really, really focused - on 2 or 3 different programming languages only. Instead, what I've done over the years - again, when I coded as a dayjob - was to go shallow on far too many different languages (and ecosystems). I don't think it was me just chasing the "new thing" for the popularity of it. I genuinely was curious about, and wanted to learn "the new thing". The problem - as is often the case with tech - is that there's just too many "new things" coming out all the time...and one just can't keep up. So, sure, i feel like somewhat a jack-of-all-trades (and all my employers have benefited from it), but in more ways than i would like, i lack the depth - and possibly enjoyment/fulfillment - of being really awesome at one or very few things. That old adage about picking one (or a very, very few) thing(s) is no joke; and i see its wisdom only now (after working for 22 years professionally). If i could travel back in time (relative to programming), I'd tell my younger self 3 things:
1) Focus on depth of a couple of things, and never mind breadth.
2) As soon as possible - either before graduating college, or right after, etc. - work for yourself and not The Man. whether going into business as a solopreneur, or partnering with a few people - doesn't matter. Mistakes will be made, but you will feel more in control of any/all outcomes - good or bad.
3) Be generous for experiences, but be a cheap bastard when buying actual/material "things". Save shit tons of money.
- sus_007 8y ago> ...either before graduating college, or right after, etc. - work for yourself and not The Man... Why do you think that would an appropriate moment to do so ?
- mxuribe 8y agoBecause the early complacency of working for someone else doesn't get a chance to set in. Also, because if things don't work out with some initiative, you can bounce back from a setback much easier/quicker.
- sanderjd 8y agoI disagree somewhat strongly with your point #1, or at least I have a different framing for it. Don't bother focusing on depth in a very small number of programming languages or technology stacks. There isn't enough depth there to make that worthwhile. Programming languages are fundamentally similar with very few different paradigms, all of which can be learned and then applied appropriately to new languages. You can learn the more interesting or fiddly bits of any specific language you're working in as needed. But depth of domain might be worthwhile. That is: "I work on distributed data storage systems", or "I work on data analysis systems in the energy industry", or "I work on self-driving sensor data analysis", etc. Maybe I'm wrong about this, it's certainly not the way I've done things, but it is the kind of deep expertise that I'm often envious of.