Hacker News new | ask | show | jobs
by weland 4511 days ago
> Really, the only way an experienced developer is going to end up flipping burgers or flying a manager's desk is because they have lost the desire to learn - ie fallen out of love with programming in general. I believe few people work in this industry for money alone - you either love programming or you don't do it - and if you love it then you will pick up new technologies out of sheer intellectual curiosity.

I think this is spot-on!

Mere inflexibility or old-fashionedness is often not enough to make one unemployable. I have colleagues who insist on various odd-and-nearly-dying technologies without that having a negative impact on their work. I have my own perks, like instantly turning off syntax highlighting whenever I have to use a new editor (sadly, the state of most embedded development ecosystems usually means new MCU = new fucking everything, oh, and on Windows!).

What I do find troubling and hope I never get is something akin to calcification, only intellectual rather than physical. I currently work for a company that has developed, among others, various computer security tools. Consequently, I have a lot of colleagues who have spent their entire careers writing software for nothing other than Windows. Some of them get very excited when they talk to me about other operating systems (I haven't used Windows, except when occasionally forced to, like a few years ago because well fuck you too Microchip!); I get to find out interesting stuff about various pieces in Windows, they find out about interesting stuff that hasn't made it to Windows (like ZFS) and we get to compare programming approaches.

Then there's the other group. The people who are absolutely 100% convinced that the only way to do something is the one they know. Unix? Phbt. Broken because the applications keep their settings all over the fucking place in whatever format they want. Windows does it neatly and keeps them in the Registry, in a singular format. You mean you read a file to find out if an Ethernet device has a link? That's really clumsy, what does a file have to do with anything? Why don't they give you a neat API? What do you mean "What happens if you want to use it from a language that doesn't have bindings for that API"? You got C# and C++ for complicated apps, VBScript for moderate ones, PowerShell for scripting and a bunch of hipster stuff like F#. Python? There's no support for that in Visual Studio, I'm not sure it even exists.

Sadly, the latter camp vastly outnumbers the former. It's not a case of I'll-just-use-the-tool-I-know-best. I see programmers I honestly respect doing that for the sake of safety: X is probably a better fit than Y for this, but I know Y inside-out and I only know the name of X. Deadline fast approaching + Y can do it as well without being bastardized = we're using Y.

No, these guys are at the other end of the spectrum: it's the "Y is a programming tool, I need to program something ergo I use Y". Technical merit is secondary as long as we can do it, and human effort is not only expendable, it's being paid for. The fact that this misled can-do attitude is indistinguishable from the one backed by technical prowess to most people in HR and management certainly doesn't help.