You said that people told you that you “should” become a computer programmer. But it only makes sense if you enjoy programming 8+ hours a day (and have aptitude for it). Did you have fun learning Python or was it a chore?
Wrong question, I think. Chris isn’t “most people” (no one is) and what matters is the available tradeoff of enjoyment, money, social value, etc., in the jobs he might take.
My impression is that most people who are in a position to make a decent career out of software are able to find jobs they enjoy pretty well. Not necessarily jobs in software—they might like something else better. Chris might still choose to take a job he doesn’t enjoy (e.g., if it pays much better) but he probably has the option, even if it turns out that “most people” don’t enjoy their jobs.
You may end up not liking the grind, but the least you can do when choosing a career is to make sure you like as many parts of the job as possible as much as possible.
I don’t know, do most people enjoy their jobs? (Where “job” = “whatever people are paying you a living to do”.) Do most people of an LW-ish sort enjoy their jobs? Do you? Or is it a grind that you do for no reason but to pay the bills?
Not recently. Honestly, though, I’m not sure typical programming work is the sort that people who think they like programming enjoy… think writing glue code and tracking down other people’s bugs.
Or is it a grind that you do for no reason but to pay the bills?
I decided a while ago that I’m an extrinsically motivated person and trying to figure out “what I loved” wasn’t going to be a good strategy for me. My impression is that careers like doctor, lawyer, and banker are typically pursued by extrinsically motivated people who aren’t actually passionate about doctoring/lawyering/banking.
Why do “typical programming work” then? Do more interesting programming work. Have you spent significant time trying to find a programming job you’d like more?
I used to do “writing glue code and tracking down other people’s bugs” type work, as well as building new features (in a system I already knew well, not learning much) based entirely on someone else’s designs and priorities.
I changed jobs in January and the new one’s much more challenging and fun. I have creative input, leadership opportunities, and mostly do my own tasking, working on whatever I think is important or interesting. I also have more variety in tasks, which I enjoy. I probably only spend about half my day coding now and spend the other time project planning, learning new stuff, designing and architecting new features, or doing other non-coding tasks. The new job also pays better :)
I’m a lot happier, and I feel like I’m actually learning and improving, whereas I was kind of stagnant before. The good programming jobs ARE out there, and IMO it’s worth trying to get them.
Personally, I find it a chore to learn programming languages, but I find it very enjoyable and rewarding to write software which helps solve problems I’m interested in.
My personal experience has been that it’s almost impossible to consistently put in more than about 2 hours/day of highly focused ‘flow’ coding. I was previously worried that there was something wrong, but at this pace I’m able to complete big projects on a regular basis. Could this be normal even for productive programmers?
I have heard a lot of people say that around 3-4 hours is typical. (That is also the average for professional writers, so it makes sense for that to generalize to other kinds of creative work.)
2 hours a day seems low, but you might be unusually effective. My experience is that the duty cycle is closer to 50⁄50, and lower with overtime, the latter being common, especially in startups.
The only way I can get actual 8 hours of focused programming work is if it’s the sort of tweaker monkey work where I just try a whole bunch of combinations trying to achieve the thing I’ve already figured I want to do. Examples of this are long debugging sessions, writing FFI bindings and writing an assembly subroutine. If I actually need to keep figuring stuff out, 2 to 4 hours is generally the amount I can manage.
You said that people told you that you “should” become a computer programmer. But it only makes sense if you enjoy programming 8+ hours a day (and have aptitude for it). Did you have fun learning Python or was it a chore?
Do most people enjoy their jobs?
Wrong question, I think. Chris isn’t “most people” (no one is) and what matters is the available tradeoff of enjoyment, money, social value, etc., in the jobs he might take.
My impression is that most people who are in a position to make a decent career out of software are able to find jobs they enjoy pretty well. Not necessarily jobs in software—they might like something else better. Chris might still choose to take a job he doesn’t enjoy (e.g., if it pays much better) but he probably has the option, even if it turns out that “most people” don’t enjoy their jobs.
I agree.
You may end up not liking the grind, but the least you can do when choosing a career is to make sure you like as many parts of the job as possible as much as possible.
I don’t know, do most people enjoy their jobs? (Where “job” = “whatever people are paying you a living to do”.) Do most people of an LW-ish sort enjoy their jobs? Do you? Or is it a grind that you do for no reason but to pay the bills?
Not recently. Honestly, though, I’m not sure typical programming work is the sort that people who think they like programming enjoy… think writing glue code and tracking down other people’s bugs.
I decided a while ago that I’m an extrinsically motivated person and trying to figure out “what I loved” wasn’t going to be a good strategy for me. My impression is that careers like doctor, lawyer, and banker are typically pursued by extrinsically motivated people who aren’t actually passionate about doctoring/lawyering/banking.
Cal Newport wrote a book called So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love. 80,000 hours has a summary on their blog: 1, 2. Other blog posts.
Why do “typical programming work” then? Do more interesting programming work. Have you spent significant time trying to find a programming job you’d like more?
I used to do “writing glue code and tracking down other people’s bugs” type work, as well as building new features (in a system I already knew well, not learning much) based entirely on someone else’s designs and priorities.
I changed jobs in January and the new one’s much more challenging and fun. I have creative input, leadership opportunities, and mostly do my own tasking, working on whatever I think is important or interesting. I also have more variety in tasks, which I enjoy. I probably only spend about half my day coding now and spend the other time project planning, learning new stuff, designing and architecting new features, or doing other non-coding tasks. The new job also pays better :)
I’m a lot happier, and I feel like I’m actually learning and improving, whereas I was kind of stagnant before. The good programming jobs ARE out there, and IMO it’s worth trying to get them.
How much do you enjoy your job?
[pollid:471]
Oh, yup, Python has been fun so far.
Personally, I find it a chore to learn programming languages, but I find it very enjoyable and rewarding to write software which helps solve problems I’m interested in.
From both my experience and what little research I’ve done on this topic, programmers do not program 8+ hours per day.
Do you have any more information on this?
My personal experience has been that it’s almost impossible to consistently put in more than about 2 hours/day of highly focused ‘flow’ coding. I was previously worried that there was something wrong, but at this pace I’m able to complete big projects on a regular basis. Could this be normal even for productive programmers?
I have heard a lot of people say that around 3-4 hours is typical. (That is also the average for professional writers, so it makes sense for that to generalize to other kinds of creative work.)
2 hours a day seems low, but you might be unusually effective. My experience is that the duty cycle is closer to 50⁄50, and lower with overtime, the latter being common, especially in startups.
The only way I can get actual 8 hours of focused programming work is if it’s the sort of tweaker monkey work where I just try a whole bunch of combinations trying to achieve the thing I’ve already figured I want to do. Examples of this are long debugging sessions, writing FFI bindings and writing an assembly subroutine. If I actually need to keep figuring stuff out, 2 to 4 hours is generally the amount I can manage.