10 ms·
Boring tech is mature, not old
- thomastjeffery 2y agoMature is great. Incompatible is not. The challenge is to make new software compatible with mature software. The more we try, the easier it gets.
- Waterluvian 2y agoLast week an issue came up where we have to upgrade from Postgres 12 to 16 because of EOL concerns. I said to another engineer, “Postgres is pretty boring so I bet it’ll be quite easy/low risk to do the upgrade.” We got into a meta discussion about how we still have to approach it methodically, but the nice thing about boring, mature software is having a good gut feel that it probably won’t dip into the risk budget much at all.
- MathiasPius 2y agoPostgres upgrades were actually annoying the last time I did, where I had to explicitly import data from a previous version into the new one, instead of the software just automatically detecting that the data was a version behind and doing whatever to upgrade the format. This would probably not have been as big of a headache, if it wasn't because it was running in a container, and was deployed as part of a separate project, meaning CloudNativePG (which probably handles this for you) was not an option.
- mikece 2y agoSpeaking of EOL-driven upgrades, the absurdly short "LTS" that most tech stacks have makes them decidedly not boring. Even Microsoft has fallen for this absurdity with 36 month "long" term support intervals for .NET versions. Are three any language stacks with an LTS that is at least five years (ideally much more) that aren't spelled in all caps?
- Waterluvian 2y agoCode is a liability and dependencies/vendors/libraries are liabilities I have even less control over. I hate when an internal release has to be "about" upgrading dependencies. I get it, I do. But I hate the idea of "we're going to focus on a thing that doesn't actually yield any tangible advancement of our goals." Not that I'm unappreciative of what projects like Postgres, Django, etc. have given me. Like a good physician, I appreciate you and everything you do, but we'd both be happier seeing each other as rarely as possible.
- DanielHB 2y ago> Code is a liability I say that sometimes to people and they look at me weird. When you work in bigger projects with a lot of people it is harder to argue why you shouldn't write the code than to just do it. Like, for example, I had to code some build-step that updated some assets that took about 5 seconds to run. That operation was done maybe once a month by other developers, during review another person asked why I didn't parallelize the process and cache already processed files and I was just like: it would add 200+ lines of extra code and error handling and it is not like I mind doing it, I just don't think it is worth the overhead of understanding this code and troubleshooting any possible bugs of this extra optimization code. And it is harder to argue this kind of thing back and forth than it is to just do it. And now there are 200 extra lines of code that would take anyone else besides me at least an hour to grasp before they can make changes. Same applies on discussing why you shouldn't add a dependency. If anything that is harder because you need to justify the extra time of not using the dependency.
- skydhash 2y agoWhich is one of the most unappealing thing about the marketing material for LLMs services like Copilot. The issue was never the speed of writing code, more often than not, you're contemplating if you should write it. And if you need to, how much of it should you write and how to make the eventual rewrite easy. If you're experienced enough, you either knew the rough way to code a task or realize that you need to take time to investigate the problem space. I don't think I ever ask myself what should I do to write more code with less effort. All the improvements I've made was to target precisely the thing I wanted to edit.
- detourdog 2y agoMy first thought after reading this is that sqlite might be the boring tech that could minimize this.
- hobs 2y agoMajor version OSS database upgrades? I would probably never consider this a easy/low risk thing, anytime you have any planner changes its something where having a baseline is really important to understand the impact to your workload.
- blackenedgem 2y agoIt's doubly bad with postgres because the statistics get wiped after running pg_upgrade. They do tell you to run ANALYZE afterwards but that's yet more downtime.
- hobs 2y agoThat's not great, do the bucket counts change or something between versions? It seems like statistics would be a thing that ... should not change while you are not looking!
- hylaride 2y agoIf you're not using any weird extensions, you'll be fine. If your database is large with indexes and you're not doing it via a pg_dump/PG-restore, make sure to run a reindex as PG13 introduced index deduplication. That saved us terabytes (though cleaning index bloat probably played a role, too).
- blenderob 2y agoI was meaning to do an Ask HN about this but this looks like an excellent post to ask my question. What are some boring techs you use that you cannot live without? How long have you been using them? For me, it'd be stuff like Vim, C, Python, Fedora, mutt and I've been using them for 25-30 years! How about you?
- euroderf 2y agoDoes USB count as old & boring ? It sure beat the hell out of serial and parallel ports !
- bityard 2y agoUSB the protocol perhaps, but USB-C (and all of the connector/cable/PD complexity) is very far away from boring.
- tonyhart7 2y agojavascript
- detourdog 2y agoDial Calipers... From my point of view the PC and the microprocessor resulted in a giant economy that is pursuing technology production won't necessarily improve user satisfaction. Using that perspective I think digital circuits which can be created in any controllable media is what I'm pursuing. I'm trying to make large circuits that represent the physical environment and the logic of the technical tasks that need to be done. My thinking is that next wave technology improvement will come from large environmental circuits that represent the human use of the physical environment. I see the pursuit of smaller and smaller circuits as only one method of technology development best left to sophisticated global production. I think there will be cottage industry based on locally or "last mile" implementation of more esoteric but easy to understand systems. The general purpose computer has resulted in overly complicated and inefficient for most regular people's actual computing needs.
- calvinmorrison 2y ago
- pplonski86 2y agoBoring tech is boring because it is reliable. You don't need to fight constantly with it. You can forget about it, and focus on your work. Maybe reliable equals mature.
- jasonthorsness 2y agoI think it’s hard to tell with the signals we have on GitHub for example the difference between mature and dead as a project. Regardless of what a commit is for, it’s a sign that someone is watching and maintaining and any novel issue will likely be quickly addressed. I think this means new stuff always will have an advantage there.
- Sponge5 2y agoThe age of last commit on trunk is a useless metric in isolation. The fact that it is the most prominent number on the front page of a repository is a shame.
- Lyngbakr 2y agoA metric I think is useful is responsiveness to issues. If there haven't been any recent commits and if I open the issue tracker and the maintainer hasn't even acknowledged issues that have been opened in the last 6 months, then I assume the project is no longer maintained.
- eadmund 2y agoI would love to see a metric of the number (or proportion) of issues closed even though users are trying to get assistance. No idea how to make that machine-calculable though. Even better, a metric for refused PRs (maybe including PR size somehow), tracking where users cared enough to try to contribute and the owner just refused to accept the changes. Easily gamed though.
- ysofunny 2y agoin open source, there are no 'dead projects'. maybe just abandoned but if you find a mature/dead project there's a chance it's just old and stable. what I'm getting at is in an unmantained project any stranger should be able to figure out how to adrees any novel issues. it's the point of open source; I don't undrestand why this is failing. maybe beacuse understanding an anonymous code base is hard work?
- pjmlp 2y agoBoring tech gets the job done, it lets us focus on the problem we are trying to solve, instead of yak shaving.
- biofox 2y agoCouldn't agree more. If the most interesting part of your project is your technology stack, you're probably not working on something interesting. It's like those hobbyists who invest all of their time and money into buying high-end expensive kit, but lack ability.
- pjmlp 2y agoTypical example, buying an SLR to use it always on auto-focus. :)
- fujinghg 2y agoMost professional photographers use autofocus all the time. Photography is less about the technology and more about the art.
- pjmlp 2y agoA professional photographer makes great Art regardless of the tool.
- pkolaczk 2y agoNope. A tool can be a limiter to what art you can do, especially in photography.
- pjmlp 2y agoA professional is someone able to achieve great results, regardless of the limitations imposed on them. Many SLR users, wannabe photographers, will never achieve what a professional is able to do with even a throw away fixed focus camera.
- frontalier 2y agoboring tech is _legacy_ tech so we need to rewrite it with copilot and redeploy it let's schedule deployment for friday afternoon
- gorbachev 2y agoAmateur move. Just before a one month backpacking trip to Sahara desert.
- xeonmc 2y agoyou meant the team-bonding company bus trip in the Sahara.
- frontalier 2y agobold of you to assume i notified anyone about the holidays i scheduled three days prior knowing there was a board meeting that would trigger a crunch sprint
- juped 2y agoNever deploy on a Friday. Therefore, get it deployed by Thursday.
- natebc 2y agojust this once we're going to have to let it slip until Friday afternoon. 3PM at the absolute latest. just this once.
- drewcoo 2y agoAnd boring tools make holes, not conversation.
- detourdog 2y agoWas this heard on a Jobsite?
- jhickok 2y ago>The opposite of being bored is to be surprised Eh, the opposite of being bored is being excited/engaged, and the opposite of being surprised is being predictable. I don't disagree that predictable is probably what we want for a lot of what we see around us (no one wants unpredictable traffic lights), I think we are lying to ourselves if for at least some subset of our work-life we want cool and shiny, so long as we are within the bounds of business objectives.
- esafak 2y agoIf the benefits of the newer tech outweigh its risks you use it. The challenge is weighing the evidence. Newer technologies will tout their advantages, but the disadvantages are not advertised as loudly, and are often uncovered after making the investment. "Boring" or "exciting" is the wrong framing.
- taeric 2y agoI would only add "stable" to what "boring" tech is. Notably, though, not "stable" as in "doesn't crash." But more as in "doesn't change." I think you typically see this with older, established, things. But there is nothing guaranteeing it. And, indeed, it is often the result of specific action on the stewards of a technology. This can often be couched in terms of backwards compatibility. Which is a clear action one can pursue to get stability. However, it can also be seen in greatly limiting scope. As an example, we love talking about scale, but that doesn't mean you have to design and build for scale you will never see.
- andrewmutz 2y agoNot all boring tech doesn't change. Rails has been around for 20 years now and actually sees a great deal of change. There are many new and better ways to solve problems in the framework with each release.
- taeric 2y agoFair that it is not absolute. But I wasn't trying to claim it as fully static.
- jaredklewis 2y agoI think it’s kind of moot to argue of over the definition, because in practice “boring” just means that someone likes something. Similar to other terms like, “best practices,” the term is now vapid. It might have at one time meant something, but is now just synonymous with “I like this.” If you like something it’s a “best practice.” If you don’t, it’s an “anti-pattern.” If you are used to something and like it, it’s “boring.” If you are not used to something and expect you won’t like it, it’s a “shiny object.” IME, these sorts of terms are not helpful when discussing tech. They gloss over all the details. IMO its better to recognize the various tradeoffs all languages and tools make and discuss those specifically, as these sorts of labels are almost always used an excuse to not do that.
- taeric 2y agoApologies on missing this yesterday. I would add that saying it is "boring" with regards to "stability" means I also trust that what I learned about it last year is largely still relevant today. May not be cutting edge relevant, but is unlikely to bite me by being flat out wrong. "Boring" works in this regard because you are saying there is not a lot of activity behind the scenes on it. Most of the work is spent doing the "boring" parts of the job for most of us. Documentation and testing.
- some_furry 2y agoBoring is also a desirable property of cryptography. Boring cryptography is obviously secure. The guiding principle for whether something is boring or not is the Principle of Least Astonishment. If I can, say, send you a ciphertext that was encrypted with an authenticated mode, and then decrypt it to two valid plaintexts using two different keys, this is astonishing even if the impact of it is negligible.
- vrnvu 2y agoThe eternal discussion isn't about old vs new or boring vs exciting. Mature is mature regardless of age. A system that breaks when updating dependencies, introduces unexpected behaviour through obscure defaults, forces you to navigate layers of abstraction isn't mature... (looking at you Spring and Java ecosystem), it's old and unstable. Stability, predictability, and well-designed simplicity define maturity, not age alone. Is Python mature and boring? With toolchain issues and headaches of all kinds... Newer languages like Go or Rust i.e solve all these toolchain issues and make it truly boring in the best way possible.
- zozbot234 2y agoGo and Rust are only "boring" if you vendor all your 0.x.y -versioned dependencies (or even worse, dependencies where the "version" is just the latest git commit to trunk) and carefully vet every single update for breakage.
- skydhash 2y agoThe nice thing about Go (compared to NPM) is that a lot of those libraries are just nicer APIs for the standard libraries and not some core tech you need. You can go for the 0.x version with the absolute assurance that you can fork it or vendor it with minimal cost in support time.
- gf000 2y agoOr maybe they could have made the standard lib better, then? There is zero point to such a "dependency".
- pkolaczk 2y agoIn my experience I had fewer problems with 0.x dependencies in Rust than with some mature 35.x dependencies in Java.
- mybazongas 2y agoI'm sorry, nothing is mature or stable about a language whose package manager is GitHub.
- _fat_santa 2y agoIMHO boring tech is great because it lets you focus on the actual tech of your product. I run a SaaS app and I'd like to think we do alot of cutting edge things in various places, as it relates to the actual product. For things that are "behind the scenes" like databases, backend fraemworks, etc, etc, I prefer to keep all that stuff as boring and as stable as possible. For me working solo on a project, my time is very limited. So I would much rather work on interesting new features for my product than having to touch crap that my customers don't care about. Because at the end of the day my customers don't know and don't care that I use Node vs Deno or Bun, or that I use NPM instead of pnpm, or that I'm not on the latest version of node or Postgres. They don't know all that but they do know how well my app works or what features it has.
- steveBK123 2y agoExactly - This is known to graybeards and mostly ignored by the youths. We've seen the wheel re-invented many times and would prefer to work on something other than the wheel again. Stuff like solving user problems and making money. Meanwhile you have the coworker who uses some new but soon to be deprecated language/framework on every project, leaving a field of unsupportable debris in their wake..
- steveBK123 2y agoMy favorite genre of this is the guys proposing Greenfield rewrites of a multi-decade old app, using some tech less than 1 year old. Turns out brand new stuff doesn't always survive, and even if it does you don't know its tradeoffs & pain points yet. Everything is perfect & bug-free when it has no product use. Seen it many times, and seen the wreckage later.
- Spivak 2y agoBeing charitable, in order for one of those new technologies to become mature and boring it requires guys like that to actually use it for things. So while it might be misguided we thank them for their sacrifice of getting caught on every sharp edge so they might be dulled (or at least documented) later.
- Mystery-Machine 2y agoRuby on Rails is amazing! Today I successfully ran `pip install -r requirements.txt` in one Python project I cloned from GitHub, I couldn't believe my own eyes. Usually it's at least half an hour trying to figure out how to install dependencies. In JavaScript ecosystem, installing packages works, but the packages get deprecated within a few months. React and many other frontend frameworks completely change their philosophy and the recommended way of writing code that you need to rewrite your app every 1-2 years or be left behind with deprecated packages.
- Alifatisk 2y agoI was looking for someone mentioning RoR.
- forgetfulness 2y agoRoR? If it's still like the RoR I used, it can never be considered "boring", just old. It was a framework where code you dump in "conventional" locations is autoloaded everywhere. With DSLs based on interpreting the method name as an expression, reflecting on them in `method_missing` implementations you get from inheriting classes. Where state is shared between instance objects by way of reflection. Where source diving is the documentation in many third party packages. No, these were reasons why "rockstar" became a pejorative in the programming community for a while.
- whstl 2y agoYep. The article says "The opposite of being bored is to be surprised". RoR is the surprises and metaprogramming magic all the way down, with a culture that hates code comments like it's some sort of plague. People here are using "boring" as a synonym for "I can make money with it".
- sunsetSamurai 2y agoI agree with this article, but with one caveat. Don't be the guy that becomes the designated INSERT_OLD_TECH_HERE guy in the office while the rest of the team is working with the cool modern tech that has a lot of jobs in the market, don't pigeon your career by becoming an expert in legacy tech, like COBOL, RPGLE or FORTRAN. You'll find yourself in a position where you'll get fired and won't be able to find another job because there aren't many jobs for your skills and because companies only want to hire people with years of experience in the tech they're using, be it javascript, java, go etc. And also these legacy techs don't pay that much in general, for every consultant making bank fixing COBOL bugs there are probably dozens or more COBOL developer making less than a javascript developer, so you'll find yourself making less money than a kid with a 3 years of experience in web development, and when you go out in the market trying to switch jobs, you'll have a hard time finding a new job or salaries will suck. Don't be stupid and become the fall guy to keep the legacy debt going while everybody else in the company is learning the in-demand cool stuff and padding their resumes with hire able skills. You will regret it.
- mooreds 2y agoThis is a great point. I think there's a balance between "OOH, shiny new thing" and "kids these days". It always pays to play with new tech or otherwise learn about it. Both for you the developer (who avoids getting pigeon holed) and for the business (because there may be new capabilities or cost savings). But introducing it willy nilly into production applications because you want to gain experience with it is bad. Bad for the business, at least. For you it might be resume driven development. That's why I always advocate for time and space for developers to play with new things on the company's dime. Some good options: - conferences - hackfests - spikes After some investigation, you can layer in new tech where it makes sense, which makes for an even more compelling story on the resume. Of course, you also have to have business buy-in that this is a worthwhile use of time. R&D and investing have a lot longer history than the craft of software engineering, so that's the approach I'd take.
- francisofascii 2y agoI hope part of the goal of this article is to fight back against these trends. If the decision makers can gain more confidence in choosing boring/mature tech rather than trendy tech, there will be more demand for it. Many times people choose the trendy tech, not because it is the right tool, but because of the reasons you mention.
- xnx 2y agoThis sentiment is also expressed as "Shark not dinosaur".
- dathinab 2y agoor partially unmaintained, a security nightmare and not compatible with a lot of stuff you might need to be compatible, too boring tech is nice, if it can get your job done, is compatible with modern security standards and allows fast reliable development sadly that isn't always the case especially security standards have shifted a lot in the last 10+ years, partially due to attacks getting more advanced partially due to more insight into what works and what doesn't deployment environment and pipelines have shifted a ton, too, but here most "old" approaches continue to work just fine data privacy laws, including but not limited to GDPR, bring additional challenges wrt. logging, statistics and data storage regulations in many places also require increased due diligence from IT companies in all kinds of ways, bringing new challenges to the software live cycle, dependency management, location of deployment. Points like 4-eye-principle, immutable audit logs, and a reasonable standard of both dynamic and static vulnerability scanning/code analysis can depending on your country and kind of business be required by law. If your boring tech can handle all that just fine, perfect use it. But if you just use it blindly without checking if it's still up to the task it can easily be a very costly mistake, as costly as blindly using the new wide spread hyped tech.
- Joel_Mckay 2y agoIn general, having a product disconnected from the hype-cycles has distinct advantages. The lower code permutation rate causes fewer patch cycles that spike labor costs, and the number of unknown exploits/errors usually decrease with time. If I recall, this was one reason GNU Octave integrated the Forth+Fortran code used at NASA, and kept the reasoned algorithmic assumptions consistent with legacy calculations. All legacy code has a caveat that depends on if a team cared about workmanship. =3
- api 2y agoIt represents a good fit to a local maximum somewhere. It doesn't mean whatever it's doing can't be done better, but it does contain a lot of information about its problem domain encoded into it.
- whatever1 2y agoI can fix boring tech with building 10 layers of frameworks on top of it.
- noufalibrahim 2y agoI can relate to this. Most of my career was building dev tools, test infrastructure etc. The cardinal rule there was that it has to be boring.. Practically, this meant no surprises, almost invisible, people take it for granted and it just facilitates things without getting in your way. Similar to electricity, air, water etc. Very few people really notice these things and talk about them. Till they stop working in which case, it's all people can think and speak of.
- bob1029 2y ago> Using tech that has been subjected to all those people hours of use means you’re less likely to run into edge cases, unexpected behaviour, or attributes and features that lack documentation or community knowledge. Often this is part of the value proposition with commercial offerings - Obtaining access to solutions that work for people with much bigger problems than you. This can differ subtly from the raw scale of deployment. For example, SQL Server and Oracle may not be as widely deployed as something like SQLite, but in the cases where they are deployed the demands tend to be much more severe.
- taurknaut 2y agoEven framing the conversation this way is quite odd. What's wrong with being old? Since when did software expire? All the best software is old. And, frankly, all software is boring. So this leaves us with no way to distinguish quality software from the rest. I highly recommend in the future starting from what you actually value about software. Oldness and boringness are not the reasons, and if they are, they are extremely bad reasons.
- aard 2y agoI see your point here, but I want represent a counterpoint to this line of reasoning, from my personal experience. I've been in a lot of situations where someone simply wants their way--in this case they want the organization to choose their personal software preference--and so they call it the "boring" choice. By calling it boring, they characterize their _preference_ as the majority accepted, mature, obvious decision and anything else is merely software engineers chasing shiny objects. The truth is almost always more nuanced. Both solutions have pros and cons. They trade-off different values that resonate more or less with different people. So, please be careful with the "it's boring and therefore obviously better" argument. Don't let it be a way to summarily dismiss someone else's preferences in favor of your own--without a deeper discussion of trade-offs. Otherwise it's no better than any other condescending attempt (ex. I'm in charge, so we are doing it this way. No one ever got fired choosing IBM/Microsoft/..) to win an argument without having to present real arguments.
- kubb 2y agoDemagogy is MUCH better than real arguments. Most people you work with will have trouble even understanding the latter. They don't have time, they're overloaded, their kids are waiting at home. Give them the warm feeling that they're doing the right thing. Make them feel smart, experienced, elite. That's how you get support, not by appealing to (ugh) reason.
- DavidPiper 2y agoIt's hard to tell whether you're clearly joking from the perspective of an engineer, or clearly serious from the perspective of an org leader.
- whstl 2y agoYep. A lot of people are doing this in this topic. Anything that makes money is boring, anything that they like is boring, another poster saying that "boring tech stacks tend to be highly scalable". By tomorrow we'll have people saying boring tech also brings world peace and cures world hunger. The "boring" meme is just a conversation killer.
- 2y ago
- kyleyeats 2y agoOld is actually good now because of LLMs. You want something old.
- rqtwteye 2y agoBoring is great as long as you aren't looking for a job. There is a significant risk that you are slowly removing yourself from the job market if you stick to boring tech. Your next employer often doesn't give a sh.t that you provided great business value. Most of them want shiny new. When I read the ads of my current employer I don't think I would get hired.
- cloverich 2y agoGood employers definitely care about business value, and IME great candidates are excellent at highlighting business value in their resumes relative to the tech they used. E.g. "Maintained and improved various UI forms, migrating to react-hook-form" vs "Experimented and optimized booking form, increasing conversion by 7%"). Bit of a trite example but along those lines. I agree tech still matters though.
- BiteCode_dev 2y agoYMMV greatly. Python is a very old tech (v1 in 1991), but you won't have a hard time finding a job because the popularity of the language has been kept up first with the web, then with data analysis and now with AI. Also, the more something has been out there, the more legacy there is to maintain. There is no shortage of PHP or Java jobs. Sure they are not sexy, but you'll have work.
- deleted 2y ago[deleted]
- jaredklewis 2y agoCan you give examples of what you consider to be “boring” versus “shiny new” tech? IME job postings are dominated by mature, mainstream tech like Python, Java, JS/TS, and so on.
- Karawebnetwork 2y agoI've used Copilot to give you an example of an average front-end web development recruitment message. From personal experience, this is how it they are in 2025. At the end of the day, the work itself will consist of applying small visual customisations to an existing CMS. "Dive headfirst into the realms of React.js, Vue.js, and Angular for mind-blowing interfaces. Unleash the raw power of Svelte and Next.js for lightning-fast performance. Style with Tailwind CSS and code with TypeScript for ultra-modern, maintainable projects. Integrate GraphQL and WebAssembly for next-level data handling and execution. Build Progressive Web Apps (PWA) and leverage Server-Side Rendering (SSR) for out-of-this-world user experiences. Embrace the Jamstack architecture and Micro Frontends for infinitely scalable, modular applications. Focus on Component-Driven Development and Headless CMS for ultimate flexibility. Create Single Page Applications (SPA) with Responsive Design and CSS-in-JS for seamless adaptability. Master State Management with Redux, MobX, or Zustand. Supercharge your workflow with Automated Testing (Jest, Cypress) and CI/CD Pipelines. Prioritize Web Performance Optimization, Accessibility (a11y), and User Experience (UX) for top-tier applications. Implement Design Systems, Code Splitting, and Lazy Loading for hyper-efficient, user-friendly experiences. Join the vanguard of front-end development and shatter the boundaries of what’s possible!"
- harish93v 2y agoThink boring tech that is still getting active development like linux kernel is mature, not old. Tech that does not allow you to change anything because you are walking on egg shells is boring and old for sure.
- bpfrh 2y agoI think a good example of boring vs old is wireguard. Wireguard is a pretty simple vpn to setup, has a very predictable and stable behaviour which makes it boring, but it's fairly new compared to other vpn software.
- richardwhiuk 2y agoWireguard is deeply not boring in lots of fairly horrible ways.
- unethical_ban 2y agoCome on, you can't say interesting things like and not elaborate a little bit.
- MangoCoffee 2y agoInformation technology is the fashion industry. What is old becomes new, and what is new becomes old. You think you're creating some cool new "shitz", but someone else has already done it. You're just reinventing the wheel with some extra "shitz" tacked on
- draw_down 2y ago[dead]
- 0xbadcafebee 2y agoNobody ever got a promotion, or hired, by using boring tech. I have a feeling that I don't get many replies to job applications because the vast majority of work I've done is "boring", and the majority of open source code I've written is shell scripts. It all works fantastic, and has zero bugs and maintenance cost, but it's not sexy. Intellectual elitism has also defined my role ("DevOps Engineer" is literally just a "Sysadmin in the cloud", but we can't say that because we're supposed to be embarrassed to administrate systems); I'm fairly confident if my resume was more "Go and Rust" than "Python and Shell", I'd get hired in a heartbeat.
- throwawaytodey 2y ago[dead]
- darksaints 2y agoI fully agree with this, but the problem with this idea is that if we only ever choose to adopt the most boring mature technology, it doesn't give any room for better to ever exist. Be selective and judicious, but also open-minded and willing to re-evaluate. Sometimes the exciting things are exciting for very valid reasons. I'm okay with hype cycles, even if they are annoying to me as someone who constantly has to justify why I'm not adopting them, as long as they lead to maturation of innovative ideas.
- aard 2y ago> Sometimes the exciting things are exciting for very valid reasons Very true! I would also add: Sometimes boring things are boring for reasons that actually make them poor solutions. For example, some systems require tedious, mind-numbing configuration. This is boring, but also a good reason to NOT use something. If it takes hours and hours of manual tuning, by someone with special training, then the solution is incomplete and at least needs some better defaults and/or documentation. It might be a poor option. Another example is a system that does not lend itself to automation. Requiring manual interaction is certainly boring, but also does not scale well. It is a valid reason to disqualify a solution. Boring can often be a smell--an intuition that a solution is not fully solving the problem.
- mybazongas 2y agoAh yes, new and exciting ways of more slowly shoveling JavaScript over the wire for the same CRUD applications we've been reinventing since 1998.
- darksaints 2y agoDid that straw man feel really good to hit?
- sepositus 2y ago> The number of people I’ve talked with who’ve replaced complicated K8s clusters with a few VMs and seen massive improvements in reliability, cost, and uptime would make some people at the Orange Peanut Gallery more than a little perturbed, for example. If I'm being honest, I'm a bit tired of seeing this trope. The details _always_ matter, and when it's written like this, it comes across as universally true. Ironically, Kubernetes seems to past the test of "boring" by the author's standards considering how long it's been around and how many hundreds of thousands of clusters have been running on it over the years. Do people with really bad architecture skills use k8s to design overly complex clusters? Absolutely. Does that represent the entirety of the k8s community? Not even close. Kubernetes is dangerous because of how far down the rabbit hole you can go. People who try to be Google on day one with k8s are generating so much unnecessary negative PR. Alas, it's tiresome.
- mybazongas 2y agoKubernetes is like if someone snorted a bunch of HTTP RFCs and then decided to half-ass an operating system in an all-night bender. And then a (distributed!) propaganda machine convinced ever middle manager ever to use it.
- sepositus 2y agoThere are two ways to look at it. It's all been purely built up via propaganda, or there is actual merit in the tool. Ironically, it's a meta-game because propaganda supports each of those views. But personally, I think it's silly to say Kubernetes has more of a propaganda issue than any other <insert big name framework>. There are "purists" like any other tool. However, I don't let them bother me so much that I just throw the baby out with the bathwater.
- phyzix5761 2y agoThe older I get the more I realize the underlying technology is not as important as the problem its trying to solve for the customer.
- riffic 2y agoI like bringing up the concept of a (now defunct) NYC chain of restaurants, Lindy's Law and how maturity in tech plays out over time. https://en.wikipedia.org/wiki/Lindy_effect https://en.wikipedia.org/wiki/Lindy_effect
- harimau777 2y agoI think that people would be fine with working on boring tech if companies paid them more to make up for it. If they don't, then why should they be surprised that potential employees don't want to work on something that they find boring?
- gregors 2y agoBoring tech is really better described as extremely late adopter strategy. Maybe it makes sense for your business maybe it doesn't. If you don't want to be on the forefront of technology, well don't. I don't think that launching every startup using the late adopter strategy is necessarily going to result in better business performance. Those that find a better way to do things will win.
- deleted 2y ago[deleted]
- a1exyz 2y agois clojure boring yet? Im considering using it for a web app.
- adham-omran 2y agoClojure was not "popular new" to be "boring" in a way, but it is boring in the sense that it works in a predictable manner, I use it for backend and data analysis, just works.
- insane_dreamer 2y agoThis is why, for example, airline systems at airports (not the self-checkin terminals but what the agent is running behind the desk at checkin), and Costco in-store product lookup software -- still runs on AS/400 or some equally ancient non-GUI platform
- nuc1e0n 2y agoHigh tech or low tech, it doesn't matter. What matters is whether the tech is appropriate to solve the problems at hand.
- nickdothutton 2y agoOne of the most satisfying statements I get to write occasionally is "Component X is now considered functionally complete and so feature Y will not be added to it.
- samsquire 2y agoCan someone reply me a mature stack that is extremely reliable and won't go away? That they're using. I had frequently thought that I would prefer to maintain a batch system than an online system.
- gf000 2y agoJava. It's everywhere, and due to the JVM it won't fall victim of "being written for that exact hardware" problem, like previous generation stacks did. Also, very performant, safe, has an insanely large hiring pool (more than people living in my country), one of the biggest ecosystems (the other two in the top 3 are js and python, and I would argue that js is very frontend-oriented ecosystem and for backend tasks it's not as mature/stable, and python is large in the data science direction. For regular software, Java's may be the widest), very good tooling (observability, live debugging). (Though curiously many of those systems still run in actual virtual machines emulating the whole mainframe and whatnot)
- samsquire 2y agoThanks for your reply. The JVM is a reliable stack. I used it at work on most projects.
- phlakaton 2y agoHow far we've come from the world of the Blub Paradox. I can't resist asking, though: does this make Common LISP boring?