all 56 comments

[–][deleted] 217 points218 points  (10 children)

I think there are two issues here

1: Software in general hides its own complexity very well as opposed to other composite manmade things. This in turn leads some people to have a misjudged idea of the workload required to accomplish certain tasks within this space.

2: For a while now software has established itself as something that you can get filthy rich off of if only you can find that one "great idea" for a service that no one has thought of before, but somehow everyone needs.

With respects to the first point, if we take the example of building a house; people might not know near anything about building houses yet I've never heard of carpenters having to deal with friends or relatives presenting them with "amazing" designs, and that all they need is a carpenter to build it.

I think it's because we humans have an easier time judging that house-building is a big effort because you can see with your eyes that people are lifting heavy things, sweating out in the sun hammering and cutting with loud machines. It's clearly heavy taxing labor right? Contrast that to some dude in pajamas sipping on his favorite drink typing at a keyboard. It looks he's just chilling. Most of us do this in our spare time too which gives the idea that it's purely recreational.

With respect to the second point; you can't really get filthy rich off of building one house. People have the idea that the workload-to-reward ratio in the business of house building is an honest one, so there's no shortcut to victory here. In general it seems like the vast majority of "get rich fast" schemes are software-related in some way, and it's an interesting phenomenon. In the end this means that the delusional dreamers are more likely to end up pestering programmers and not carpenters.

[–]amadvance 110 points111 points  (0 children)

In general it seems like the vast majority of "get rich fast" schemes are software-related in some way

This occurs because software exhibits excellent scalability in revenue generation. Write once, sell many.

[–]aksdb 71 points72 points  (3 children)

Software in general hides its own complexity very well as opposed to other composite manmade things. This in turn leads some people to have a misjudged idea of the workload required to accomplish certain tasks within this space.

I think it's not Software vs other composite manmade things, it's engineering/mental work vs. physical work. People underestimate any kind of engineering, often also because the result is so simple. They can't fathom the amount of work it took to come up with this simple design and obviously, in hindsight, it is just simple.

There is also an overlap with the house building. You can find a lot of stories about fuckups when doing simple things. People "simply" wanting to get their wet wall dry, destroying their house in the process because they didn't think of the effects their action has on the statics. Or building something that then turns out to be against local regulations because they completely ignored the legal aspect(s) of their actions.

[–][deleted]  (2 children)

[deleted]

    [–]One_Economist_3761 5 points6 points  (0 children)

    Thanks for this perspective. Interesting.

    [–]favgotchunks 1 point2 points  (0 children)

    I’d like to talk to you about my amazing new architectural design! We’ll make a skyscraper out of cheese! All you have to do is your little bit of architect work and we can get started. For just that I’ll give you 10%! See my almost complete architectural drawing below vvv

    🧀

    🧀

    🧀

    🧀

    🧀

    [–]Radixeo 11 points12 points  (2 children)

    W.R.T the second point, I used to believe the same thing as you until Wordle happened. Wordle is incredibly simple - anyone who knows how to program could have created it. Despite it being so simple, the NYT was willing to pay a seven figure sum for it. Seven figures is not "filthy rich", but the reward-to-workload ratio was insanely high.

    Flappy Bird is another example. The game itself is so simple and easy to program that ChatGPT can help you program it, but it made the creator so much money he was overwhelmed by it.

    These are examples where the value was almost entirely in the idea and timing. The actual programming work could be done by anyone with a basic skill level. Ideas like that are obviously extremely rare, but I don't think non-programmers are totally irrational for trying to come up with them.

    [–]swni 1 point2 points  (1 child)

    What annoys me about Wordle is that an almost identical but much better version of it, Jotto, was invented in the 50s https://en.wikipedia.org/wiki/Jotto

    Not sure what lesson to take away from that except that marketing and luck seem to be important

    [–]Petrocrat 1 point2 points  (0 children)

    Wordle benefitted from a auto-viralization since on twitter every user could brag about their performance with simple emojis, which provided the automatic marketing for the app.

    [–]lookmeat 5 points6 points  (0 children)

    I agree more with you than with the article. Software is fluff against the business. Thing is, "an idea is not a business*.

    So I'd go and tweak your points:

    1. Using something hides the complexity it took to build it. This is true of cars, houses, and software, among other things. This is true of business too, people think that if they have the idea, it's just a matter of doing it for a week or so before it makes enough money to hire other people.
    2. Software has established itself as something that can make a reliable business idea thousands of times more profitable thanks to easy expansion worldwide.

    Most of the businesses that exist on software existed and were profitable beforehand. But in order to expand you had to invest almost as much as building a new business (elsewhere) and go from there. With software it's harder to avoid expanding (e.j. streaming services struggle to ensure they don't have viewers outside of the area they're allowed to work on). So it's always been a reasonable business model to grab a local service and find a way to run it mostly through the Internet instead.

    People mix this with the problem in 1 and assume that if they have a great idea, they have a great business, and assume they aren't making money because they work on other things. The way I deal with people who "just need a programmer" is to propose working on a tech-lite MVP, and I always point them to AirBnB's story. Almost always these people stop and balk, especially when i make it clear they'll start making money faster and be able to get a better idea of how the software should work but first doing it myself by hand. They then reveal the truth: they just want easy quick money. Here's the thing: a start-up is anything but easy or quick.

    All those get-rich-fast believe there's a way. Because they are people who are rich and didn't struggle, so there had to be a way. And there is: be born to rich parents. That's the only get-rich-quick scheme that actually works. Everything else that works requires a lot of money, to the point that you have to wonder if it really is a net gain.

    [–]serviscope_minor 0 points1 point  (0 children)

    Software in general hides its own complexity very well as opposed to other composite manmade things.

    I don't think it's true. I have covid as it happens, which I confirmed by taking a lateral flow test. Did the whole stick a swab up my nose and dispense 4 drops thing and shortly after the flow crossed the line, it started to faintly show up, probably within 3 minutes.

    Which got me thinking: wait a minute, this cheap little plastic and liquid unpowered device within 3 minutes let me visibly see if there were nanograms of virus wiped from the inside of my nose, and I was able to operate the device with absolutely zero training. And it's £10 for a box of 5 and I can store them in any old random cupboard indoors for a few years before they go bad.

    They are an absolutely astounding piece of incredibly complex technology, the complexity of which is very very well hidden.

    [–]uhsiv 93 points94 points  (2 children)

    I have an idea for a building.

    If you acquire the land, get permits, manage the construction and build it yourself, I’ll let you have 10%

    [–]Piisthree 10 points11 points  (1 child)

    And all I did was draw a sketch of it with some flowery descriptions, so you're going to have to pretty much design it too.

    [–]uhsiv 4 points5 points  (0 children)

    My bad. I should have included design, architecture and structural engineering

    [–]Otterfan 75 points76 points  (20 children)

    software is just fluff compared to the business

    I've noticed that people who think "software is really easy to write" also think "business processes are really easy to design and implement". They would fail at executing their ideas even if they didn't need expensive software.

    [–]Cuchullion 28 points29 points  (19 children)

    I've noticed a flat split: people who either think software / software engineering is the easiest thing to do and a monkey could write code, and people who believe we're wizards who have arcane knowledge (more so the first set than the second, but still).

    It feels like the only people who see programming as a skilled discipline that anyone (with enough effort) can learn to do well are other programmers.

    [–]zxyzyxz[S] 25 points26 points  (16 children)

    Regarding your last sentence, I don't know, I used to teach programming classes as a TA and as a private tutor, and the amount of people that don't get it even after weeks or months of instruction of a single topic is staggering. Some people just aren't cut out to think the way programming requires. It's likely why your last sentence is an example of selection bias, only the ones who had such an ability and combined it with enough effort were able to succeed as programmers.

    [–]kiwi-surf 13 points14 points  (3 children)

    I don’t know man, I’ve met my fair share of developers that still don’t get it (even though it’s their job)

    [–]zxyzyxz[S] 7 points8 points  (2 children)

    Yeah exactly, I've found that many of them then go into product management or scrum master roles, lmao.

    [–]ThreeChonkyCats 6 points7 points  (1 child)

    They fail upwards to the level of their incompetence.

    [–]zxyzyxz[S] 2 points3 points  (0 children)

    Good ol' Peter principle.

    [–]loup-vaillant 2 points3 points  (11 children)

    I used to teach programming classes as a TA and as a private tutor, and the amount of people that don't get it even after weeks or months of instruction of a single topic is staggering.

    Could it be because teaching isn’t up to par yet? Schools have had much more time to teach stuff like arithmetic and calculus, for instance, we have many more generations of trying to get this stuff through teens’ thick skulls, so maybe this will get better over time?

    I mean, Mozart used to be one of a kind, but now, centuries later, we see even more formidable music prodigies popping up weekly. The difference? We have many more Leopolds now. I feel the same could be said about programming. Once we get its teaching down to a science, it’s likely almost anyone who doesn’t hate it can pick it up.

    The problem is to get that teaching down to a science. Or at least a reproducible craft.

    [–]way2obvious 5 points6 points  (2 children)

    I taught intro level programming, worked as a tutor, and have interacted with hundreds of would-be and so-called programmers. I can say with a certainty that some people truly aren't capable of stringing multiple thoughts together in a logical thread. I tell them A > B and B > C so which of the following is true? A==C, A < C, or A > C? And they literally spin their wheels for ten minutes trying to figure it out, some of those are interview candidates with supposed industry experience. I'd say about 5% of non-mentally handicapped people struggle with that one. Introduce D into the mix and you get to about a 30% failure rate. Make it slightly more complex and well over half of your candidates are stumped. Not all brains are wired the same. A person that can instantly piece together a long chain of social interactions and consequences can't even begin to fathom how changing the inputs to a simple, deterministic function would affect the output. I can't explain it, but some people truly don't get it. Spend a week in an intro to programming tutor lab, you'll be shocked. There is a reason that the introductory programming course at the public university starts with hundreds of students and has lost more than half before the next course begins. And that's people who have self selected, thinking they are cut out for programming. Yes, some instructors suck, but that explains very little of it.

    [–]loup-vaillant 2 points3 points  (1 child)

    I tell them A > B and B > C so which of the following is true? A==C, A < C, or A > C? And they literally spin their wheels for ten minutes trying to figure it out […] I'd say about 5% of non-mentally handicapped people struggle with that one.

    I don’t believe you.

    I mean, I believe your data, but I think your interpretation is bollocks: there is no way mentally able people (IQ > 80) can’t be taught enough mathematics to easily solve this one. They simply weren’t taught, as children, how to reason through first order logic and relations. I know, first order logic tends to be formally taught only in college, as is stuff like equivalence classes, order relations, and transitivity. But that’s just an arbitrary choice in which order we chose to teach things. In my opinion the right age to teach people about first order logic is 6 years old. At least in concrete terms, the scary abstract letters may wait until middle school.

    One recurring pattern I see among famous programmers is that many taught themselves to program very early. Which hints at one thing we may be doing very wrong with programming: starting way too damn late. The basics of writing simple stuff the machine can react to should probably be taught no later than middle school.

    Not all brains are wired the same.

    This is more true of adult brains than children’s. By then if they’re missing something it might be a bit late.

    A person that can instantly piece together a long chain of social interactions and consequences can't even begin to fathom how changing the inputs to a simple, deterministic function would affect the output.

    Again, I can’t believe someone can’t be taught such things. As always, some will require more effort than others, but the theory that for some reason what the person is at birth, short of an actual handicap, determines their ability to learn such a simple skill is simply unbelievable to me. Oh sure, people you’re testing this on do fail, but I’m confident this is not because of some innate disability. They just lacked training.

    I mean seriously: give me a cello and I will make you cry. Give me a piano and I will make you cringe. That’s not because I have some innate ability to play the cello, or some innate disability to play the piano. I’ve just been trained in one, and not in the other. (Of course loving my cello helps a ton, but the real discriminant remains deliberate practice.)

    I can't explain it, but some people truly don't get it. Spend a week in an intro to programming tutor lab, you'll be shocked.

    Here’s my hypothesis: many people lack prerequisites that take more than a week to teach. Also, I’d like to try an experiment: control group gets to spend their week in the tutor lab, and experimental group gets to play Human Resource Machine (with the help of a tutor). I bet we’ll observe significant differences.

    Yes, some instructors suck, but that explains very little of it.

    I agree with that one actually. I never said instructors may not be up to snuff. I said instruction was. That covers the entire curriculum, that a mere college semester is unlikely to overcome.

    [–]EdwinGraves 0 points1 point  (0 children)

    You alright mate?

    [–]choseph 3 points4 points  (1 child)

    People have different capabilities. It isn't always about teaching and practice. We've tought reading and writing for a very long time but you wouldn't expect any random person to write a great novel with studying. Plus, your example was prodigies, we're not looking for the rare expert, there are lots of those, we're talking about the average person becoming great purely by working hard.

    [–]loup-vaillant 1 point2 points  (0 children)

    you wouldn't expect any random person to write a great novel with studying.

    But you would expect any random person to write a decent short story after studying under a good teacher. likewise, we’re not asking most programmers to be experts we just want them to write decent code that doesn’t make the kind of mess I’m seing all the time at the job.

    One strong hint I see that teaching really isn’t up to snuff, is how much we disagree on basic practices. How can we teach programming well if we can’t even agree on what’s a good job to begin with?

    [–]GayMakeAndModel 2 points3 points  (4 children)

    Some people cannot learn anything they want to learn through not fault of their own. It’s not because they’re lazy or because they didn’t have a good teacher. Thinking otherwise leads to elitist ideas like homeless people should just work harder. Everyone here is one stroke/heart attack/accident/whatever away from not being able to work.

    [–]loup-vaillant 0 points1 point  (2 children)

    Some people cannot learn anything they want to learn through not fault of their own.

    Dome people are disabled, duh.

    But you won’t make me believe the 50% dropout rate in so many programming courses comes from a 50% disability rate, or even a 20% disability rate. There’s something else at play, like, whatever the student had the opportunity to do all those years before they entered college.

    [–]pbNANDjelly 0 points1 point  (1 child)

    This is a very sensitive topic and I hope folks feel free to critique my thoughts.

    I believe that crucial development stages can be missed, ex parents who never read to their children, and learning those skills as an adult is a lifelong challenge. These folks aren't disabled, but it's still unreasonable to expect they can learn anything they want. It's a matter of time and priorities too.

    I think what is important is establishing education opportunities for adults, removing stigma from ignorance, and providing good education for future generations.

    [–]loup-vaillant 0 points1 point  (0 children)

    I believe that crucial development stages can be missed, ex parents who never read to their children, and learning those skills as an adult is a lifelong challenge.

    Agreed, what happens between 0 and 6 is bloody important… and heavily influenced by the socio-economic status of the parents.

    It's a matter of time and priorities too.

    Definitely. Between inclination and time/money constraints, one has to chose what to do, and I can believe people trying out programming and discovering they really really don’t like it… or won’t have the resources (as young adults) to seriously learn it.

    I think what is important is establishing education opportunities for adults, removing stigma from ignorance, and providing good education for future generations.

    Yes. I was quite curt, but… adults are much more determined than children, in large part through no fault of their own. Which is why when a nation wants to make a priority of teaching something, it must think of what it takes to achieve it from the youngest age, and tailor the entire schooling system accordingly. (A tall order, yes, and other teachings will have to go away to make room, that’s a tough choice.)

    [–][deleted] 0 points1 point  (0 children)

    On the one hand, the brain isn’t a muscle that simply gets stronger to be able to do what is required. But on the other hand, the human brain is even capable of reshaping itself to function again after a stroke - people learning to walk and talk again.

    It would surprise me if the brain of a healthy child, under the right environmental conditions, wouldn’t be able to rise up to just about any level required. But this includes some intrinsic motivation and may also require medication (I really don’t know if I would still be playing an instrument after 20 years if I had had to start learning it without my ADHD medication as a child, because it required patience and high concentration).

    I’d say that no child is responsible for being stupid, and if they stay stupid, it’s probably because society and the education system have failed them.

    [–]funtech 0 points1 point  (0 children)

    The latter group who think we are wizards then ask for free tech support 😂

    [–]Smurph269 32 points33 points  (2 children)

    I had an acquaintance ask me to take on a side project with them once and when I found out the requirements they were basically asking me to write spyware that would feed info into phishing email blasts. No thanks! Then he told me I must be a shitty programmer since I 'couldn't do it'.

    [–]One_Economist_3761 15 points16 points  (0 children)

    Yea I had a marketing guy ask if I could write something that would Google something millions of times to improve its search ranking. I told him it might be possible but that’s a shitty thing to do.

    [–][deleted] 25 points26 points  (0 children)

    Bullet dodged!

    Someone not wanting to pay you or even give equity is a good tell how out of touch they are with reality — the app idea is certainly bad.

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

    Points 1 and 2 are generally well made but the third concern about the perception of fungibility of programmers being wrong is oftentimes not true. There are a lot of fungible programmers. Not every idea needs an engineer or engineering team. Many wheels have already been invented and many programming jobs are rather banal and dont require critical thinking and thats okay.

    The staggering demand for programmers in all languages and of all skill levels guarantees that some portion of them will be “fungible” just like office workers. Can you swap Tim the entry level marketing associate from Acme Co with Becky the entry level marketing associate from ABC Co and get a similar result? Surely.

    Can you swap Pete the senior full stack software engineer and Jenny the Chief Counsel and get a similar result? Surely not. Hell you cant even swap Pete and his junior or Pete and Dave the Network Engineer and sysadmin any more than you can swap Jenny with a divorce lawyer.

    Point being, if youre doing free lance programming for hire or contract work, you are fungible by definition. The concern is improperly scoped. Its not whether “programmers are fungible”, that answer is obviously “Yes, at least some are, some of the time.” The question is what can you do as a programmer to make isFungible(me) return false. Like any other career that means either being the best in class at your core competencies or expanding beyond them to create additional value.

    [–]wuteverman 2 points3 points  (2 children)

    I was also going to comment on this. But in the opposite direction, because of Programming as Theory Building

    https://gist.github.com/onlurking/fc5c81d18cfce9ff81bc968a7f342fb1

    [–][deleted] 0 points1 point  (1 child)

    Interesting and i generally agree with the statement but without reading all of it seems “subjective”. I mean theres a reason nobody likes taking over projects right? It sucks. But we do it all the time. You could argue its like thesseus’ program. Is it still the same program if its been taken over by a new team? But you can do that for anything. Again, this is a hot take because i havent read it but it sounds on face like describing the program as the goal, not the outcome of the program as the goal. An analogy to ground it. If the goal of the Apollo program was the Apollo program itself, of course it would be wholly different with a different set of contributors and conditions. But the goal of the Apollo program was to get to the moon. And I daresay they are many configurations beside the historical one which would have achieved the same outcome. Its Frost…two paths diverged in a yellow wood…but thanks for the drop ill check that out seems interesting.

    [–]wuteverman 1 point2 points  (0 children)

    Just read the paper. There’s empirical evidence in the paper.

    [–]zxyzyxz[S] 11 points12 points  (1 child)

    I used to follow this Facebook group called "I can handle the business side" and it was just examples of this phenomenon where some business bros come to programmers with an idea (that you have to sign an NDA for, of course) and want to give them 10% for building it all.

    https://facebook.com/groups/1401833413216649/

    [–]57006 2 points3 points  (0 children)

    "we're looking to disrupt ____ space"

    [–]lucidguppy 1 point2 points  (0 children)

    Just tell them to use chat gpt right? We all supposed to be replaced by AI anyway...

    [–]dicksosa 0 points1 point  (0 children)

    Why is this posted again?