3 ms·
I think the paragraph on an antifragile career is probably the most important part. Most people can probably intuitively realize that used (and repaired) softwa
by JackMorgan 12y ago
I think the paragraph on an antifragile career is probably the most important part. Most people can probably intuitively realize that used (and repaired) software is likely to be more correct. Frequently switching jobs has the possible stigma of "job-hopping", and it's hard _for the individual_.
Staying in the same technical stack is the fastest way to become irrelevant I can imagine. I've seen what it is like to switch everything up every few years (4 different tech stacks in 4 jobs), and the experience gained is invaluable.
The best part is seeing everything you knew from before change, except that parts that actually are beneficial. It's funny how much of a tech stack is either cargo culting or in response to a local pain point. Learning to distinguish those gives you a sharp eye, both for possible other fixes locally and for strategic direction changes.
It takes one critical ingredient though: you. You must have the humility and maturity to realize YOU ARE NOT YOUR CODE. If you want to go to a company, learn all they know, and leave, you must be comfortable being wrong, listening a lot, and keeping an open mind. Every time you make fun of a local company's choices (even if they are badly made), you'll isolate yourself more, and they will be less likely to bother explaining the next thing you are stuck on. Remember, don't complain, just build.
And whatever you do, STOP CARING ABOUT CODE FORMATTING STYLES. If you care, you'll hate every one but your "first", and you'll spend your entire social capital at each job trying to change theirs to match your favorite. Which is just about the stupidest thing you could do.
- goblin89 12y ago> STOP CARING ABOUT CODE FORMATTING STYLES Caring about code formatting is not binary. I've seen code that literally breaks syntax highlight in vim, and I've accepted that sometimes in this job I just have to do syntax-correction commits in order to be able to efficiently work. I'm not a perfectionist about that, but there are limits. > Every time you make fun of a local company's choices (even if they are badly made), you'll isolate yourself more I'd say this doesn't only apply to local companies. Just assume that people you work with are smarter than you.
- JackMorgan 12y agoThere's a big difference to styling your code "when in Rome" like the code around it, and fighting for each team you visit to change their style to match your preferences.
- sophacles 12y agoI like to phrase this as "style doesn't matter, consistent style does". It's important to have consistent style, because once a programmer internalizes the local style - some types of bugs become transparent: the upon understanding what something is supposed to be doing, the style provides visual cues to the flows and a certain predictability in the code. When something is wrong it looks wrong.
- goblin89 12y agoYes, indeed. I think consistency within one file is a good rule of thumb. As an aside, are there any editors that could automagically infer formatting rules (to use for indenting, folding, etc.) upon opening a file? I'm using vim but I think I'd be willing to switch for such a feature.
- goblin89 12y agoNo arguing with that. Just wanted to water down your statement a bit—one can care about formatting style and respect others' choices at the same time. :)
- jacquesm 12y ago> I've seen what it is like to switch everything up every few years (4 different tech stacks in 4 jobs), and the experience gained is invaluable. Is it even possible to become really proficient in 4 tech stacks in such a short period? I'm a pretty fast learner and yet I feel that for actual mastery you'd need to be doing something for at least multiple years. I didn't feel I was any good at C until I had put almost a decade into the language. Which is tough in the tech world because quite a few technologies won't even last long enough to get to 'master' level! Easy come, easy go. I'm having a hard time adapting to this Cambrian explosion of technology that for the most part seems to lack staying power. I guess that makes me a dinosaur... (or a Lizard!).
- JackMorgan 12y agoThe period was 6 years, through Java, Perl, PHP, VB.NET, and C#. The databases were SQLServer, Mysql, Access, Informix, and Oracle. Servers were just Apache and IIS. I'd not claim mastery in any of those stacks, but then again I've only been programming for six years! I'm not sure I'd claim mastery if I'd stayed in Java and Apache this whole time either. I do think I've seen enough that "coming up to speed" only takes me a fraction of what it used to.