Discipline and creativity

— July 12, 2009 at 23:11 PDT

I was chatting with a friend over dinner this weekend about the impact of work environment on one's ability to excel as a software developer. We've both worked for companies where we've had to work far more than 40 hours each week for extended periods of time. We both agreed that's a good way to burn out your staff and, more importantly, a bad way to get stuff done faster. Sure, you can do an intense sprint now and then, but you don't win a marathon by running full out the whole way.

The comparison I came up with was that writing software is a lot like writing literature. It takes both discipline and creativity. Having either of those attributes will only get you so far (though it will probably put you ahead of most of the pack). To truly excel you must have both.

Discipline is not about putting in long hours (well sometimes it is, but that's not what I'm talking about). Discipline is about consistency. It's like playing blackjack and counting cards - your system won't pay off on every hand, but over time you will reap the rewards. Agile development is very much about that kind of discipline. You write your tests, go red, go green, refactor. This aspect of software is craftwork. It's methodical. It's not very exciting, but it gets you from point A to point B, and for the most part it's predictable.

Putting in 60+ hours a week is not good for your creative output. Being creative requires a brain that is rested and energized. It also takes mixing things up, changing perspective frequently. Burnout is the enemy! Sometimes when I'm stuck I'll get up and walk around the office, have a 5 minute chat with someone about something random. When I get back to my desk I can deal with the issue much better. Or if my pair and I get stuck, we'll put the story on hold for a little bit and tackle something tiny that lets us reset our perspective. That sort of thing usually helps a lot. We know enough not to try something really tough late in the day, and sometimes we save doing a fun story as a reward for finishing something that's no fun at all. Our brains naturally have attention spans that are too short to keep up with what we ask of them. Learn how to work with your brain instead of forcing it to do something it's not suited for.

There is a balance, and a way that discipline and working creatively mesh. Find a rhythm that works and that you can sustain, then stick with it. Back when I was trying to write science fiction, I got to talk to Cory Doctorow about his practice of writing. His advice was to write a page every day, then send it to people to get feedback. Pretty simple, eh? Cory produces a lot of fiction and I find it shocking that he only does a page a day. But a page a day lets him do a novel and a few short stories in a year, which is a lot more than I ever wrote when I was trying. I think he can probably keep that pace up forever. Sustainable pace wins.

One of the things I like best about working at Pivotal is that we consistently work at a sustainable pace. I can't believe how many startups advertise jobs where they say that they expect you to work "startup hours". I won't even consider working at a place like that ever again. It's not just because I don't like working that way myself, but because I think companies that expect and require that kind of pace from their developers are just going to screw themselves and burn out their developers. They'll either get real about what they can sustain, fail, or figure out how to deal with a high attrition/turnover rate.

Then there are companies that have no discipline and rely only on their "rock star" developers being able to come up with one inspired solution after another. Now, inspiration is great, but it doesn't get you even halfway there. People don't pay you for your ideas; they pay you for how you execute on them. If all you ever did was sit around and think up great solutions for difficult problems, you wouldn't ever get anything done. And if all you ever did was play Rock Band, you might be very inspired but you'd never finish writing Duke Nukem Forever.

As an ENTP (the personality type, not the company), working in a team is the only way I can consistently get things done over a long period. I can be super productive working with other people, but working on my own can be very challenging for more than a short time. It's much easier to keep up my discipline when I'm pairing since that helps me stay focused, and I can be very creative too, since I think better out loud. I know that way doesn't work for everyone, but it sure does for me. I also love tools like Pivotal Tracker that let me easily see what I have to work on next so I don't have to keep figuring it out every time I finish a task and need something else to do. On the other hand, I'm not a Calendar-About-Nothing kind of guy.

That's enough philosophy for the evening. But I'm curious to hear what other people feel about the interaction of discipline and creativity.

14 comments — [none]

  1. Thibaut Assus2009-07-13 03:57:27

    Hello, it's very interesting, because I was thinking to the same subject last night ! And I was thinking to the same metaphore of the book writer. My conclusion is that ruby programmation is as jazz music and improvisation. You have to work a lot to know all the possibilities, and your real value is when you have a problem, and you are able to solve it quickly and beautifully (with the good patterns in jazz, and the good patterns/gems in ruby). What about a musical github ;) ? For me, creativity is the instant when you find the solution to a real complex problem, after getting all the hypotheses. I was also thinking about a web project like a warcraft 3 game : you have to solve "macro" and "micro" problems in your strategy. And it's exactly the same with jazz and rails dev.

  2. Timothy Harper2009-07-13 09:27:18

    Your thoughts very much resonated with the concepts presented in The Emyth Revisited - he talks about 3 important personalities to grow any business - the Entrepreneur (thinker), the Manager (organizer), and the Technician (doer). He also states we all have these personalities, but one tends to become a tyrant and dominate the other, so it's important that we strive to keep them in harmony one with another. It seems that working 60+ hours as a developer would be a symptom of your Technician personality running unbridled.

    As for taking breaks to disengage my mind to allow it to reset: I've recently discovered tremendous value in this technique. A co-worker (Dr. Chris Wycoff) recently gave a book report about 'refactoring your wetware', which outlined a good deal of principles about the way our mind works which offered a perfectly consistent explanation as to why it's beneficial to disengage. It has to do with the two different roles your left and right brain perform, and how disengaging your left brain gives your right brain a chance to bubble up it's results that it's been working on while you've been so engaged with the left.

    I've had a lot of success with the Pomodoro technique to help with the short disengagements. Have you tried it, or do you have another system, or do you simply remember to take breaks? Curious to learn.

    Thank you for the enlightening post. I'm always eager to read articles on your blog because you have a good track record of posting value.

  3. Philippe Creux2009-07-15 00:08:08

    Interesting post. I have the same though about discipline. It permits you to reach your best performance without burning out. I think it's easier to follow a discipline while writing software than Sci-Fi because the writing itself follow methods like Behavior Driven Development. That way, you spend your day going red, green, refactor and it's easier to follow a rhythm then (I'm getting back to Thibault's comment on jazz music :) ). Finally, concerning the creativity, I believe that our brain must be energized to think out of the box when needed – and walking around, chatting with people and get back to our seat is a great way to be able to see the big picture.

    Thanks for this post Josh.

  4. John Forrest2009-07-15 23:20:59

    Good post. When I push myself too hard, it becomes difficult to solve problems. So I take a short break. I will get up and get a cup of coffee, talk to a co-worker, look at the latest conversations on the IRC channel I'm always connected to, respond to or organize my email, do some backups, write a few simple tests. It does not have to be a break from working, just a break from difficult work. After 10-20 minutes of doing some trivial task, I'm usually refreshed enough to tackle more complicated tasks.

  5. Sofi2009-07-30 06:57:38

    Great post! I usually needt to close my eyes for 15 minutes and after that i can go on. Creativity is one of my strength and it comes out after the 15 minute closed eyes.

  6. Jeremy Weiland2009-07-30 07:12:01

    This post is pure gold. Thanks for sharing. The line about working with your brain really struck a chord with me.

  7. David Chelimsky2009-07-31 07:15:46

    @Josh - great article. I'm definitely happiest and most productive when I get to balance discipline and creativity.

    @Jeremy - ditto on working with your brain. I keep hearing "we go to work with the brain we have" in my head :)

    @Thibaut Assus - I'm a musician as well as a programmer - you may get a kick out of a couple of blog posts I wrote a few years back about the correlation between agile development techniques and jazz improvisation

  8. WebhostingSphere2009-08-10 11:03:59

    Cool productivity tips!

    Best Ed

  9. Simon2009-08-21 04:43:23

    I do get a schower when I need to get new ideas and become creative. I get also very good ideas and results after a good conversation with my friends.

  10. Free Photoshop Plugins2009-08-22 08:15:27

    For some people, flexi hours would be a big draw when it comes to working - you would come in quick, code your part, and take three days off at a stretch. Unfortunately, software projects dont always work that way, at least in these days. They have become siftware where you would prod this and that ultimately getting nothing done.

    I have also always dreaded dealing with the thought of striking a chord/fine balance between discipline and creativity. The solution I feel is inclined towards minimalism - keep things to a 'manageable level', which you call 'sustainable pace'. Different people tend to interpret this in their own ways, but for me its the little things like - keep minimum number of icons on your desktop, minimum number of installed software, min number of opened tabs and app windows, and so on. When everything is at this level, I feel productive.

    If and when you feel overwhelmed - I think the internet is a kind of creative outlet which can be used when you are feeling all steamy. Some of the places I have worked in never had a net connection or it was severely restricted and I felt like I couldnt do anything in there. What I always do is fire up a browser, go to some random sites (whatever you can recall), click here and there, and you may feel refreshed. Even plain aimless surfing via randomwebsite does it for me when Im stuck on something.

  11. Nil Stellenangebote2009-08-24 08:53:41

    I totally agree with your opinion. To promote working productivity, extra working hour should never be the only solution, but more of efficiency and inspiration.^_^

  12. Anna2009-08-26 08:38:31

    Discipline is important for our life. The will be creazy without a little bit of diszipline. Everabody will do whatever they want to, when they want to. We should find a gold middle and try to balance between duty, discipline and freedom.

  13. sanjayts2009-09-04 05:44:38

    We've both worked for companies where we've had to work far more than 40 hours each week for extended periods of time.

    From your post, I get the impression that you are not against working for 40+ hours if the situation demands it but against working 40+ hours for extended or prolonged time periods. I'd be really interesting in knowing how long that extended is. ;-)

    BTW, really enjoyed your post. I do get up and leave for home if I feel that I'm not in the groove for doing things [after completing the regular 8 hours that is]. Maybe we need to lead a campaign against the people who think that sitting late == more work done.

  14. Kevin2009-10-09 13:47:06

    I've always argued that an 8 hour day is too long even. The french have it right, though their economy doesn't exactly express that at the moment :)

    How did we decide on 8 anyways? Better to work when you're productive, and not keep that much track of it. Work hard, play hard... If you're not being productive in life or in your job, you'll either feel it, or your boss will let you know you need to work harder.

Sorry, comments for this article are closed.