I'm one of those programmers who writes code at work and then goes home and writes code at home. Some programmers program at work, then get home and can't stand to look at a computer. I'm not one of those. Am I one of very few who have very little of a life outside of writing code? Not that there aren't other things I'd like to do, but I keep finding that there are these programs I need to write first. I wonder how widespread this is.
I also wonder whether coding at home is a good thing or a bad thing. It can be good, because I would think that programmers who code at home are self-motivated, and more likely to enjoy what they are doing, but it can be bad because they might be motivated to work on their own stuff at home more than on what they're supposed to be doing at work, or because some overlap might arise that creates legal and ethical questions, like when some piece of code becomes useful or necessary in both places. Or they might just get burned out from programming fourteen hours a day.
One thought: you're certainly not the only one. I've never met anybody who takes this practice as far as I do in person, but I've known such people via the 'net. I was actually very disappointed about a year ago when I started working full-time and discovered an inability to do this, but I've got it under control now I think.
And, to your second part, of course it's not good to work on pet projects at work. I never have, because I don't feel like trying to dispute the ownership of my babies.
Of course, if anybody's auctioning off a spare life, I'll place a bid... -- DanielKnapp
(I think I wrote a sentence above which had multiple correct parses; I hate it when that happens. I tried to fix it by adding "at home" in the right place. I don't advocate working on home projects while in the office at work. But thanks for the commentary.)
I've always done this. Apart from requiring a saintly girlfriend I have never encountered any issues of overlap. Frankly my employers haven't got a clue about how or where I do what I do, as long as I deliver. This may differ in paranoid commercial software environments who wish to own the territory as well as the product i.e. the USA. Most countries don't allow such intellectual monopoly. (When are you guys going to fix that?) -- RichardHenderson
If someone wrote prose all day would they be foolish to write poetry at home? Of course not. If said writer also shut out all manner of human interaction in order to do so would they still be foolish? Perhaps. Though the history of literature is full of such obsession.
Professional software development requires adequacy on all dimensions but excellence on none. Hardly poetry. If you have this obsession, don't waste it on mediocrity. -- WardCunningham
Not wasting skills on mediocrity is a factor. Perhaps many truly motivated programmers code at home because they feel that their day-job work is beneath them. They know they are capable of better work, and so they go home and try to prove it to themselves. An admirable quality, though having a social life is admirable, too.
I now refuse to hire entry-level programmers that *don't* do this. There is a new trend of people who went into a CS/SE/EE degree because they heard the money was good, not because they had any affinity for the subject. I have found this type to consistently under-perform. With experienced people you have quite a bit of information, but it is difficult to tell new graduates apart sometimes. I find that discussing their pet projects (e.g., something that wasn't assigned in class) a great way to learn something more...
What are the significant differences in style and content between paycode and playcode? -- Bill Weston
I find my playcode is just better. Paycode is bound to be mediocre. If you are consultant then the client's programmers are generally mediocre at best, but their managers think them heros, so you can't say anything directly. Add mediocrity onto unreasonable deadlines and emergency fixes and I just couldn't stand just writing paycode.
I used to program in my spare time, back in high school and college. Really cool 8-bit assembly-language stuff that has no practical use today, but it was fun and it helped me get through those COBOL classes, even though disk errors usually chewed up my work right before I finished. Now that I'm working full-time, I almost never seem to feel like coding. Has my job sucked the life out of me, or is it that I'm actually getting a life now? -- NickBensema
I'm one of those people who were shanghaied by ruthless economic necessity into a career that, while taking care of my responsibilities to family and society, bores the crap outta me. Too late did I discover I like programming and suspect I may actually have some knack for it - so I am very much into WritingCodeAtHome
- the only code at work I write is for VBA Excel and, truly VBASucksAGreatSucking. -- DanEsch
ever since I got a 4-bit microprocessor electronics kit from my father with 11. And I love it. And yes, it is difficult to do this if you have family and three little children to care for. Took some time to develop a plan for this with my wife. I just need it now and then (beside reading thinking sketching thinking during the commute which is nice but not the same thing). Every two week I have a more or less free sunday without childcare or household tasks which I can use as I like - guess for what this often amounts to. And I need less sleep than my wife so I take one long night about once a week. -- GunnarZarncke
At work, all of my coding is done with only a few languages, a certain set of libraries, frameworks, and modules, and in certain styles and paradigm. I don't want to touch any of that stuff when I get home. So I do completely different stuff, in different languages, for a different platform (or two). I experiment with academic stuff that would be useless at work and with different structures and techniques, games that bear no resemblance to the daily business software. It's fun. Brings back a touch of the wonder of first learning to program. Even when I'm burned out, I still enjoy it. And I don't worry about legal issues.
Why write code at home? Because ProgrammingIsFun