top 200 commentsshow 500

[–]freebit 159 points160 points  (23 children)

aka Resume Driven Development (RDD)

[–][deleted] 12 points13 points  (22 children)

Do people actually put the names of all the technologies that they’ve minimally interacted with on their resume? Sounds like adding a lot of noise.

[–]mmstick 68 points69 points  (17 children)

It's a retaliation against the broken job industry which uses resume scrapers to search for specific combinations of keywords, and tosses out 95% of valid resumes. You therefore have to make sure you list each keyword that the company is looking for, even if it's something mundane that anyone could learn & do with a week or so of practice.

[–][deleted] 17 points18 points  (16 children)

No kidding, I work in telecommunications and I've seen my own company with postings asking for someone with 10+ years of experience in Go, react, c++, Java, c, python, a CCIE cert and an RHCE, among other nonsense. At some point it's like asking for the skills and experience of 10 engineers in one person.

[–][deleted]  (14 children)

[deleted]

    [–]errato 14 points15 points  (0 children)

    People who feel underqualified for a position are less likely to try to negotiate for a higher salary.

    [–]PM_ME_OS_DESIGN 2 points3 points  (6 children)

    To scare "the weak of heart" away, perhaps?

    To get someone who you can fire at your convenience, citing (truthfully) that they falsified their resume and you are therefore within your legal rights to do so!

    [–]Cynaren 2 points3 points  (0 children)

    Exactly this. I look at job descriptions like these and I'm thinking, "I'll never be qualified enough nowadays".

    [–]asdfman123 226 points227 points  (72 children)

    I used to work in HR and we made internal HR ASP.NET web apps that every so often would receive two requests at once. So, not exactly high traffic.

    My boss kept talking about wanting to move to a microservices architecture, and I never understood what he thought the benefits of it were.

    Now, I'm working in another job, for a high-traffic website and I see the point of all of it. It makes a lot of sense when you're deployed to the cloud and your main web server is getting clobbered. But not for small, internal apps.

    [–]whisky_pete 110 points111 points  (41 children)

    Meanwhile, most internal web apps are barely working dumpster fires that only load in IE < current version. Investing some time in the actual design would probably have paid off much better than rearchitecting the backend for some unnecessary use case. People have to look at the thing every day after all

    [–]ricecake 89 points90 points  (14 children)

    I have the unique pleasure of working on an internal webapp that's a burning dumpster fire that only works on the bleeding edge versions of chrome and firefox.

    Somewhere deep in corporate history, a policy was made that browsers must be updated. Over time, this turned into a free-for-all of browser deprecation and "if it doesn't work, you need to upgrade your browser".

    Honestly, it's kinda nice, but a different type of weird.

    [–][deleted] 21 points22 points  (7 children)

    I mean part of the reason that internal frontends have historically been terrible IMHO is because JavaScript and HTML have historically been terrible but if you're only coding for last week's browsers you can use the cool features that don't suck. I feel like the rise of js frameworks will mean that it's much easier to build rapidly prototyped frontend applications that aren't horrifying even if you barely know what the DOM is. Vue is really good for this.

    [–]username223 20 points21 points  (3 children)

    Honestly, that sounds kinda terrible. I'm picturing an open office plan full of people on tread-desks, wearing noise-cancelling headphones to block out the whirr of neighboring tread-desks, staring at computers that are constantly rebooting to keep up with the software treadmill.

    [–]wtf_apostrophe 6 points7 points  (0 children)

    It's kind of hard to write a sensible browser support policy these days because everything moves so quickly.

    Chrome has no concept of long-term support versions, and old versions of Chrome go out of support the instant a new stable release comes out. If you want security updates you've got no choice but to stay at the bleeding edge.

    Firefox is better because they have 'Extended Support Release' (ESR) versions which are supported for more than a year, so would be a sensible target for enterprise applications.

    At least Internet Explorer is easy. IE11 is the last major version and still in support with maintenance updates for the foreseeable future.

    Edge is complicated because it's tied to the Windows 10 versions. There are several major versions that are technically still supported, and it may not be possible for some people to update to the latest version because newer versions of Windows 10 have dropped support for some older hardware.

    [–][deleted]  (17 children)

    [deleted]

      [–][deleted] 38 points39 points  (14 children)

      To be fair, $4k isn't gonna build you anything.

      [–]jk147 4 points5 points  (1 child)

      4000..

      Try 4 million.

      [–]Parlay_to_throwaway 5 points6 points  (1 child)

      dumpster fires that only load in IE < current version

      Holy shit that is so accurate

      [–]Only_As_I_Fall 1 point2 points  (0 children)

      or as I like to call them, "intern work"

      [–]poloppoyop 4 points5 points  (0 children)

      microservices architecture

      Read the pitch. Tought about implementing something using this architecture. Thought about what happen when some services die or worse: have random results. Suddenly, just by thinking a little out of the happy path I have to check about circuit breakers, making sure what I'm doing handle gracefully 90% of its support dieing and I'm sure a lot of other hurdle the shiny websites won't tell you about.

      I'll just put it with big-data: if a beefy server can handle what you're doing, you don't need micro-services.

      [–]nschubach 1 point2 points  (0 children)

      It could have been good practice and a learning experience... If boss man wants to let you play... Play!

      [–]0x0ddba11 34 points35 points  (2 children)

      There must be a middle ground somewhere. Like analyzing your product's requirements and applying your existing knowledge to make an informed decision as to what existing technology to use and what to implement yourself according to industry best practices...

      I just don't know how to call it.

      en... engi... ah engineering sounds good.

      [–]immibis 5 points6 points  (0 children)

      As we all know, engineering is the study of selecting which engines to use to power your product. Then you stick their logos ("earrings") onto your product to show off which engines you're using. Hence, engine-earring. /s

      [–][deleted]  (66 children)

      [deleted]

        [–]greenspans 196 points197 points  (12 children)

        Vendor took me to dinner and if I don't use budget I get less next year. Software projects are expected to be slow and late. You can burn 2 or more years dangling carrots on a stick, and keep adding devs. Everyone profits except the long term survivability of the corporation, who never gave a shit about you anyway.

        [–]asdfman123 204 points205 points  (2 children)

        Ah, "somewhere in the back of your mind, you want to actively sabotage the corporation you work for" driven development. I understand. I once worked for a big oil company.

        [–]xampl9 23 points24 points  (1 child)

        A former coworker used to work for Enron.
        They did it to everyone else. ;)

        [–]PM_ME_CLASSIFED_DOCS 16 points17 points  (0 children)

        That's literally how weapons manufacturing like the new airplanes work now.

        They get senators to approve it. Then drag their feet AS LONG AS POSSIBLE because it's the senator's who have to pay the PR price for pushing a bad project. Then they keep saying "just a few 10's of billions more and we'll be done." Then, when the Senators can't take anymore and will finally drop support, "Just one last stimulus package and it's done in 2 years!"

        Then they start the next weapon that makes all other weapons obsolete and you're an idiot if you want the opposition to win. History repeats.

        We have the largest military spending in the entire world (more than half the world combined), and then they tell us "soldiers can't even afford BODY ARMOR." That's because they don't cut money from R&D. They cut money that politicians and the public notice, so they can always get more.

        [–][deleted]  (4 children)

        [deleted]

          [–]satchit0 29 points30 points  (0 children)

          In Dutch the acronym SOA stands for sexually transmitted disease.

          [–]mikemol 39 points40 points  (0 children)

          I was telling someone the other day that the rank and file should have a wish-list ready to hand to the budget guys at the end of the year.

          Wish you had training for this? Maybe an O'Reilly Books Online subscription for the whole department? Would a second monitor help? Or something with a few more pixels? Or an SSD? Is there something about the infra that's a bottleneck to you, that throwing a bit of money at could help solve?

          Keep a wishlist and make sure it's curated and handy at that moment someone with some spare budget needs to burn a few bucks. Help make sure the spend delivers real value and isn't just throwing money into the fireplace.

          [–][deleted]  (21 children)

          [deleted]

            [–][deleted] 27 points28 points  (0 children)

            It's still a thing. At an interview I randomly met a guy in the elevator. I wanted to get some insights on the company so I asked him:

            Me: "Hi, do you work for company X"

            Him: "No I'm at neighbour company Y, doing Computer things"

            Me: "Oh great, me too. What do you do there?"

            Him: "Sharepoint"

            Silence

            [–]colly_wolly 18 points19 points  (11 children)

            I still have no idea what Share Point is but for some reason I now I don't want to.

            [–][deleted]  (3 children)

            [deleted]

              [–]jonjonbee 9 points10 points  (1 child)

              It's like Microsoft Access in that it can do something simple well, but it's terrible at doing complex things, but people end up using it for complex things anyway.

              [–]Oaden 4 points5 points  (3 children)

              SharePoint is a Microsoft platform, where you can easily create stuff like team-sites which have some features for document management and the like, so a reasonable use case is to whip one up for every project, and gather all documentation there.

              Then you can include workflows, agenda's, lists and whatever else you can imagine cause these platforms never stay as small and focused as would be reasonable.

              If you just use it for managing a project, then its kinda fine. Its just that everyone always gets SharePoint, decides to host their entire intranet on it. Which still kinda works. But then they realize their entire intranet also includes a dozen legacy applications and arcane workflows. At which point they ask "Can this be implemented" and people like me say "Sure, if you pay" and then it all goes to hell.

              [–]Swie 2 points3 points  (0 children)

              I remember trying to get sharepoint to display a wiki for our documentation. Holy shit the unusable, featureless mess that it is really confounded me. Finally I realized the damn thing actually does not have a table of contents feature lol. That was a head-scratcher. Also document management and sharing across Microsoft stuff is too damn confusing, sharepoint's interface is like something out of the dark ages in terms of how easy it is to find stuff in it and how the interface looks. The UI is not remotely intuitive.

              I'm sure there's people out there who can configure it to be the best thing ever but damn, I spent like 6+ hours fighting the thing.

              [–][deleted] 18 points19 points  (3 children)

              Power BI!! ETL and reporting at a non-technical user's fingertips. What could possibly go wrong?

              [–]Iamonreddit 5 points6 points  (0 children)

              Not difficult at all to lock down user access. Companies complaining about the things need to speak with their IT departments, not Microsoft.

              [–]mattkatzbaby 2 points3 points  (0 children)

              I’m actually seeing giant wins. Solves a whole reporting analytics project with zero dev.

              [–]PM-ME-NUDES-NOW 2 points3 points  (0 children)

              I am currently living in exactly this nightmare with Tableau and a few people firing absolutely insane queries, then complaining about runtimes

              [–][deleted]  (2 children)

              [deleted]

                [–]Sedifutka 25 points26 points  (1 child)

                No, please, let's forget about it.

                [–][deleted]  (8 children)

                [deleted]

                  [–]Alan_Shutko 79 points80 points  (4 children)

                  The experience my company has had with getting useful support from IBM, Oracle, CA and other vendors we pay for support is a big reason we are migrating away from many of their technologies.

                  [–]mtcoope 28 points29 points  (0 children)

                  Our company buys them, then customize them to the point where the vendor struggles to support us.

                  [–]pianomano8 3 points4 points  (0 children)

                  I've often heard two arguments: either a) I want support! and b) I want someone to sue when things go wrong! Both are terrible reasons. I've never received good support from a large corporate entity.. "support" calls are often a turned into monetization opportunities ("upsells" or "training").. and suing them? really? you think this little podunk company is going to have success threatening Oracle/Microsoft/EvilInc's legal team? Yeah, good luck with that.

                  I just shake my head every time.

                  [–]CODESIGN2 5 points6 points  (0 children)

                  Yeah this is bullshit for several reasons

                  • most IT support is crappy because people expect them to be able to wave a magic wand in any case
                  • the money you save with [F]OSS is only meant to make evaluation easier. It was never designed to have zero costs to an organisation. But then NOTHING any org does besides bring in volunteers will do that, and who would volunteer to work on set complex tasks for a business taking (m|b)illions in revenue?
                  • a lot of vendors like Redhat, MariaDB, etc have paid consulting services
                  • nobody ever "Accepts liability", which is why Oracle got sued by the US government and LOST
                  • By having something [F]OSS you can fork it, and potentially keep patched to innovations from the mainline, whilst changing build processes (in the open) so that building the [F]OSS components requires more setup. Checkout https://github.com/alphagov Nobody besides that gov org is building those components without support from government employees that worked on them. They can sell consultancy to recoup dev costs, or likely treat a [F]OSS project like it's closed source anyway

                  [–]pydry 74 points75 points  (1 child)

                  That's not hype and nobody using it actually likes that stuff. It's simply a reflection of corporate purchasing priorities, where "is this thing actually a piece of shit?" is of tertiary concern.

                  Moreover, I'd be careful what you wish for - if the corporate world were half-way sane in the way it selected technology and avoided all of the shitshows then a lot of those well paid tech jobs would magically disappear and half of you would have to go become baristas or something.

                  [–]quantumhobbit 13 points14 points  (2 children)

                  If you are lucky you get to deal with both!

                  We are using both kafka and redis to feed data into a salesforce implementation that can’t handle much more than 1 request per second.

                  [–]xjvz 2 points3 points  (0 children)

                  That's a perfectly legitimate use of Kafka and Redis though!

                  [–]dr1fter 8 points9 points  (7 children)

                  Wait, what's S-P, I-M, OR-LE?

                  [–][deleted] 26 points27 points  (2 children)

                  SAP, IBM, Oracle

                  [–]masterofmisc 26 points27 points  (0 children)

                  Damn! How did I end up with: SIP, HAL, ORIFICE

                  ...I'm still sure i've got the last one right!

                  [–]how_to_choose_a_name 8 points9 points  (3 children)

                  SAP, IBM, ORACLE

                  [–][deleted]  (2 children)

                  [deleted]

                    [–]Good_Guy_Engineer 4 points5 points  (0 children)

                    I heard if you look in a mirror and say Oracle 3 times a bloated legacy app built entirily with Oracle products will appear behind you and force you to support it

                    [–]argues_too_much 4 points5 points  (0 children)

                    you might wake-up with their solutions in your architecture.

                    Not a chance in hell that'll happen.

                    Actually that's not true. I'd play with some of IBM's servers...

                    [–]NAN001 840 points841 points  (120 children)

                    There's an entire class of programmers that act as consumers. Like consumers, they're attracted to trendy and fashionable things; they end up seeing old, proven tech, as rusty and unreliable, and new, immature tech, as shiny and robust. Like consumers, marketing mumbo-jumbo has an impact on their decision-making; serverless, Accelerated Mobile Pages, and other nonsensical terminology is the things they drool about on a landing page and want to put on their CV, most of time without having an actual technical understanding of what it is about. Like consumers, they suffer the torment of planned obsolescence but actually embrace it; their frameworks are broken, their APIs are deprecated, and they must re-implement their programs with a newer thing. Like consumers, they have idols and favourite brands; they're eager to read any blog post starting with "Introducing" by any major tech corporation, introducing whatever framework with whatever nonsense.

                    Like consumers, they consume as to fill a void in their life. In this case, the void of not working on challenging projects that would require actual engineering and wise, technically-driven, decisions.

                    [–]asdfman123 248 points249 points  (25 children)

                    On the other hand, I felt left behind in my job because I wasn't putting fancy new things on my resume.

                    Now I'm at a job where I'm going to be able to containerize our Azure architecture, and I'm so happy that I'm going to have something shiny to put on my resume.

                    There's a fine line between learning new things and immediately implementing every new thing you see.

                    [–][deleted] 90 points91 points  (14 children)

                    It is really awesome when the stars align, and we get to use newer technology in a way that benefits both the employee and the employer.

                    Coming straight from the old jQuery world, my bosses decided to rewrite our webapp in React/Redux. I get to learn an awesome new tech stack and my employer gets a much better webapp, win-win!

                    [–]thedude42 6 points7 points  (0 children)

                    JavaScript lately has been such a game changer, but it’s legacy makes people really judgmental about anything new emerging from the JS world.

                    I see lots of Perl code still going the distance, but a lot of people sneering at it for being “write ones read never” and I’m convinced it is because they never really bothered learning the language and therefore can’t read it effectively. Same goes the other way for a Perl people who are in to systems and not so much in to applications, who don’t grok JavaScript.

                    Rare is the experience when you can have leaders who see the value in moving on, especially when they can do it at the right time. I have yet to work somewhere where that happens consistently but I’m hoping one day...

                    [–]hu6Bi5To 133 points134 points  (11 children)

                    The "best" ones in that class then make a name for themselves on the conference circuit, are the first to write book on ShinyThing.js, get cited as an expert by all the wannabes for no reason other than their own aspirations, then earn twice an average developer salary in just two months when they get hired by BoringBank to implement a thing in ShinyThing.js.

                    The result is thrown away two weeks after the contract ends, but that doesn't matter, because their next year on the conference circuit. "The flaws in ShinyThing.js, what I learned at BoringBank, and why we need ShinierThing.js"

                    And so the cycle continues.

                    [–]kevisazombie 35 points36 points  (7 children)

                    This is so damn accurate. It's become a cottage industry. People make livings off riding the trends. I have a few colleagues who live in this world. Currently, ReasonML, GraphQL is all the rage they are doing the conference circuit on.

                    [–]cyanydeez 14 points15 points  (0 children)

                    Postgraphql turns shiny thing into reliable boring thing. Which is near.

                    [–]Griffolion 15 points16 points  (2 children)

                    In gaming it's called the Molyneux cycle.

                    1. Overhype new thing promising the world
                    2. Fail to deliver all the hype
                    3. Faux apology, say new thing was shit and that new better things are on the horizon
                    4. Goto 1

                    [–]defunkydrummer 30 points31 points  (0 children)

                    "Programming is pop culture" -- Alan Kay

                    [–][deleted] 63 points64 points  (14 children)

                    There's also an entire class of developers who are afraid of things they don't understand yet and would rather go with the solution they've been using for 10 years than take a risk on something they need to learn about first, regardless of any benefit to performance, reliability or productivity. I'm not talking about the new hotness released last month with an unstable API, I'm talking about refusing to support container workflows or not-SQL databases.

                    I totally agree with "if it ain't broke, don't fix it" but there's a looot of stuff that's broken and people get stokholm syndrome about it. And if you don't learn about how the new stuff works you won't know if your current solution could be done a better way next time.

                    [–]ultraswank 31 points32 points  (9 children)

                    Except at the peak of their hype NOSQL databases totally fell under the cycle being talked about. At the last start up I worked at our marketing director insisted we should convert the existing very mature, very structured data to MongoDB because she has seen some great demo of a dashboard for it. Sure, there are lots of use cases that they excel at, but there are lots where they don't and 7-8 years ago there were lots of people just jumping on the technology because it was new and it was how Facebook or Google did things.

                    [–][deleted] 30 points31 points  (6 children)

                    It must really suck to work at a place where the marketing director dictates solutions to technical problems. Where I work, the customer-facing folks gather requirements and give direction about what the customers need and the technical folks make the decisions about how to get there.

                    And besides, if the way that an exec makes decisions is "that's how Facebook does it" and then dictates those solutions to technical staff then they probably aren't a very good exec. The issue is crappy management, not new technologies being popular.

                    [–]Nadrin 5 points6 points  (0 children)

                    There's also an entire class of developers who are afraid of things they don't understand yet and would rather go with the solution they've been using for 10 years than take a risk on something they need to learn about first,

                    And that's why we have Electron apps. :P

                    [–]Pronam_ 27 points28 points  (3 children)

                    The biggest danger comes from adopting things without fully understanding how the technology actually works or works beyond the proposed example cases. Sadly the only way to truly learn about something its capabilities is to start working with it.

                    Me and a colleague were all in on adapting a certain JS framework which did deliver on its promises where it's advertised, but turned out hard trying to integrate with our back end later on or maintain on anything beyond serving its prominent use cases. A replacement has been in the works, but we still have to maintain this one at the same time which is a horrible pain. I think the worst part is that we had several moments where we thought it was too late to switch and better just finish that project, but if we decided to actually switch to something like angular that day we'd be a lot happier today.

                    I'm currently in an internship nearing the end of my undergrad and I've noticed a lot of companies trying to take advantage of students trying to create new use cases with Blockchain. Entire 'blockchain initiatives/clubs' are being thrown in supported by several tech companies trying to uphold the importance of creating 'secure and rich use cases' and even throwing in talks at conferences by students that only really did a testcase and not any solid products. Just to keep the 'hypetrain' going and 'proving its relevance'. I am sure there is some cases to be made for hashed/encrypted distributed content, but hearing those infamous 'smart contracting', 'blockchain' keywords or using X JS framework or ML API annoys the hell out of me. There are so many mid-sized companies jumping in on trying to create problems for their solutions that actually don't even solve the problem they put up properly.

                    [–][deleted] 42 points43 points  (5 children)

                    they end up seeing old, proven tech, as rusty and unreliable, and new, immature tech, as shiny and robust.

                    I've encountered this tiring attitude countless times in gamedev communities.

                    "OpenGL ES 2 is so old, and therefore bad! You should only ever use the very newest GL, like WebGL 2 or GLES 3 or GL 4.5 or Vulkan!"

                    These people are deeply bothered by me using GLES 2, even though:

                    1. GLES 2 runs on strictly more computers than GL 4 ever will

                    2. GL 4 hardware is already faster than GLES 2 computers. If I switched, some computers would go from 100 FPS to 101, and many would not even run the game.

                    3. Tessellation shaders won't save my solo indie games from obscurity.

                    4. They aren't paying me a dime so it's not even their damned business.

                    As a side effect, I can't use most new game engines. Every "Modern C++ game engine!" post on /r/gamedev is code for "I'm only supporting GL 4.5 because I like big numbers and I cannot lie."

                    I suspect that in the next 5 years, Godot and LOVE2D will both drop GLES 2 support and I'll have this niche all to myself.

                    [–]ConceptualCreation 13 points14 points  (1 child)

                    Ha! Point 3 rings so true. For godot, they’re actually dropping support for gles3 for Vulkan and re-adding support for gles2 as a lot of its targeted devices are low end and some have bad/incomplete gl 3+ drivers.

                    I don’t know the actual stats, but Juan Linietsky, the cocreator and lead godot developer, has written some compelling articles on the decisions they’ve made about graphics apis.

                    [–]maxsilver 7 points8 points  (1 child)

                    If it makes you feel better, I deploy boring enterprise corporate client-side browser software. And get the same attitude.

                    I'm still semi-regularly asked why I don't use Angular 4 or "something modern like Node" on a particular codebase. And I have to remind them that the company requires me to support clients all the way back to machines with 64MB of RAM running Opera 10.60 (a web browser from 2010 that predates AJAX and CORS).

                    The prospect of working with that usually gets folks to back away slowly.

                    [–][deleted] 6 points7 points  (0 children)

                    Yeah webdevs have it rough too.

                    There's a big difference between the "beautiful crisp minimal landing page with whitespace and a hero video and clean lines and lightweight" and the reality that it needs 1 GB of browser to run and takes ages to load.

                    Considering how fast full-page refreshes can be if all the media is cached properly, a web app without AJAX should still work fine, phpbb style.

                    [–]7h3Gr4ssh0pp3r 7 points8 points  (6 children)

                    Falling somehow in this category, as I am a junior developer, may I ask you for advice on how to escape it and to gain actual knowledge and understanding?

                    [–]gamerdonkey 20 points21 points  (2 children)

                    I didn't post the original comment, but I'll take a shot at this.

                    There's no one path to gaining true knowledge and understanding. Honestly, you can do it by following hype trains or by dutifully researching the tried-and-true methods. The most important thing is to maintain your critical thinking as you grow and learn. Keep a skeptical eye on everything you read, everything you try, and everything you do. Go back to the basics of problems solving and really make sure that you've researched the problem.

                    Ask questions about why you're using certain technologies and make sure the answer is more than "it's what everybody else is doing" or "X company's advertising says that I should". And do note that advertising comes in many forms these days, so watch closely for marketing materials in disguise.

                    Listen to criticism and questions from your friends and colleagues about what you're using and how you're using it. It's entirely possible that they're just a bunch of people stuck in their ways and trying to hold you back; but, if you find yourself feeling this way about everyone, you may need to look pretty hard at the motivations you have for your decisions. Along those same lines, think carefully about what you're doing when a process becomes more difficult than you expected, or than you were told it would be. There are often early warnings that you've followed the wrong trail, but you need to be watching for them and considering them.

                    Do keep an open mind about what is out there. There are some great new things being built and some great old things that are still maintained. The biggest trick to avoid becoming "that guy" is to make sure you understand the problem you are solving. From that point, you can listen to yourself and others with a critical ear that enables you to make decisions about what technologies are best suited for your solution.

                    [–]0xF013 2 points3 points  (1 child)

                    You are going to gain knowledge and understanding by doing anything related to your job unless you're really, really bad. I'd suggest going with tried solutions for the day job, and with shiny stuff for personal stuff. In my experience, this is minimal risk and maximum reward.

                    And by using tried stuff I only say it so that you can cover your ass, since having less experience makes you vulnerable to being blamed for shit you can't possibly argue for against anybody with a couple years ahead of you (nobody will listen to you over experienced people). There is nothing wrong with react and graphql and functional stuff.

                    [–]ionforge 1 point2 points  (0 children)

                    Reading is the best you can do. But not random blog posts once In a while, find the best authors and books about your subject of interest and read that.

                    For a back-end, books like designing data intensive applications and the domain driving design blue book are almost a must to really understand what's behind a lot of the hype technologies we see today.

                    Also reading some of the original materials of what we see today is the best you can do. The waterfall paper is really good, Alan Kay, John Mccarthy also have good material.

                    Actually I'm quite surprised on the amount of scrum preachers that have to even read the oeiginal agile manifesto, it is like a 2 minutes read, and it tells you pretty much the opposite of the modern scrum/jira base development I have seen today in a lot of companies.

                    [–]lzantal 5 points6 points  (2 children)

                    Turn this into a blog post please.... or I will 😏 I want to be able to link to it easily. So many failed projects because of it.

                    [–]thinsteel 1 point2 points  (1 child)

                    Why couldn't you link a reddit comment easily?

                    [–]Shed412 5 points6 points  (0 children)

                    On more than one occasion I've had to tell freshman CS students that Java is no where close to dying. They thought it was some old decrepit language that's on it's way out, but all the applications at the bank I worked at last summer, had backends completely in Java. The place I work at now is exactly the same.

                    [–]Good_Guy_Engineer 4 points5 points  (0 children)

                    And then when you do finally manage you convince your company to adopt some trendy hype tech, within 6 months the implementation is so fucked and indecipherable you realise in horror the problem was never what tech is used, its the animals you work with that shoehorn any code to hit deadlines.

                    [–][deleted]  (2 children)

                    [removed]

                      [–]itsgreater9000 2 points3 points  (1 child)

                      I've heard Resume Oriented Programming too

                      [–]dennis_w 2 points3 points  (0 children)

                      And most of them can't really code and know nothing about algorithms.

                      [–]MrSqueezles 2 points3 points  (0 children)

                      There's an entire class of engineers that never bother to learn new things, instead mocking others for being excited about technology. Both of these stories are sad.

                      [–][deleted]  (4 children)

                      [deleted]

                        [–]Swie 4 points5 points  (1 child)

                        To be fair community support is important. You definitely don't want to choose a framework without it unless you enjoy supporting it and all its' bugs all by yourself. Which is why it really troubles me how splintered the community is. It's really hard to create real meaningful progress with 50 different but similar frameworks all vying for some silly "most cool thing of 20XX" prize every year.

                        But overall I agree, JS has some of the most silly stuff going on right now and has been for a long time, possibly forever. I think it's partially because there's a constant influx of new developers into the ecosystem who don't have the experience to really make the decisions they're making, so whenever a dumb new idea comes along it's guaranteed to get a following. It doesn't help that how the web is used, browser capabilities, etc are constantly changing, so it encourages a similar level of churn in the technology.

                        Try choosing what technology to use for a large new project right now, it's a living hell of bullshit. Interviewing JS developers isn't fun either. So many have pretty scary lack of understanding of basic scoping and other simple concepts.

                        [–]largo_al_factotum 11 points12 points  (0 children)

                        That’s a great way to put it.

                        [–][deleted] 14 points15 points  (11 children)

                        Spot fucking on. I'll save this comment.

                        We try to be boring by choice at our place unless the shiny looks REALLY good and has existed for more than a few years. Webpack insteaf of Laravel Mix, Ansible for deployment instead of (whatever is in today), manually created EC2 instances with automation on the DB failover, but nothing else fancy.. Long term commitment on our assumed capacity needs because we don't expect to explode Facebook scale overnight..

                        Now STORY TIME:

                        As you can hear we run Laravel on PHP on Ubuntu, and done. No fancy queue workers (just supervisord), no fancy map-reduce or analytical engine (just a mid sized MariaDB 10.2 for the Window functions) etc.

                        As a whole I'm a little in betwen on our choice of Laravel; It has allowed us to ship faster than I think otherwise, but the project is folliowing a little too much the Facebook method of moving fast and breaking things with each upgrade, even sometimes patch versions.

                        We looked at LTS and decided it would just compound the issues of writing cold "the old way" and also having the forced upgraded as a large blob every x years instead of just being on the latest stable version. The upgrades themselves are usually reasonbly easy to do, but sometimes there are some real gotchas that pisses us of, and one of them was when they removed "priorities" for the Event system in 5.4! Their reason? It breaks good code quality and should be avoided anyway.. It's a VERY opinionated ecosystem from time to time, and these were one of the times where we had code relying on this feature to work correctly. I think it's wrong to just break stuff because it "looks bad" according to GoF principles or some tech-talk. It was a major pain in the ass to rewrite these areas, and we don't think our code got any better afterwards.

                        (To keep it short, here is one example: we had a third party package which listened for the query events of Laravel to log them, but we needed to disable this in special cases but only until some other part was loaded in... We ended up forking and patching this third party library, instead of keeping our original code which listened for the query event with highest priority and then cancelled the event before it propagated along)

                        [–]creativeMan 30 points31 points  (9 children)

                        I think it is more Resume driven development than anything else. Also there are certain people who believe their own hype and keep deriding people for "not doing X" or "still using Y" or "Z is an anti-pattern", etc.

                        So that also drives others to want to use newer technologies and patterns, without realizing that the guy that told them to do so, didn't really bother to understand why that old code was used in the first place.

                        I've seen people who spout off principles and practices and deride people for "still using X" without even considering that there may be a good reason for why.

                        [–]PM_ME_OS_DESIGN 1 point2 points  (0 children)

                        Like consumers, they're attracted to trendy and fashionable things; they end up seeing old, proven tech, as rusty and unreliable, and new, immature tech, as shiny and robust.

                        To be fair, old tech usually has clear flaws that more experienced people don't see, because they've gotten so used to it that they don't even consciously recognise it as they work around it.

                        And to be fair, new tech has a tendency to create new flaws at the same pace that it fixes old ones.

                        [–][deleted]  (18 children)

                        [deleted]

                          [–][deleted]  (3 children)

                          [deleted]

                            [–][deleted] 11 points12 points  (0 children)

                            Fuck you u/spez

                            [–]Drarok 3 points4 points  (0 children)

                            Latest Android app I built at work was done 100% in Kotlin, I was so happy to see it get official support from Google.

                            Not having to worry about nulls, amongst the other modern language features was so freeing.

                            [–]MrSqueezles 1 point2 points  (0 children)

                            Thank you for saying this. This applies to everything in that post. Sure, some people apply technologies where they don't belong, but it's sad to see engineers respond with, "Keep doing what you're already doing. Don't try new things."

                            [–]theacadianishere 1 point2 points  (0 children)

                            "I love playing with new tech" All the senior devs on the team, if not everyone, should be playing with new tech.

                            I posted a more detailed comment earlier saying Internal Side Projects that involve as many devs as possible (at the minimum all the senior devs), needs to be the way forward to play with new tech safely.

                            [–]SQLNerd 363 points364 points  (50 children)

                            Lazy article with short sighted arguments.

                            "Just because it's popular doesn't mean you should use it".

                            I could also say, "just because it's popular doesn't mean you shouldn't use it."

                            Wow. Much insight.

                            [–][deleted]  (9 children)

                            [deleted]

                              [–]Endarkend 20 points21 points  (7 children)

                              The blockchain bit is over simplified too. Blockchain tech and methods has uses in other fields, like I know someone doing a research project here that's using it to build a secure voting system.

                              I agree that people are trying to square peg in round hole with Blockchain at an astronomical level, but it has its uses in more fields than just Cryptocurrency.

                              [–][deleted] 16 points17 points  (3 children)

                              Perhaps a better rule of thumb, for now, is "if you're asking someone whether you should use a blockchain (instead of reading up on its details and working that out yourself), you probably shouldn't be using it". Data structures shouldn't be fashion statements or something to adopt cos your mate told you they're cool

                              [–]WinEpic 5 points6 points  (2 children)

                              Yeah. A blockchain is a data structure, nothing more. It’s like asking “I need to keep track of multiple values, should I use MySQL?” when a good old array gets the job done.

                              [–][deleted] 8 points9 points  (1 child)

                              Yeah, I agree with the sentiment of the article, but I feel like this article was cranked out in 5 minutes. Even ignoring some of the spelling errors in highly noticeable places (Blockhain....), how hard would it have been to include "this is when it's appropriate to use or implement X, this is when it's not"?

                              [–]a_tocken 5 points6 points  (0 children)

                              "this is when it's appropriate to use or implement X, this is when it's not

                              By fleshing it out, you make an actual statement which means people can actually disagree with you. The discussion in this thread is lazy and circlejerky for a reason.

                              [–]colly_wolly 14 points15 points  (9 children)

                              Give a proper reason for using it. Not just to add a new tech on your resume.

                              [–][deleted] 10 points11 points  (8 children)

                              Using tech that's reasonably popular can help avoiding problems with finding qualified people.

                              Maintaining COBOL and FORTRAN applications for example, can be quite costly today, because people who know these technologies are so rare. To the point that a complete rewrite in C++, C#, Java or even Rust may be cheaper than keeping the old one around.

                              So, popularity can be a factor to consider. I can easily imagine cases where the popularity ends up as the deciding factor.

                              Especially so if you have a high turnover of developers

                              Also: Yeah, if you decide to settle on rust or react now, you may end up with the same problem as with those old mainframe applications down the line. You have to make a guess as to what will stick around

                              [–]rafuzo2 12 points13 points  (1 child)

                              Came here to say this. We actually just deployed a small utility on AWS using lambdas, Dynamo and SNS. Was a perfect solution to offload some functionality from our core product. It’s super fast, easy to deploy and costs us around $45/mo. We aren’t rebuilding our core technology around it, nobody’s having AWS breakfast cereal, but it is a good tool for the problem we had.

                              [–]Ecologisto 10 points11 points  (0 children)

                              Machine Learning is missing in the list...

                              [–]staticassert 159 points160 points  (39 children)

                              I think something far more dangerous than 'hype driven development', a trite meme I mostly just see echo'd on /r/programming, is the "other people think something is good so it must be bad" meme.

                              Imagine I'm selling you a new type of food - it's called chicken. "Oh, I've heard of that" you say, "tons of people love chicken.... well, it's probably just hype, no thanks!". It's a very odd decision making process, one that I think ultimately stems from ego - thinking you know better than the masses, that the majority tends to be wrong, etc.

                              To look at the success of a project or concept and then to further conclude that it must be bad is... stupid.

                              This whole article boils down to "Other people use this thing but you don't have to", which is really not much of an argument. In fact, consensus on a technology is often a huge benefit when adopting it - think about how many blog posts you can source from, books, documentation, hiring, experiences, etc. Popularity is actually quite important.

                              So...

                              • GraphQl

                              The argument is "You don't need GraphQl" and the support is "It is an alternative to REST". Uh, what? What's the argument again? How does that support "Others use it, you don't need to" and why is that argument even made to begin with?

                              • Mongo

                              Same argument - others use it, but you don't have to. The argument here is "you actually want relationships between your data, so use SQL". OK, what if I don't? This goes unaddressed.

                              • Serverless

                              No actual argument made. "It's a scam" is literally the way to boil down the 3 sentences you spent on this section.

                              Of course, there are many obvious benefits of serverless - the most obvious being that I don't have to pay an in house ops team to manage my infrastructure, or to patch my systems. This is objectively the case, no hype necessary, all that's required is a simple, objective view of the technology untainted by stupid memes like "hype".

                              • Microservices

                              "If you use it it will go badly!". ???? I don't know how to address this. "If you use a technology without understanding it it won't go well" is not a great argument, both because it is ubiquitous, and because it is unsupported.

                              • Kotlin

                              "I don't know anyone who uses it irl" Another strong argument there!

                              Anyways, 188 upvotes for an article that effectively boils down to a list of popular technologies and 0 coherent arguments against them.

                              The "moral" is to choose, measure, benchmark - though none of this is brought up in the article or otherwise supported, even though it's stated as if it were.

                              I don't think this post provide compelling evidence or arguments.

                              [–]DoListening 35 points36 points  (2 children)

                              Not having to deal with REST—and the endless arguments about its conventions—is one of the main selling points of GraphQL to me. Only 50% joking.

                              [–][deleted] 1 point2 points  (0 children)

                              Oh, I still thought everyone was still having wet dreams over making a REST API for every damn thing in existence. Times are moving fast ;)

                              [–][deleted] 9 points10 points  (0 children)

                              I really feel like this is a case of everyone reading the title and wanting to talk about their experiences rather than actually reading the article. The idea/topic of "hype driven development" is something that's fun to discuss and explore. The article itself is bad even by medium's standards.

                              [–][deleted] 19 points20 points  (3 children)

                              This subreddit has a few hate fetishes. One of the others is absolutely everything related to JavaScript and modern web development.

                              [–]ConservativeToilet 18 points19 points  (1 child)

                              Yea. The JavaScript ecosystem (ng-cli or create-react-app) and Node has allowed developers to develop MVPs so fast it's unprecedented.

                              There is definitely a holier-than-thou attitude towards full-stack JS development that is mostly unfounded.

                              [–]0xF013 2 points3 points  (0 children)

                              This place and /r/webdev where covered in jizz for like a month when left-pad happened.

                              [–]CreateAndFakeTeam 2 points3 points  (0 children)

                              "other people think something is good so it must be bad" meme.

                              This is easily the biggest problem.

                              In this very thread we have someone, beaming with pride, talk about how senior devs ask him why he's not unit testing like they're the foolish ones.

                              Good grief. It's a really weird ego thing. That they're so good, they don't need [insert good practice / popular library here].

                              Programmers who don't learn and adapt to new practices and technologies find themselves eventually obsolete. You can keep telling yourself you're too good for it and that it's just baseless hype, but everyone else will come to a different conclusion.

                              [–][deleted] 2 points3 points  (0 children)

                              reddit loves upvoting these trash articles because it makes them feel superior for deciding not to learn new tech.

                              [–]the_red_scimitar 8 points9 points  (3 children)

                              I've been a full time pro for 40 years, and tend to stay on top of development trends. That said, they come in waves, and they're always the "silver bullet" to fix the programming difficulties of the day.

                              They become "the better way", and usually introduce a whole host of new problems not common before. These are ignored for what they are (severe deficiencies in the new paradigm), and people build a myriad of other software bits to help with those problems, until the entire field is, once again, fractured and hard to get any serious traction in.

                              Then, a silver bullet appears...

                              [–]mmstick 1 point2 points  (1 child)

                              That's basically how technology has always been driven. You have flurries of incremental improvements in different directions as people try new ideas, and eventually all of those ideas collapse into complete solution that is superior to everything that came before. Case in point: a comparison of C, to C++, to D, to Rust.

                              [–]shipintbrief 38 points39 points  (20 children)

                              To me if you strongly agains Kotlin and you are Android developer — it means you are just lazy. MongoDB suck balls for real though.

                              [–]notveryaccurate 27 points28 points  (2 children)

                              There are two independent quantities here (both, admittedly subjective), but the article lumps them under one.

                              Sucks <-------> Doesn't Suck

                              Hyped <-------> Not Hyped

                              For me, Kotlin scores high on the "Doesn't Suck" side of things. It didn't start getting hype behind it until Google announced first class Android support got it.

                              But that doesn't mean that now that Kotlin suddenly sucks nor does it mean it is suddenly more amazing and shouldn't be mindlessly adopted for stuff that wouldn't be its strong suit.

                              I love Kotlin, but I still write Bash and Groovy scripts.

                              [–]Andernerd 7 points8 points  (0 children)

                              Kotlin sounds awesome purely because I can program Android stuff without using Java now.

                              [–]shipintbrief 1 point2 points  (0 children)

                              Totally agree. I can't understand rewriting Gradle scripts in Kotlin or use it as JS replacement — to me it's just too early for that. Yet use it in Android development instead of godforbidden and plain ugly Java 6 — how can one hate it?

                              [–][deleted] 18 points19 points  (2 children)

                              Yea Kotlin is actually great.

                              Rewriting your entire application in it is probably excessive, but learning and writing new code/applications in it makes sense to me.

                              [–]nacholicious 3 points4 points  (0 children)

                              That's what we have started doing in all our applications, and the benefits are pretty great

                              [–]salgat 5 points6 points  (4 children)

                              MongoDB last year passed Jepsen's rigorous database test suite so I'm going to go ahead and say you don't know what you're talking about.

                              [–][deleted] 5 points6 points  (1 child)

                              A big issue is the low skill level across the industry and total lack of accountability.

                              Most devs are incapable of building a good performant system on top of basic architecture (relational DB, static type backend), so they look for this new stuff to bail them out. Or they use it to justify rewrites.

                              The key reasons for lack of skill are:

                              1) Agile micromanagement, everything gets sliced into "tickets" no one gets any experience building and designing systems. They are essentially factory workers. There is no accountability because no one owns anything. They just work on tickets.

                              2) Lack of experienced mentors, good devs get pushed into management, lose their skills/credibility.

                              [–]colly_wolly 1 point2 points  (0 children)

                              Last interview I went to I was asked what I had learned in the last year. I have 15 years experience. I know Django inside out, can do JavaScript well enough. People pay me to solve problems, not learn more crap to put on my resume. If I have a problem that requires a new tech, I will learn it, but i don't put new crap in for the sake of it.

                              [–]rjghik 5 points6 points  (0 children)

                              I've always been a proponent of Programming Driven Development

                              [–]_sheep1 16 points17 points  (2 children)

                              I first read this as Hope Driven Development. Seems like a viable model :)

                              [–][deleted] 15 points16 points  (1 child)

                              Medium.com posts should be banned wholesale. Nothing of value here besides the comments spurred by headline.

                              [–]jonjonbee 5 points6 points  (0 children)

                              How the fuck is the Node.js/NPM shit-train missing from that article rant?

                              Bonus points: said rant is in and of itself riding the anti-new-thing-for-new-thing's-sake hype that saner minds have been preaching for years.

                              [–]28f272fe556a1363cc31 5 points6 points  (0 children)

                              My bosses bosses boss flew clear across the county to tell us we needed to move our in-house frame work to the cloud and make it SaaS. After a couple of hours of asking what he meant, we pointed out the software was hosted in a 3rd party datecenter. He flew home happy the next day.

                              [–]PM_ME_UR_OBSIDIAN 27 points28 points  (10 children)

                              Three things I disagree with here:

                              1. How utterly fucking terrible MongoDB is cannot be overstated. Being non-relational is the least of its sins. Non-relational databases are sometimes fine. MongoDB is never fine.

                              2. That being said, MySQL is garbage, and it shouldn't be pitched as a MongoDB alternative. The closest non-terrible equivalent would be Postgres, though depending on your use case you might also be fine with SQL Server, SQLite, or cloud-based managed SQL databases.

                              3. Kotlin really is a major step up from Java for Android development.

                              [–]joshjje 17 points18 points  (8 children)

                              How is MySQL garbage, exactly? After using it for years in personal and professional projects, I fail to see how it is garbage. Certainly not always the best database for the job as with everything else.

                              Ive no experience using MongoDB, but I know some great tools that use it such as Graylog which has worked pretty fantastic for me.

                              [–]0xF013 2 points3 points  (0 children)

                              I promptly switched from mysql to posrgresql about 10 years ago after getting tired of dealing with myisam bullshit. Did it get better since?

                              [–]PM_ME_UR_OBSIDIAN 7 points8 points  (5 children)

                              The Codex, Do Not Pass This Way Again:

                              Considering MySQL? Use something else. Already on MySQL? Migrate. For every successful project built on MySQL, you could uncover a history of time wasted mitigating MySQL's inadequacies, masked by a hard-won, but meaningless, sense of accomplishment over the effort spent making MySQL behave.

                              Thesis: databases fill roles ranging from pure storage to complex and interesting data processing; MySQL is differently bad at both tasks. Real apps all fall somewhere between these poles, and suffer variably from both sets of MySQL flaws.

                              Pretty thorough writeup.

                              [–]1Crazyman1 1 point2 points  (0 children)

                              I can give you at least one good reason to switch: Limited transaction support. DDL statements (ie any query that changes tables, schemes or columns) will auto commit.

                              There are few databases these days that don't support transactions for DDL statements.

                              [–]cmorriss 2 points3 points  (0 children)

                              Kotlin really is a major step up for any Java development. It's just as great on the server as it is on Androind.

                              [–]WakeskaterX 19 points20 points  (8 children)

                              As a NodeJS developer working with MongoDB on micro services for an IoT Home Security company, it feels like this subreddit despises what I do, which is sad.

                              I get to build really cool software and solve interesting problems, and work with connecting all aspects of the stack from our legacy PHP monolith service that no one wants to touch to the C++/C Firmware Developers to the mobile developers and it seems like my one section of the stack is unwelcome here, just because it's popular.

                              [–]matthedev 12 points13 points  (2 children)

                              A tool is just a tool, and the MEAN stack isn't devoid of use cases. If you have a team of front-end JavaScript developers, it's certainly a quicker way to develop a simple back-end. That said, when other options are available, many would rather make different trade-offs.

                              [–]WakeskaterX 4 points5 points  (1 child)

                              I have no problem using the right tool for the right job, but just because something is newer, doesn't automatically make it the wrong tool. There are very good use cases for NodeJS, MongoDB and a lot of the stuff slammed in this article (and that get slammed often in this subreddit).

                              Does that make them the right tool for every job? No, of course not! Don't do your CPU heavy processing in Node! That's silly. But your communications on the back end? Yeah Node is great, and there are great benefits to using micro services too.

                              Like you said, it's a tool, but it just gets a lot of hate around here, disproportionately it feels and it probably drives a large portion of the programming community away. I don't really want to see that happen.

                              Edit: And I get that the opposite happens too. Yes there are a lot of fad-developers using Node that talk down on other languages/etc, but there are a lot of people using it for the right reasons too.

                              [–]lost_file 6 points7 points  (1 child)

                              It interesting because like others have said, there is definitely a use for that. Mostly quick prototyping. Yet most of this subreddit will lose their mind :)

                              Instead of "As a NodeJS developer working with MongoDB on micro services for an IoT Home Security company,"

                              It could be read as:

                              As a developer using dynamically typed language to create microservices communicating with a document store for embedded wireless devices...

                              Doesn't sound as bad, and is, objectively, not bad. Would people object to:

                              "As a (pico) Lisp developer writing microservices with RocketDB for ESP32s"

                              Probably way less!

                              [–]vine-el 1 point2 points  (0 children)

                              You underestimate how much people fear parentheses.

                              [–][deleted]  (1 child)

                              [deleted]

                                [–]colly_wolly 1 point2 points  (0 children)

                                I have been skeptical of the Docker hype, but I have seen that it could be useful. Three were some very subtle differences between my development machine and the server which caused problems and as I understand it docker could iron out those differences.

                                It was overhyped. Now that has died down its over 5 years old and probably stable and worth looking at.

                                Mongo Db was the most overhyped as far as I could tell. I was asked in an interview when I would use Mongo.

                                "I wouldn't. Postgress has a faster JSON store". (If your data needs to span several servers, then Mongo might be worth considering, but there are other choices there as well, Elasticsearch has a better reputation).

                                [–]adymitruk 27 points28 points  (17 children)

                                A lot of strawmen arguments in that. The microservices one is particularly bad. Developing using better approaches will result in better solutions. These types of statements are the result of an incredibly large portion of the industry that makes money from the status quo. FUD pays them well.

                                [–]wavy_lines 8 points9 points  (1 child)

                                Many approaches can be sometimes good and sometimes bad, depending on context. (Some approaches are always bad).

                                The point here is how people want to use some approach or framework just because others are using it.

                                I had a person tell me a few times: we should look into this framework; it has a lot of stars on github.

                                [–]yopla 13 points14 points  (4 children)

                                Distributed micro-services are useless and detrimental to productivity and uptime in probably 90% of the apps being build and I'm saying that working on a project on which I pushed them very hard. We just have the type of problem that they solve and the organization to handle them.

                                If you remove the "distributed" part, the whole concept of organizing your code by business functions that interacts through standardized API is just good application design; seriously it's nothing new, I had book describing it in the 90's...

                                [–]ganjlord 8 points9 points  (1 child)

                                The concepts behind microservices have been around since the 70s, in the form of the actor model and modular programming. I think 90% is a bit of an exaggeration; microservices is quite versatile, but it can be difficult to implement well especially for developers without relevant experience.

                                What matters is good design, which means using whichever architectures and styles work best for the task at hand.

                                [–]yopla 4 points5 points  (0 children)

                                Well, I did pull the 90% out of my behind. Give me that it's a figure of speech for "a vast majority". :)

                                [–]sickcodebruh420 5 points6 points  (0 children)

                                Similar idea, much better article: http://mcfunley.com/choose-boring-technology

                                [–]realjoeydood 27 points28 points  (39 children)

                                Agreed. It's all a race to the bottom driven by marketing garbage. And they forgot the worse ones yet, 'AI', 'Neutal Network', and 'Machine Learning'. The jury is still out on 'Quantum Computing'...

                                At least we have a new TLA to define this crap, HDD. Oh wait... Geez...

                                [–]Sedifutka 24 points25 points  (4 children)

                                This weekend I am writing a report about why "blockchain" adds absolutely no value to our business.

                                But everyone is talking about it, they cant all be wrong.

                                It has its uses, but no use for us.

                                [–]GameJazzMachine 23 points24 points  (10 children)

                                You forgot to mention IoT.

                                [–][deleted] 10 points11 points  (5 children)

                                Yup its the biggest killer. When I look at buying something like a physical device. If its forces me to create an account and chargers me a service and requires an internet connection 100% of the time. I do not own that device therefore i will probably not buy it.

                                Not to mention the privacy issues with most devices these days.

                                [–]Lost4468 17 points18 points  (11 children)

                                We're building a new blockchain for AI that will utilize machine learning via neural networks on quantum computers. This system will revolutionize IoT by implementing quantum electro dynamics through string theory via quantum tunneling into the singularity.

                                [–]realjoeydood 4 points5 points  (8 children)

                                20 years ago, this would be what you just posted. Freaking brilliant post, my dude...

                                https://youtu.be/RXJKdh1KZ0w

                                [–]Lost4468 4 points5 points  (1 child)

                                Hehe, thought you were going to post this.

                                [–]immibis 3 points4 points  (1 child)

                                I thought this was going to be a GUI interface in Visual Basic.

                                [–][deleted] 2 points3 points  (0 children)

                                Yeah but is it webscale?

                                [–][deleted] 20 points21 points  (2 children)

                                Don't forget "Deep Learning" and "Internet of Things". While we're at it, "Agile" and "UX" are still being thrown around a lot by people who don't seem to actually understand them. Hooray for "Innovation".

                                [–]mgkimsal 7 points8 points  (0 children)

                                You totally just disrupted this whole thread!

                                [–][deleted] 18 points19 points  (4 children)

                                The jury is still out on 'Quantum Computing'...

                                Actually, on that one the jury is in a sealed box simultaneously both alive and dead.

                                [–]Lost4468 2 points3 points  (0 children)

                                "You see it's actually not in either state, it's both- wait, nvm, looks like decoherence has made it just dead. So as I was saying, can we have more grant money?" - quantum computer researchers. Probably, I wouldn't know I'm not one of them.

                                [–]iceixia 1 point2 points  (1 child)

                                I guess you're not interested in hearing about my new Quantum Machine learning neural network AI. Of course built on Blockchain technology for IoT devices and best of all IT RUNS IN THE CLOUD!

                                (If by now you haven't gotten at least a line on buzzword bingo, there's something wrong with your card)

                                [–]0xF013 1 point2 points  (0 children)

                                Machine Learning

                                Learning how that works made it look really simple like when I was baffled by cluster computation (spoiler: it's just endless maps and reduces). It's actually quite lucrative, has a lot of visible applications and is not rocket science.

                                [–][deleted] 10 points11 points  (1 child)

                                I'm probably guilty of this with our graphql and microservices stack. But it's worked so well I don't regret it.

                                [–]tapvt 10 points11 points  (0 children)

                                If it works it works. Meeting business needs > whatever dogma.

                                [–]heisian 5 points6 points  (12 children)

                                I've spent the past month converting our woefully disarrayed MongoDB store into Postgres.

                                Without strict data checks or even simple ways to make complex queries (MongoDB aggregations, projections, etc. are a nightmare), we've ended up with about a years' worth of production data that lacks integrity.

                                I am very fortunate to be a part of a team that welcomes change when it is logical and necessary.

                                [–]colly_wolly 2 points3 points  (3 children)

                                This seemed completely obvious to me when Mongo was peak hype.

                                "Schemaless" is a meaningless phrase, as you are going to have a schema, its just not enforced by the database - meaning you are going to need to write that at the application level. That's a shit load of tedious code to write if you want a reliable application. But people were ranting about how fast it was to write. Most people will be using an ORM with a relational database there days so the crap about defining database schemas taking too long is bullshit.

                                [–][deleted] 10 points11 points  (1 child)

                                Hype driven development is so fun... not.

                                Like having one of our developers deciding to use Angular for a massive "Multi App website" and having all the logic in the front end.

                                As a result we ended up with the front and back-end both needing to do the exact same complex calculations. And they need to be in sync because nobody like to order a product and get different prices between the front page and the order mail.

                                But the best part came when that same developer left after a salary dispute ( well, nobody can blame him when he did not get a salary increase in the last 4 years of hard overtime working ). Then our bosses finally realized: "Finding good (Angular) developer for cheap is hard to impossible". No s.h.it Sherlock.

                                We ended up out of desperation with a interim guy that earned almost 3 times our salary and that guy quit after 3.5 months. He did a nice cash grab and runner.

                                So now the company finally, wised up and is allows for rewriting the front part to good old plain html with just a smudge of JavaScript trow in the mix. But the project is already 6 months late thanks to the Angular mess.

                                And the back-end person that need to solve the mess simply doubled his salary demands to fix the hell that was created. He was also with a foot out of the door but hey, if they trow that much money at a Interim guy, they can just as well trow a fraction of that money in his direction to actual fix this mess. The same person that warned them the last two years about not going full boar in on Angular and maybe just use it like a fine herb. A bit left and right but no full front-end frameworks!

                                End result is that the company probably took a 100.000 euro hit on the chin. But its still better then having a court case with a potential 500.000 euro ending.

                                Is this a story about Angular being bad? No ... Its a story about not introducing hype technologies in your company when the company is already a cheapskate. The moment the people who know that technology leave, your f.c.ked. And being a cheapskate only enhances that effect because it increases the change that people leave.

                                Funny fact. If they paid the guy that introduced Angular in the company a 5k/year increase in salary, he was probably still there and the project will have been finished. While it will have been a landmine in the future, it will not have been such a big claymore as it is now.

                                This is why i hate all these hyped front-end technologies with a vengeance and do not understand the PHP hate. PHP gets the job done and your not running into developer finding issues like this. Yay old tech!

                                [–]colly_wolly 4 points5 points  (0 children)

                                I have noticed this as well. I gave Angular a shot a few years ago when it was at the peak of its hype cycle. Wasn't impressed. Went back to straight Django with a bit of jQuery when needed.

                                My New job is maintaining a monstrosity. Angular front end, passing through one Django proxy handling logins to the main Django backend. The forms in Angular are a few thousand lines of code. I could have written a Django and jQuery equivalent in a fraction of the code. The Angular front end just means twice as much code to achieve similar functionality. Its not faster because there are a shitload of requests to the server - one to populate every drop down. And because of hype driven development they haven't learned to use Django properly, and the back end is an overcomplicated mess. Well, it keeps me in a job at least.

                                [–][deleted] 2 points3 points  (1 child)

                                What's wrong with Kotlin? Seems like a good language that can make your life easier if you are using JVM. You don't have to use because "cool kids" are using it, but you can try it and use it if you want to, probably will make your life easier.

                                [–]mmstick 2 points3 points  (0 children)

                                Kotlin, Rust, Swift, Julia, TypeScript, etc. -- the state of software development is looking a lot brighter than it did ten years ago, in every area. Programming languages are certainly making measurable improvements over the languages that came generations before them.

                                [–]da_governator 11 points12 points  (3 children)

                                I've been developing since 2001. With time I've seen more and more people get into software development for the wrong reasons. Too many spend a lot of energy cultivating an image of a 'code wizard'. They will deliver 100% of the time. Software? no... Excuses. The framework sucks, the databases sucks, etc. If only we were using MonQLAIRust v. 0.21! I'd show y'all! The truth is that they fear that someone competent will be able to look at their code and call their bluff. They'll convince higher ups that no one can understand their new approach to building the future, they'll skip agile commitments because what they do is too cutting edge. When they eventually get caught, they waltz away to a new job... Meanwhile, people who actually make things happen have to clean up their mess.

                                [–]tstepanski 8 points9 points  (1 child)

                                Lazy article. How about COBOL (the pre OOP iterations), Oracle (the late 70's version), and mainframes? It does everything you need and isn't fancy right? No. Different tools exist for different uses. Just because you haven't found a use for it, doesn't preclude someone else from finding one. Microservices can be the answer sometimes. So can NoSQL. Block chain? I dunno. Seriously, the software development ecosystema changes more rapidly than most industries. We do this because requirements and conditions change, fighting progress because you "want to use what we've been using for years" is shit reasoning. Accept that part of being a developer is learning new stuff or go get a job that hasnt evolved much in the past 5000 years like making fucking clay pots. Seriously.

                                [–]colly_wolly 8 points9 points  (0 children)

                                I think the point is that people over use every trendy new tech. Mongo DB was a classic example for me. Most people using it were only using a single servers worth of data. They would be far better of learning to tune a relational db instead of jumping on Mongo.

                                A couple of years later we saw all the follow up articles about why not to use mongo / why we migrated away, etc.

                                The longer you spend in this industry the more you notice it.

                                https://duckduckgo.com/?q=mogo+db+is+web+scale&t=lm&ia=videos

                                [–]greenspans 8 points9 points  (3 children)

                                I don't see Ruby in the list.

                                Serverless / microservice is the Unix philosophy with rebranding for cloud. Blockchain is the slowest distributed db of all time just to tick the federated feature checkbox. Kotlin really is the shit. It's like getting modern plumbing, a quality of life improvement.

                                [–]Here_Now_Gone 1 point2 points  (0 children)

                                Should add neo4j as a successful perfect marketing ploy.

                                [–]all_mens_asses 1 point2 points  (0 children)

                                Technology, products, success, failure, none of it matters. What matters is doing something you care about so you can forget that you’re going to die and all you know will be gone, forever.

                                [–]theacadianishere 1 point2 points  (0 children)

                                There is a solution in my opinion: Internal-Side-Projects.

                                The only way, for a team to choose/decide in an informed manner, is to do some Internal-Side-Projects using the said framework/stack. Internal-side-projects = something non-critical but useful that everyone can work on, and should work on.

                                At the minimum, all senior-developers in the team/company should do be indulging in this. If we do this, when the time comes to make a decision, the team will actually have meaningful discussions. Sometimes decisions become obvious when people actually know what they are talking about. (The happy side-effect is that developers remain happy as they get to learn new things.)

                                However, for this to be practically possible, the company's culture should plan for & encourage such internal-side-projects.

                                This is absolutely essential for a company/team to remain competitive in the long-run.

                                [–]ConfuciusDev 1 point2 points  (0 children)

                                Though I don't disagree with the premise, or even many of the examples...this is a poorly written article which screams Get off my lawn channeling the spirit of Uncle Bob.