

Ask HN: How much do you program? - kashif

I am not satisfied with the effort I put in. I was wondering about the  working style of other programmers.<p>How  many days in a week do you write code, and, how many hours in a day?<p>What else do you do with your time?<p>Are you working on your startup?
======
mahmud
Therapeutically, 1-2 days of 12 hour stints. If I am not programming, I am
researching for it. Today I am doing some translations for a Free Software
app.

Most days I have about few hours I spend reading specs, history, books. And I
have emacs and slime running at all times, so I code about 2-3 times a day
just trying things out. Everything is done in a Lisp repl; i might do
calculations, test stuff I read in the spec, few attempts at solving someone's
problem on IRC or Usenet,or trying out new API.

Just yesterday I hacked up stuff using the Dropbox API, and I ported a few OOP
stuff from the Dylan spec to CLOS. Last week I wrote a util that separates the
audio and video tracks in FLV videos; because my fiancee wants to listen to
youtube vids in her MP3 player.

etc.

Just productive procrastination.

FWIW, I have ~600+ _.lisp,_.sh, _.c and_.asm files in my ~hacks directory,
with absolutely no method to the madness. I sometimes forget I have done
something previously and do it again. Gotta automate that part of my fun life
I guess.

[Edit:

Lest my employer sees this; I wasn't counting work hours. Of course I put in
9+ hours of highly productive programming, design and analysis. Things that
are crucial to meet our business objectives and execute our shared vision.
Ooooh, shiny LLVM plugin!

]

~~~
jgrahamc
Interesting to hear you say that you forget code you've written and do it
again. I do the same. Code is so dense that I get the impression that the
brain just has to do a bit of mark and sweep.

------
jacquesm
It depends on a lot of factors. How interesting the work is, how much other
stuff there is that has to be done, how rested I am. Some weeks I don't code
at all (some months even!), but then I make up for it by working extra hard.

I've always thought that if you do your work as a programmer well you get to a
point where things 'just work' even if you don't code every day, and it has
been my goal to be able to take more than a month off from work without being
missed.

System administration is similar, most if not all of it has been automated to
the point where I can sleep through the night unless there is a major crisis
(say a power failure at a hosting facility, but even then, there's not much
that you can do but sit around and wait for things to come back up and that's
automated too... but I find it hard to ignore such things even in the
knowledge that I can't do anything).

Major bouts of coding usually indicate either a fascination with something new
and shiny or an unforeseen crisis.

Other things I do with my time: spend it with family, travel a lot, meet
people.

I'm also not too impressed with the effort I put in but I remember years when
16+ hour days where the norm and I'm still coasting on the stuff I built back
then, so I don't feel too bad about it.

I've been working on my 'start-up' for the better part of 12 years now and
that also is part of why I don't feel particularly motivated to work extremely
hard on it, the challenging bits all got taken care of long ago, all that's
left is maintenance and staying 'current'.

------
bigsassy
Before working on my startup, but with full-time development job:

1) Weekdays: 8 hours at job, occasionally another 2 at home on hobby stuff. 6
hours on hobby stuff on Saturday or Sunday (rarely both) on most weekends.
Hobby stuff almost always related to game development.

Currently:

1) Often 7 days a week, for 10-12 hours on weekdays that I dedicate to
programming and 4ish hours per Saturday/Sunday if I decide to do stuff.

2) Spend time with my wife, visit family/friends, and RARELY record some music
/ play video games.

3) Yup. And even with the hours mentioned above, it's been pretty great so far
:)

Oh, I should add that programming hours just count for me sitting at my
computer with the goal to write code. There's lots of thinking, researching,
reading documentation, and of course procrastination on things like HN in
those hours.

------
f1gm3nt
Monday thru Friday, 9am to 6pm I work as a programmer.

Monday thru Wednesday code my own projects from about 630 till 1 or 2am.

Thursday I play in a pool league, so I play pool from about 7pm to 10 or 11pm.
Then I head home to code for an hour or so.

Friday/Saturday consists of heavy drinking. Sunday is recovery and I plan the
rest of my week out and research what I'm going to code.

You will need balance when you code because you will burn yourself out if you
do it 24/7. That's why the weekend is reserved for fun and planning what I'm
gonna do. I try not to do any coding on those 3 days. It works for me, it
might not work for you.

------
chipsy
Depends on the problem I'm attacking.

If I'm planning out architecture, I'll write code for an hour or less and then
go get coffee and write notes. Basically I "ramp up" to a complete
implementation by starting out on something and seeing if it has a major flaw.

If it's coding up something deep and algorithmic(e.g. recently I started
implementing a small scripting language and associated type inference engine),
I'm going to be buried in it more-or-less continously for however many days it
takes.

If it's debugging the deep algorithm, I'll work on it off-and-on(the stage I'm
in now with the type system project) in blocks of an hour to a few hours at a
time. This is the stage where a lot of insight is needed so I don't push
myself too much to "force" solutions to appear.

If it's a "trivial features + fixes" type of thing, I'll procrastinate a ton
and then take the hour or two needed to finish. Since this is most of what I
do I spent a lot of time procrastinating.

In the rest of my (working) time I'm mostly focused on game design tasks. I'm
working with two others on a Flash/iOS game, and I'm taking the lead
design/implementation role. We meet occasionally, several times a week; so I
don't own a startup, per-se(one of my partners is in charge of the business
aspects), but I'm doing something entrepreneurial just the same.

Outside of work, I mostly try to relax(walking and some body-weight exercise),
clear my mind(some occasional meditation), and learn a little(reading). My
social activities are mostly online, these days. When I have time, my friends
don't. And when they do, I don't. So I only get to hang out occasionally.

------
mbenjaminsmith
Seven days a week, from say 4 - 16 hours in a day, depending on other work
that I have to do. When I don't have something that I need to program, I
usually find something that I want to program and work on it. I played around
with node.js for a while and recently was laying the groundwork to learn
Obj-C. (By writing command line programs in Obj-C and compiling them with gcc.
Xcode gives me the willies.)

I'm currently involved in a startup.

I also run a startup group (monthly). I run several times a week and try to
cook a nice meal several times a week as well. I occasionally go to a movie or
out to a bar/club with my gf.

If you're unsatisfied I would recommend learning as many new things as
possible. I really find learning a new framework or language helps me keep
moving forward.

------
reynolds
I write code every day. Depending on the day, how I'm feeling, what I'm
working on, etc, I'll spend more or less hours doing it. Every day I hit a
wall where I'm done coding for the day and I've learned to embrace that. My
brain and my body just say "stop working" and I do. Sometimes I hit that wall
after 4 hours, sometimes I hit it after 12 or more. I've learned that if I try
to push myself to work past that wall, my work becomes lower quality and I
don't really pay attention to what I'm doing.

------
jlm382
11AM-5PM: customer support, customer development, business development,
marketing/PR planning, and other tasks that require communicating with normal
humans in the working world.

6PM->2AM: Only coding... and with no distractions, the 8 hours are highly
highly productive.

(6 days a week)

Think Maker's schedule. If you're not already selling your product and if you
don't have much prototype to show, time should be 100% focussed on product
development.

------
jamesharnedy
I'm working on my second startup and trying to keep the hands-on coding versus
commercial work to a 50/50 split. Remember, your coding time will be a subset
of your actual time spent on technical work, even if you are developing a
system from scratch - its important to understand that as a founder your days
are very interrupt driven which leads to lots of distraction, try to find a
routine where you get 'quality' time to get your coding done.

------
jazzychad
All the time. It has varied over the years, but for the last 6 months:

1) 7 days a week. Usually at least 6-10 hours on weekdays when not dealing
with the business side of things. 10-12 hours on weekends since there are
fewer distractions. I have also been coding in my sleep more frequently...

2) Watch cartoons and play music. See related comment here:
<http://news.ycombinator.com/item?id=1350743>

3) Yes. Notifo - <http://notifo.com/>

That may seem like a whole lot of time to spend coding (and it is!), but I
truly _love_ to write code. I am my own boss, so it's not like I am being
forced in any way to do it. I just find it fascinating.

~~~
minim
That's exactly how I feel. If I don't make an actual effort to be social, I'll
spend every second I get "working". I love it so much it doesn't feel like
work and that's the real blessing.

------
aristus
When I was in startup mode, the first 4 months was 10-12 hours of programming,
7 days a week. I may not have showered every day, but I sure as hell made
forward progress. It was a remarkably "pure" feeling.

Turns out that's not a sustainable pace. Not only do you run out of stamina,
you run out of _ideas_.

Now I work at a medium-sized but incredibly fast-paced company. I write code
every day. But since I work on performance and not a particular feature, my
checkins tend to be small but well-chosen. A few people I work with have net-
negative lines-of-code scores.

------
aohtsab
I usually code 5-7 days of the week, ranging from 1/2 hr - 7 hrs. My hands are
the limiting factor in this regard, seeing as my carpal tunnel syndrome
dictates the amount of time I spend on my computer.

And if I'm not coding, I read about programming/implementation/software
design/etc. Currently I'm working through "The Mythical Man-Month" and
"Computer Networking: A Top-Down Approach Featuring the Internet". For non-
computer-related stuff, I run, I spend time with my boyfriend and cats. I also
recently got into Rabbids: Go Home! on the Wii. Programming is my passion, so
naturally most of my time is spent on related subjects. My sister faults me on
spending so much time on my computer, but I am constantly amazed at the
incredible breadth and depth of the topic! I wouldn't have it any other way;
breaks from the subject are important, but no other interest of mine compares
in scale to this one.

Don't have a startup. Setting up my personal business/front for freelancing &
contracting.

------
cia_plant
I only sit down and write code for maybe 5-10 hours a week. Programming is
always on my mind, so I am mentally preparing my work at all times. I am
working on a startup full time. I spend the rest of my time on diversions
which are not too mentally taxing, like exercise and watching movies.

------
mantas
7 days a week, at least few hours a week. Usually up to 12 hours a day.
Saddly, most of that time is more or less procrastination :(

I spend the rest of my time cycling, listening to music, browsing interwebs,
making food and just well.. living my life.

Yes, I'm working on my startup

------
ohwaitnvm
M-F 8 hours a day at work, 7-7.5 of which are programming. Pair programming
exclusively; if my pair isn't there, I'm not doing anything more complex than
fixing a broken test, writing a new one, or maybe CSS/layout changes.

This leaves me pretty tired on the weekdays, so I read HN but generally stay
away from coding for myself (maybe 30 minutes to an hour). Weekends I don't do
much more. Somewhere between one and four hours total between both days.

I'd like to code more in my free time (currently I lurk the internet or play
games), but coming from a full day of pairing, after having only ever paired
while writing production code, I find attempting to sit by myself and produce
quite a bit harder.

edit: Oh, and I'm not at a startup.

------
brianobush
I probably code half of my time, with data analysis, testing , thinking about
approaches, etc. taking the rest.

My startup is not really a startup anymore, it is 10 years old :) and as such
we are more in maintenance mode for most of the product lines.

------
Ixiaus
Typically I spend about 6 hours a day programming. Sometimes many hours more
if what I'm doing is extremely absorbing. I have a no programming on the
weekend rule and have a diverse number of hobbies that keep me occupied...

------
sbov
I find that I spend much less time programming than I did in my early 20's.

For work I do 8-10 hours 5 days a week doing programming/server
admin/researching.

Depending on burnout, I work on personal projects 0-5 hours on Saturday and
Sunday and 0-2 hours during the week. Lately its been closer to 0 hours.
Personal projects are generally game related.

Recently I've been spending about 1 hour per day exercising.

Other than that I spend time hanging out with the girlfriend/friends and doing
nothing (relaxing).

------
nnash
I'm not really a programmer, but I'm a front end web developer. When I'm
working on a project I usually spend the full day split between; design,
research, and coding. The amount of time I spend between these things is about
7hrs/4days a week. In my spare time I work on freelance projects.

------
dannytatom
After getting a 9 to 5 doing web development I rarely program in my free time.
I usually open vim, write a few lines, lose interest and start browsing the
internet or hanging out with friends. :/

