1. 24

as written in the Conclusions section:

“So… this is certainly a surprising result, one that I didn’t expect to find when I started exploring the data. And it is impressively robust even when controlling for many confounding factors. As an exercise I tried controlling for many other confounding factors within the survey data beyond those mentioned here, but it was difficult to make the effect shrink and basically impossible to make it disappear.

Correlation is not causation, and we can never be sure that we’ve controlled for all the confounding factors present in a dataset.”

  1. 11

    The comments on this are pretty funny. One person took this super seriously and suggested that “you can’t make that conclusion without regressing on age” and asking a bunch of, and testing, other questions.

    While that may be true, welcome to the Internet, bub. You’re going to have a swell time.

    1. 9

      Some argue that this could be not the only high-paying company with anti-tab guidelines: https://google.github.io/styleguide/cppguide.html#Spaces_vs._Tabs

      1. 5

        Google also made Go which uses tabs.

        Indentation We use tabs for indentation and gofmt emits them by default. Use spaces only if you must.

        1. 2

          OK, this is totally personal preference here, but - this is another nail in Go’s coffin as far as I’m concerned.

          It’s 2017. Why tabs? WHY? :)

      2. 9

        clearly, programmers who know to do the right thing make more money in general :)

        1. 11

          Well, sure, it pays to be right :)

          1. 5

            How many survey participants thought “I hit ‘Tab’ when I indent. So I should answer that I use tabs!”, not realizing their IDE converts them to spaces?

            1. 4

              There’s an interesting theory. The question was also selecting for competent vs incompetent (to the extent required to actually answer the question accurately), with incompetent (or at least ignorant) devs lumping into one bucket.

            2. 5

              a surprising result, one that I didn’t expect to find when I started exploring the data.

              Ask a hundred questions and you’re sure to get at least one false positive. I would ignore this clickbait.

              1. 2

                Are you suggesting there was p-hacking involved? Or that they weren’t transparent or didn’t have enough data? Or that there was some sort of selection bias?

                1. 4

                  I’m saying if you ask a ton of questions and correlate them after the fact, you are guaranteed to find spurious correlations.

              2. 3

                Managers that let their programmers use tabs use this as a perk to have them accept a smaller salary.

                1. [Comment removed by author]

                  1. 2

                    From the fourth paragraph:

                    Coders who use spaces for indentation make more money than ones who use tabs, even if they have the same amount of experience:

                    (emphasis mine)

                    That immediately leads to the first chart, which plots experience against salary, and clearly shows higher salary for space-users across all experience levels.

                  2. 2

                    I’d like to congratulate everyone for not starting a tab vs. space flame war :-)

                    1. 1

                      Meh. I care about the code, not the blanks around it.

                      1. 20

                        Thirty spokes share the wheel’s hub;
                        It is the center hole that makes it useful.
                        Shape clay into a vessel;
                        It is the space within that makes it useful.
                        Cut doors and windows for a room;
                        It is the holes which make it useful.
                        Therefore profit comes from what is there;
                        Usefulness from what is not there.

                        – Lao Tzu, from the Tao Te Ching

                        1. 9
                          1. 3

                            I remember seeing it thinking, “That was one of the most brilliant parodies of programming languages ever given it turned the most seemingly useless part of programs into the programs themselves.” Next thought was it might get more people onto one of my techniques for software watermarking. Didn’t happen, though.

                            1. 3

                              Do you make practical use of watermarking? That’s actually kind of cool.

                              I’ve thought about doing it with, yes, whitespace, and also misspellings and synonyms in comments, but have not had a real need. It’s just a fun thought exercise. :)

                              1. 3

                                I described my methods of spotting copycats in source files back in school/college here:


                          2. 2

                            That’s nice. :-D

                            I’d like to add:

                            A few thousands of lines building a simple program. It is the milion of lines that you did not write that keep it manageable. Characters in lines, stacked into a file. It is the spaces between characters that make it readable.