Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

To use another sports example, I watched "The Last Dance" recently. There's footage of Dennis Rodman working out and he says to the camera, "Its not just basketball we have to deal with on this team... Its the pressure of the bullshit. I'll play the game for free. You get paid for the bullshit after. Basketball is a simple game, but when you leave this confined zone. Its hard."[1]

That's why people get disenchanted with programming (and with a lot of other things)! We love to do the actual core activity. We love it so much we do it for free. You get paid for having to deal with the pressure to succeed. And you get paid for having to do all the other stuff that comes along with it.

Its the other stuff that grates on you until you hate it.

[1] https://youtu.be/-Ythtg8ZVbY?t=166



I see it as: it's the "bullshit" that creates the value for others.

Basketball, or programming for your own pleasure is just that: pleasure. of course you'd do it for free if it's something you enjoy.

But the fact that it has to generate value for others is what removes the fun. You will have to make changes to your priorities, take into account others' preferences, etc etc.

Luckily if done right generates enough money to compensate for that.


This is (in a roundabout way) also the main problem with all the "FOSS maintainers don't get paid enough" threads IMO. The dream is to get paid purely for writing software, without having to do marketing, sales, support or any of the other things that come with running a company. You just write code for the features that excite you and then money somehow appears. Sadly the non-fun bits are crucial to the getting paid bits.


Engh... I think the issue is that a lot of open source maintainers ARE doing that work but are doing it FOR FREE and it is burning them out, because they AREN'T doing the thing you are saying where they just write the parts that excite them: they are also triaging bugs and incorporating feedback and are having to constantly answer people demanding timelines... if they weren't doing all of that stuff we honestly wouldn't talk about the issue so much as we wouldn't be caught in a lurch when they stop providing us all that free value!


> without having to do marketing, sales

May be some open-source software becomes notable without any marketing or sales, but I constantly see a lot of very conscious effort by FOSS maintainers to popularise their work. They go to meetups, do talks, post on twitter and HN. And yet the most that majority of them can hope for is getting a boost to their resume and being hired as a distinguished staff/principal-level engineer somewhere because of their open-source clout.


Money is information. If maintainers eschew their own marketing, sales, and (paid) support then they lose access to this information. When someone else interprets the information provided through payment and non-payment their interpretation flavored by their own goals and shaped by their (mis)understanding of the product will introduce noise (i.e. bullshit) into the signal.

The goal for maintainers who dislike the business side of things should be to write code that makes those business activities as painless as possible for the maintainer themselves. In writing such code they will develop a greater understanding of the process and may even learn to appreciate it. A true win would be to generalize that code so that other maintainers can use it to make their lives easier while still being able to glean valuable information from it.


Money will never compensate fun. It's just what you do so you can eat at all. I have not met a single person who on their deathbed thought "I could have had more fun, but that's fine because I have money".


Not on their deathbed, but before that, having money can help you have more fun, if not while working, then at least in your free time. It doesn't have to be obscene amounts of money, but if you're constantly broke and can't afford anything, that's definitely not fun either...


> But the fact that it has to generate value for others is what removes the fun.

It could also be the one thing that makes your work meaningful.

I don't think the focus on value-for-others in itself is the fun-killer, but that there are diverging, in-congruent quotas to satisfy, that there are meetings that waste time, that design-by-committee makes the products dumb, that you lose autonomy, that there are more boring things to do than interesting things.

I think everyone needs and wants validation to varying degrees, and providing value to others is the means to achieve that (also.. money). Some people are less motivated by this than others, granted, but cannot exist in a bubble without going nuts. Even if programming were just for ourselves, some other labor is geared to others.


This is absolutely the implication. If you’re getting paid for everything else, then that is what is generating the most value.

The point is when someone says “how could you not love programming?” The answer is because “programming” is just incidental to what people are doing at the professional level. Because for professionals, programming comes along with the notion that if you do not succeed you will lose your job and potentially your livelihood and then its far too easy for programming and dread to get linked in your head. I think because programming is creative so it is in some way an expression of yourself its easy to get too attached and frustrating when there’s this other thing attached.

We get paid to do this thing called “software engineering” but programming is a big part of it and programming has elements of a creative discipline. The same way I cannot guarantee a song will be a top 40 hit even if it is sound in a music theory sense, I cannot guarantee a piece of code I write will be useful or valuable even if it is bug free.

I think this frustration is part of all fields where creativity is a component (musicians, filmmakers, athletes, journalists, researchers, mathematicians) but we sell what we do as a strict engineering discipline. But it’s not. If it were a strict engineering, why would we create KPIs or go over click rates or usage statistics with engineers?


People who talk about wanting to do “pure programming” somehow without dealing with customers or anything outside their own skull is, to me, like people who consider themselves artists without producing art which people can experience. What is art for, if not to be viewed and experienced? What is a program for, if not to be used for some practical purpose? For a person to be considered a programmer, their role must be to solve problems for people who cannot or would rather not solve the problem for themselves. People who instead want to sit and stare out the window and only occasionally write things down, they are like mathematicians in academia. These people are of course useful, but I would not call them “programmers”; perhaps “computer scientists”. Other people, who instead want to produce “beautiful” snippets of code, are effectively artists, the art of which other programmers can certainly enjoy. But I would not call such people “programmers” either. (Perhaps “computer scientists with tenure”.) Programming is to solve problems for other people (possibly including oneself).

I.e. if you don’t like to solve problems for other people, then programming is not for you, and you should consider becoming a computer scientist instead.


The gatekeeping is strong in this one. Why does it matter how you label people? (emphasis added because that's not how people generally define programmers) Just let people do what they want.


My “labeling” is a form of expression to describe my point. You can disagree, but please be explicit instead of just going “well, that’s just what you think”. This is a discussion forum; I expect people to have differing opinions, and I want to debate them. You just seem to want to instead shut down any debate.

And yes, I do want to “gatekeep” any profoundly unhelpful people out of programming. Programming should be about helping people do things they otherwise don’t know how or could not do for themselves. Navel-gazers and gnostics (while they have their proper place and use) are generally not suited for, and reflect poorly on, the vocation of programming.


The constraint that you need to generate value also makes it fun, or at least, rewarding (to the heart)

2 programs. One only gets used by me, the other by 100 people. It is way more fun to write the second. Compensation being equal and all.


I don't know. I've written programs used by millions in an enterprise-grade code base and the amount of paperwork, poor management, meetings and mandatory HR trainings made the process not much fun at all, even if compensation was pretty good. OTOH I really enjoyed the programs used just by me, written in my spare time exactly the way I want.


I can relate to both: if you can be proud of your work ("I helped build this, and hundreds of people are using it"), that's a good feeling. If however the process is bureaucratic and you feel like a small cog in the machine without any influence on how the project will turn out, then I can understand that it's not a satisfying experience. Depending on the project, you can also have both - on some days you will have the former feeling, on some days the latter.


>I see it as: it's the "bullshit" that creates the value for others.

There's some bullshit (i.e. non-coding activity that's tedious but still needed) that creates the value for others involved.

But there is also tons of bullshit that destroys value for others, society, and even for the company itself. Without the latter kind of BS we'd be far better as society.


> But the fact that it has to generate value for others is what removes the fun.

At least for me that adds to fun.


There is a meta-skill which is learning to take pleasure in what is valuable to others


Definitely. I got to experience programming before and after doing it professionally. My passion for it left, then returned as quickly as it left. I always loved programming, but doing it professionally just wasn't the same.


One of my colleagues often asks how I have the energy to code after work. The reason is simple, one is coding things that give me a comfortable life, the other is coding things for pleasure. They're also very specifically not the same subject area at all because that would be awful.


What did you do after coding?


allaboutberlin.com


"Play" is doing something you want to do. "Work" is doing something someone else wants you to do or needs to be done. The former gives you complete agency, the latter is a reduction of your agency. If that something is valuable enough to someone they will pay for someone else to do that thing they can't or don't want to do (the pay is necessarily related to the value they have assigned as well as the retention of their agency in the matter). Of course they have to find that someone else that is willing to do that something for the pay offered, which means that someone else has to weigh whether the loss of agency is worth the payment offered to them.

It is not so much that "we love to do the actual core activity" since there are few programmers that would enjoy being constrained to constantly re-implementing basic CRUD functionality for months or years. We instead love the core activity driven by our own agency, doing what we want simply because the reward is satisfying that want.


> We love it so much we do it for free.

Absolutely. I would have worked for SpaceX if they let me sleep in a hanger, they wouldn't have to pay me.

I would work for free for a company making widgets for which people paid cash money if they let me work on interesting problems, interfacing with my customers, so as to see the fruits of my labor pay off.

Happiness isn't always derived from that which our society says it should be.


People forget that even without salary an employee still costs quite a lot of money.


Software was great 20 years ago, now everyone is searching for money.


I think you're missing a /s tag there, as 20 years ago was the end of the first dotcom boom, which was surprisingly similar to today in terms of vague business plans getting huge amounts of money thrown at them, and a lot of people getting into software for the money.


That's why Open Source (the "Individual-OSS", not "corporate/PR-OSS" that is also very popular today) is still great and pervasive. People writing code to solve their own problems, publishing the code for everyone to use if they want to, with no expectations of anything else than "Here is the code, do what you want with it".


Written by someone who obviously wasn't there 20 years ago...


20 years ago was 2002, only a few years after the dotcom boom in which people were most definitely searching for money.

There is plenty of great software right now, if you look for it carefully.


Also, most "great" software available in 2002 can still be accessed today.

You wouldn't want to run it though.

Which OS to start with?

- Windows? Unpatched Windows XP gets compromised within minutes on the internet. Microsoft spent years trying to fix all sorts of trivial security holes.

- Linux? Have fun with Mozilla 0.9 (pretty much the only browser choice)

- MacOSX? Only just recently released, not quite featureful as subsequent releases, and required you to buy expensive Mac hardware.

Why don't people run these systems on VMs on their browsers (it's quite feasible these days)? Because they aren't actually as good as the stuff we have today.


What's bad about searching for money?


This is why I quit my engineering job. I loved what I did. I hated the environments I had to do it in, and the other stuff that wasn't engineering that inevitably comes with engineering roles.


Agreed. You could be romantic about carpentry or bicycle repair or even accounting if you create the right mental framework. What strangles the romance isn't the craft itself, it's the pressures that surround it.


Yep, I gave up a software eng career 7 years ago. I always say I loved using my brain, solving hard problems and working with smart people. All the rest is why I walked away.


What do you do now?


Travel writer, photographer, you tuber.

I drive around the world and tell stories about it.

I’m “The Road Chose Me”


> We love it so much we do it for free.

I think this truism is well overstated by HN regulars.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: