1. 17
  1.  

  2. 37

    There are a lot of bad takes in here. It sounds like this person is angry at young programmers, not trying to help them.

    1. 4

      While I think many of the Falsehoods (some set of people) Still Believe lists convey useful actionable information, this one not so much. It feels way heavier in sarcasm than the more useful lists.

      1. 4

        I didn’t take this as angry at all. Do you feel personally attacked by the list?

        1. 9

          Not in the slightest - in fact I empathize with the author in a few places, albeit probably for different reasons. Plainly, this post is condescending and makes harmful generalizations about young programmers.

          Edit: “stereotypes” is probably a better word than “generalizations” here

          1. 4

            I know people who have graduated with CS degrees in their 40s.. so, generalizations.

            1. 8

              You know that, I know that. Does this author?

              They are good at multi-tasking, as is evident from their ability to take notes in class and check Facebook at the same time..

            2. 4

              I didn’t take it that way. I took as a slightly exasperated but in-good-fun calling out of common problems.

              I think it’s more likely to help than harm.

              1. 1

                I think you’re probably taking it way too seriously

                1. 1

                  I would say “inaccurate” rather than “harmful” - lots of accurate generalizations about groups are harmful or perceived as harmful. The problem with a line like “TED talks are Science(TM) and the information presented is accurate.” is that there’s no particularly good reason to believe that graduating CS students are more likely than other demographics to view TED talks as accurate, unbiased sources of information, not that if this were the case people should feel obligated not to say so in order to prevent some kind of harm coming to graduating CS students as a class.

            3. 39

              A note to our younger readers, please ignore lists like these. People who’ve been around the block will know to just ignore this nonsense, but younger people may take it seriously.

              The only reasonably accurate statements about life, in this context, are

              1. The world is full of people giving free advice. The advice may even have worked for them, at some point, even not by chance.
              2. You have to figure out your strengths, weaknesses and favorites yourself. This is a lifelong process. They change all the time. You should keep looking.
              3. You have to keep learning to ensure you remain relevant.
              4. You will always find someone who will help you, but you have to ask.
              1. 17

                I feel like we read different lists, because this one didn’t read as any prescriptive advice or something that people shouldn’t take seriously. It was basically telling students they don’t know as much as they think they do and they can learn from people in the industry. I would say that is 10000% good advice.

                1. 14

                  The problem with this format is that it says a lot of what’s wrong but doesn’t provide any way to learn what’s “right”, or even a clue about how to get that experience. I agree it reads like someone who’s angry, whether the author intended it that way or not.

                  1. 2

                    this format is that it says a lot of what’s wrong but doesn’t provide any way to learn what’s “right”

                    That’s just the format of this sort of post, exemplified by the original(?) “falsehoods programmers believe about time”.

                    1. 14

                      The original was “falsehoods programmers believe about names”, which gets a pass for being the first. The format is kinda junk for actually learning about the problem domain, so if you want to make a good Falsehoods you really should explain why.

                      1. 4

                        imo in addition to the lack of explanation, “falsehoods X believe about Y”-style articles are toxic because they’re a convenient way to snipe at others. With this post, the author can hide behind “being helpful” while ascribing a bunch of naive/incorrect/otherwise bad beliefs to a huge class of people.

                        1. 4

                          I think they should at the very list include pointers for learning why it’s false.

                          Like in my ultimate snowclone, a list of falsehoods about falsehoods. ;)

                        2. 7

                          Sure I understand that, but I’m saying it’s a bad format for conveying information.

                          I think the original may have been pithy and effective. But it got mimicked, and it’s become ineffective.

                          If the goal is to appear smug and create clickbait, then it’s effective :)

                      2. 2

                        My opinions

                        1. A list of things you shouldn’t believe is advice
                        2. This list is full of absolutes that shouldn’t be taken seriously.
                      3. 5

                        People who’ve been around the block will know to just ignore this nonsense, but younger people may take it seriously.

                        Unfortunately this list is pretty accurate when it comes to what undergrads (in my experience) are being taught along with other falsehoods like “MD5 is a good password hashing algorithm” if your classes even get that far.

                      4. 9

                        I graduated in 2016 and IMO the main thing students need to know is that they should learn at least one practical skill and have a few sample projects. This can mean anything - a Rails CRUD app, Node library, a game in Unity, a plugin for an editor, etc. Just showing that you can ship something is good. You’d be surprised how many otherwise able students don’t do this before graduating.

                        1. 7

                          There’s a reason “Fizzbuzz” is a thing - a recruiter realize that many of the candidates that applied (with degrees!) couldn’t program that in any language of their choosing.

                        2. 3

                          What an awful generalisation on something absolutely anyone goes through in their learning of IT and CS.

                          Just a cheap shot which doesn’t help anybody.

                          There are indeed issues with CS education but this is not the way of solving anything at all.

                          1. 2

                            Okay, I’m still a student, but can someone explain this one?

                            Free software is free.

                            If it’s GPL, they have to provide the source. Is he referring to the fact that you can charge money for it, like Red Hat does? You can still use CentOS, which is free RHEL.

                            1. 11

                              The point is that the author wanted to seem smart so they couldn’t just say “Using free software costs labor time”

                              1. 3

                                Yes, this is exactly what it seems to mean. Confusing to use two different meanings of the word free in the same sentence.

                                1. 1

                                  And re-phrasing the point as “using free software costs labor time” is still misleading - all software costs labor time, regardless of whether or not it is free! For some applications, the free software that is readily available is less polished or requires more work to set up than equivalent non-free software might be, and that’s probably what the author had in mind when he wrote the list. But that’s not actually the same claim as “free software isn’t free” and I don’t think that claim is accurate as stated anyway - in some applications, free software is easier to use and requires less labor time than equivalent non-free software. And this is ignoring concerns such as proprietary software being less time consuming to use for a time, until suddenly the software owner decides they don’t care about supporting your use case, or decide to bar you from using the software for political reasons, or any other consequence of lacking software freedoms that makes putting proprietary software to use in a given situation harder or impossible. You could just as easily say “proprietary software isn’t free” if you wanted to argue a point from a pro-free-software perspective, and what this is really telling us is that a pithy one-liner like that isn’t enough text to discuss the actual pros and cons of using free software for a particular application.

                                  1. 5

                                    Dismissing the common problem case of free software generating additional labor over their non-free counterparts because “all software requires labor time!”…“there are exceptions to your generalization!” is really wishy-washy and dismissive of a problem…for people that care about the economic efficiency of your software. I mean I don’t care because I’m not an entrepreneur business undergrad constantly concerned about minmaxing labor time and I just think writing software is fun but still at least understand the perspective

                                2. 7

                                  The long-term costs of keeping a system running can be substantially higher than the initial purchase price.

                                  Here are some additional factors that should be considered in a corporate environment:

                                  • Operational costs - Do we know how to support and monitor this system? How many people understand it? How steep is the learning curve? Do we already have a boring solution to this problem?
                                  • Maintenance costs - Are there recurring license fees? Is the API stable? How frequently is the system updated? How difficult is it to keep our documentation updated?
                                  • Licensing - Have the license(s) been reviewed? Does using this system expose us to liability?
                                  • Security - Does the system have regular security audits?
                                  • Compliance - Does the system and all of its dependencies comply with GDPR, CCPA, or other requirements? Can we guard against ethical conflicts?
                                  • Business Continuity - Does the vendor know how to recover from a disaster? Do we?
                                  • Support - How responsive is vendor support? Do we know how to work with them? Do they have offices in the US?
                                  • Training - Are books and/or courses available?
                                  • Enhancement - Is the system being enhanced and tested on newer OSes? Linux, macOS, Office 365, and Windows are all moving targets.
                                  • Popularity - Is the system popular? Are third-party experts available? Does it make money for the vendor?
                                  • Dependencies - Does the system depend on third-party services? What is the relationship like between the vendor and these parties? Do we have to assemble a working solution from a number of components?
                                  • Cloud - Can we store our data on premises or in our preferred cloud service?
                                  • Reputation - Do we trust this vendor? Have we worked with them successfully in the past? What is their reputation like in the industry?
                                  • Reporting - Can we obtain usage information? Is there a reporting API?
                                  1. 2

                                    It’s a bit of a lemon market and accurate assessment is incredibly difficult. Being upfront about limitations of a product or its support doesn’t pay off, because for one vendor who’s honest about it there’s another who just keeps silent, and people tend to assume it can do it all.

                                    There are also many ways to be technically compliant with statements like 24/7 support. and one may discover that only when their system breaks on a friday midnight.

                                    1. 2

                                      Most legal IT professionals are members of ILTA and we all have similar technology stacks. It is common to ask other ILTA members what they think of a product. Most of the time people will respond by email but sometimes you will be asked to call someone. If you overstate the capabilities of your product then there is a significant chance that word will get around. We still have a lot of crummy software but word of mouth is surprisingly helpful.

                                  2. 3

                                    I can interpret that statement multiple ways, I suspect the leading candidate for myself would be that whilst software might be free in upfront monetary cost, it can sometimes end up costing you working around bugs, or maintaining it etc and you might have been better off paying for a piece of software instead. Just because its free doesn’t mean it’s better.