'Eat, Sleep, Code, Repeat' Approach Is Such Bullshit (signalvnoise.com)
At its I/O developer conference, Google had the message "Eat. Sleep. Code. Repeat." spread everywhere -- walls, t-shirts you name it. Dan Kim, a programmer at Basecamp, has shared an interesting view on the same. He says while he gets the "coding is awesome and we want to do it all the time!" enthusiasm from the company, but he doubts if that's the approach a programmer should take, adding that the company is wittingly or not promoting an "unhealthy perspective that programming is an all or nothing endeavor -- that to excel at it, you have to go all in." He writes: Whether it's racing cars, loving art, reading, hiking, spending time in nature, playing with their dog, running, gardening, or just hanging out with their family, these top-notch programmers love life outside of code. That's because they know that a truly balanced lifestyle -- one that gives your brain and your soul some space to breath non-programming airâS -- actually makes you a better programmer. Life outside of code helps nurture important qualities: inspiration, creative thinking, patience, flexibility, empathy, and many more. All of these skills make you a better programmer, and you can't fully realize them by just coding.
Its a play on the Fatboy Slim song Eat, Sleep, Rave, Repeat. Someone needs to take the stick out of their ass. Maybe someone should buy Dam Kim a shirt with Keep Calm and Carry On plastered on it.
After 20 years in the business, I spend MUCH more time thinking about the problem and the best solutions than I do actually coding. If you're spending most of your time coding, that's probably mostly code I'll delete in a couple of years whwn I do it in a simpler, more elegant way.
Code is a byproduct of ideas. The actual act of writing the code is the least difficult and least time consuming part of creating software. I can't even remember the last time I sat down to write code and didn't already have all the code in my head. Once the problem is solved in your head, it's just pushing buttons in an editor to bring it to fruition.
I think that's part of the problem with the software industry. People think they need to show up to work and bang out code all day. That's basically the recipe to writing buggy code. Let the code brew in your head for a while and then sit down one day and bang it out and you'll probably find that it's super solid, very coherent code.
If you are writing code and can't see the next 100 lines of code you're about to write, you're doing it wrong.
Based on my personal experience, that's not quite how it works. Programmers don't usually stay long hours because they're told to - they stay long hours because they are into what they're doing. There are crunch-time exceptions, of course, but if the company is making people stay long hours regularly and they don't care about what they're doing, they'll burn out and leave. So to some degree, people staying late at work regularly has some correlation with work engagement, which for coders is a good thing.
Personally, if I'm sucking at code, I'll try to escape earlier. If I'm deep in flow, I'll be coding until 2AM. And that's when I do my best work.
YMMV, of course.