What made it click for me was programming in fear. Programming because I needed to. Programming because I gave a damn about my customer being satisfied and I wanted to get paid sooner rather than later.
It must be very odd programming 'professionally', only as a job and not as something you love first and foremost.
The problem with learning anything IMHO is when you don't enjoy it enough to want to learn it. And maybe that's a good signal that you shouldn't. Things are so much easier when you love what you do.
Learning how to program in a language with a similar amount of power to one that you're already intimately familiar with is pretty darn frustrating. It's hard to be intellectually curious when you're just learning new rules for the same game.
It must be very odd programming in your spare time, not getting paid for something that is inherently laborious and valuable. There are too many other people, places, and things that I love first and foremost to list programming for free as one of them.
If all of the software in the world that was created out of passion and love for the craft suddenly disappeared overnight the world would be a much worse place.
That is a problem in my opinion. If someone is creating that much value, that person should be getting appropriately compensated.
It would also be pretty bad if we suddenly lost all the software that was created primarily for money.
This is something I think that is a great sign of someone who you should/shouldn't hire. The best interview question is "So what side projects are you working on out of hours?". If they shrug and answer 'none', politely show them the door, yet it's surprising just how many programmers don't seem to have/want side projects - I guess they're doing it for the money rather than the love of it.
Definitely, life's about balance - spending time with family, living, eating, sleeping, etc but it seems like real hackers genuinely enjoy hacking, and want to play - even out of hours.
Don't get me wrong. I love to build things. I love writing programs that improve my life in some way. I love that I can see a difficulty in someone else's life and tangibly improve it (for free if it's easy and you're a friend, or for a fair fee otherwise). Programming is fun.
What is not fun is the mental masturbation of keeping up-to-date on all the latest-and-greatest languages and frameworks. What is not fun is building something with no tangible benefit. What is not fun is being insulted and dismissed by people who expect everyone to have the same interests and motivations as themselves.
In your list of "balance", not once do you mention friends. I have a few groups of friends (totaling probably 30-40 people) in my city that I hang out with a couple times a month, some of them a couple times a week. I have more friends from my hometown that I visit once every month or two. I have other friends in other cities that I see a few times a year. If you subtracted all of that from my life, I would probably have an extra 50 hours per week to spend hacking. No deal.
Just because I don't like spending my leisure time hacking doesn't mean that I don't genuinely enjoy the time that I do spend hacking. It doesn't mean that I don't have grandiose plans for things that I want to build (and make money from!). Your attitude about what constitutes a balanced life and a good hacker is very shortsighted and frankly offensive.
I have several friends who are musicians. A couple of them make up one of my favorite bands, having a really cool and unique sound. In my time hanging out with them, we watch movies, grab something to eat, lounge around, party, and generally enjoy each other. We don't spend much time at all playing music just for fun. When they are "doing music", they are either writing a new song, improving an old song, recording, performing, practicing something new and useful, or rehearsing for an upcoming gig. All of their musical work leads to money in some form. Why do we expect hackers to work for free in their leisure time?
Damn right. I hire based on who will be good at the job.
> "What is not fun is the mental masturbation of keeping up-to-date on all the latest-and-greatest languages and frameworks. What is not fun is building something with no tangible benefit. What is not fun is being insulted and dismissed by people who expect everyone to have the same interests and motivations as themselves."
Couldn't agree more.
> " Your attitude about what constitutes a balanced life and a good hacker is very shortsighted and frankly offensive."
Sorry, but you're kinda proving my point. The fact you don't want to spend more time on hacking rather than spending time with friends, means you'd make a bad employee for a startup.
> "Why do we expect hackers to work for free in their leisure time?"
I didn't say that at all. And FWIW, I play in a band as well. But I also spend an hour or so a day just playing for fun - because I enjoy it.
When did we start talking about startups?
So yes, my original comment is talking about hackers. Not "Systems Analysis Architect"s or whatever.
That is the most absurd false dichotomy I have read this year. You sound like the "artistes" I know who think that anyone who isn't raging against the machine is a pawn of The System.
Very nice resorting to name-calling. Because you can't conceive of someone who likes and is good at programming, but who enjoys other things in his leisure time, you again try to dismiss him with a low-ball insult. Nice work.
I don't know who you are, but you'd do yourself a lot of good to try to understand others better instead of insulting them and writing them off for being different.
Anyway.... I think you'd do well to lighten up and not take everything as a personal insult.
My original point: It's better to hire people who love what they do, rather than do it just for the money.
You can "love" to program but that doesn't mean you want to do it all day long. The love can come from the act of solving a problem, not the act of admiring how elegant the code works.
You need to disassociate the enjoyment from the purpose; they are not linked.
"You can 'love' to paint but that doesn't mean you want to do it all day long. The love can come from the act of solving a problem, not the act of admiring how elegant the results are."
Many people are drawn to hacking as others are drawn to painting or playing music (and these groups often overlap).
You're getting awfully close to a "no true Scotsman" fallacy. I know I'm not going to evaluate whether the guy who paints for himself or the guy who paints for a spot on the museum wall has a higher degree of "pure" love for an action.
It's irrelevant, really.
Right. There are no Scotsmen here, true or otherwise. My point is that some people do assorted things for the sake of doing them, for some intrinsic reason, not to solve some specific problem or address some external need.
Few people seem surprised when this is what motivates people to paint or play music, but when people say they feel that way about writing software, eyebrows go up.