Live data from Hacker News

Choose Boring Technology

boringtechnology.club

231–240 of 356 posts

Re: Choose Boring Technology

#231
Great points. I was reminded about a period of close to ten years when “my stack” was Apache Tomcat with servlets and JSP. I would handle background tasks in threads initialized in servlet init methods. For me it was a universal platform for anything I was required to develop and deploy.

I was in Chicago last month and had breakfast with an old customer (I had never met him in person even though I did a ton of work for him between 2000 and 2006). One of my tasks for him was writing a Sharepoint clone that ran for five years totally unattended by his ops team. After five years they ran out of disk space and did a quick migration to a larger server. My customer thought that in five years they had never restarted to system or rebooted the server (yikes!, no security updates?).

Re: Choose Boring Technology

#232
post #3

Another case of someone discovering, after 10+ years in tech, that code is a liability and you're supposed to solve problems instead of chasing trends and padding the resume. Great that he's spreading the word!

I think the best example of this is IDE and text editor preferences.

They are totally regional, programming-language subculture, and age related

The proponents of Atom/VSCode/Sublime/VIM etc will swear by it to the level of gatekeeping other competent software engineers away from them if they don't use that particular editor, and they all do - or can do - the same thing.

Re: Choose Boring Technology

#233

Earlier quoted context omitted.

> while all the others in the company will rot in hell because of the stupid choice of a junior engineer If a team's management can't prevent this from happening, then they've got bigger problems to worry about.

True. But some people will do everything (including ruining team morale) to play with their new shiny toy and it's usually easier to ruin that than taking steps for prevention. But you are generally right.

>But some people will do everything (including ruining team morale) to play with their new shiny toy

Because everyone has different interest/goal. The interest/goal of junior developer is different than the senior developer, even though both working in the same company.

It might very well be in their best interest for the junior develop to play with shiny toy, if that the case then that is what they should do.

While for the senior developer though it might be in their best interest to prevent that.

Re: Choose Boring Technology

#234

It seems like a lot of this is just the tension between what management wants to be focusing on (big picture product or business-level questions) vs what it makes sense for individual engineers to be focusing their efforts on. As an individual contributor, it's vitally important to keep up with new technologies in order to remain employable. Maybe that isn't in fact the best strategy for your current job, but it's cr…

If it's vitally important to keep up with new technologies in order to remain employable why are the 7 most employable programming languages (C,C++,Java,PHP,JS,Ruby,Python) at least 25 years old? The job market says the opposite - that new programming languages hardly get a look-in.

Re: Choose Boring Technology

#235

This is great and I agree 100%. The problem we faced is hiring people. We found that in order to attract talent, we had to let them use the shiny new technology. Otherwise it would be hard to attract anyone.

Yes, this is the one addendum to the presentation. An organization must periodically refresh itself in order to continue to attract talent. As an organization ages, it acquires more and more code to the point that rewriting becomes unfeasible except on epochal timescales. Thus some natural expansion becomes inevitable. The key is to contain this expansion.

Re: Choose Boring Technology

#237
Like many developers I have a strong desire to work with more exciting technology, even when there's no business case for it. Strangely enough, I've found the best outlet for that energy (other than personal projects when I get free time) is configuring Emacs.

It's less disruptive than putting a new language or database into production, and makes me significantly more content to work with a boring stack. Plus I get a more comfortable computing environment out of it.

Maybe someday I'll get Emacs just the way I like it, and need to find something else to distract me from chasing the new and shiny, but I kind of doubt it.

Re: Choose Boring Technology

#238
post #84
post #69

Author mentions Clojure a few times as an example of shiny-thing. Ironically, it's one of the few languages that I can reliably do in the browser, on the backend (on real servers or say, Lambdas), and build native binaries for -- which addresses the later "many tools" problem better than a "boring" programming language like Ruby. Unless you don't care about frontend code I guess :-) (Overall this talk is fine! I thin…

But: - good luck finding a Clojure programmer if your current one quits. - good luck finding answers for your exotic bug/performance issue etc. Code is a liability, it's much more than language/VM/compiler features

> good luck finding a Clojure programmer

Why nobody ever says: "good luck finding good Javascript developers"? Or good Java programmers.

Why it became a default norm: every programmer is a Javascript expert now?

In my experience: hiring Javascript developers is hard - most applicants don't even know the difference between null and undefined or can't explain how prototype chain works. And even when you find someone with good experience, there's always on-boarding period: "we're using OntagularJS 1.5, oh you heard about it, but never used it? It is similar to BrokenboneJS, but with slight differences.". And then they have to learn your conventions, debate over enabled/disabled rules in your linter, etc.

Whereas if you specifically try to hire programmers who previously tried and experimented with Clojure (even if you're not using it) - chances to get better candidates increases dramatically.

If I had to choose between hiring five JS/TS/PHP/Java/C#/Go/etc. developers with $100K/Y salary per each or hiring only three Clojure developers for $200K/Y - I would go with the latter. ROI in that case would be much, much higher. Yes, code is a liability - one messy, inexperienced coder can do so much damage that it may take months to fix it.

Re: Choose Boring Technology

#239
post #86

There’s a certain amount of ladder kicking involved in telling people to choose boring and beige technologies after you started up your career chasing after new and exciting shiny things. Every developer should spend some time working at the bleeding edge, so they know how it feels to get cut. The best time is absolutely at the beginning, when you’re a fresh grad and have the energy. You have the rest of your life to…

I feel like that's terrible advice for a fresh grad. If they keep getting cut early on, they will lose confidence and start doubting every decision they make, losing motivation to work on anything and burn out.

Re: Choose Boring Technology

#240
I wanted to disagree with this article, but it's all perfectly reasonable. It makes a lot of sense and it's well written. It's also not an absolutist viewpoint, which makes it even more reasonable.

The danger I see here is that when the places I worked in chose "boring, well-tested" technologies they picked COBOL or ColdFusion. It's not true that I would be happy to ship software that worked if done using these tools. If I had to work with them again I'd shoot myself in the... face. I don't think I ever learned anything valuable from them, except maybe "sometimes the tasks you're given will be boring, and that's how life goes".

Post reply on HN