'Eat, Sleep, Code, Repeat' Approach Is Such Bullshit (signalvnoise.com) 192
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.
Hmmm (Score:1, Informative)
Sundarajan, a victim of Indian coding sweatshops now "projecting" his traumatic experience onto us
Re: (Score:1)
No Grindr breaks?
Maybe those come during compilation or as part of a fullfilling balanced lunch?
Less coding, more thinking== better software (Score:5, Insightful)
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.
Re: (Score:1)
I agree firmly with this comment. Gung-ho coding is creating work for yourself.
My day is more like this, xRM / CRM world:
After a weekend of recuperation, errands and other responsibilities, laundry, cooking, going for a few runs, maybe a few beers if I'm lucky.
1) Settle down by reading the latest from the aviation industry - my tre passion.
1) Read my notes from the day before so my mind is ready for my immediate challenges. This naturally primes me for the big picture of my project.
2) Get something solid do
Re: (Score:3)
I use code for "bridge building", mainly spending time on looking at the map, and finding the best two places to span the bridge. Even then, there are times when I may have a number of lines of code, and wind up tossing the entire shebang out because I can do the same thing with an algorithm change, or using another function.
Coding is one thing, but I've seen dev houses measure quality by doing over 10,000 lines a day, regardless of bugs. That is akin to building a house and measuring the quality of the s
All ten charactersm!?! (Score:3)
> wind up tossing the entire shebang
The entire shebang line?! That's like ten characters! :)
Lines of code IS a good measure (Score:3, Insightful)
> but I've seen dev houses measure quality by doing over 10,000 lines a day, regardless of bugs.
I find that lines-of-code IS a good measure for me. If I can delete 10,000 lines of data transform and transport code and replace it with a direct connection in 12 lines of code, that's a very successful day.
As an example, a project I'll take on soon currently dumps data from a database into csv and transfers it to a server via FTP. Later, another server retrieves the csv via CVS, transforms it into XML, an
Re: Lines of code IS a good measure (Score:1, Insightful)
So you do no data verification, you just assume it'll all work?
You're a fucking garbage programmer.
Re:Less coding, more thinking== better software (Score:5, Interesting)
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
~Bill Gates
Say what you want about the guy but when you're right, you're right.
Re: (Score:1)
Thinking does not make you look like a rockstar on github. Committing shit does.
Re: (Score:2)
Committing shit just makes you look like an asshole. Committing good code makes you look like a rockstar.
Re: (Score:1)
Committing shit just makes you look like an asshole. Committing good code makes you look like a rockstar.
That's not how metrics work.
more commits, more green, more Rockstar you are! [github.com]
Re: (Score:2)
Say no (Score:2)
Can you tell your manager how long something will take? Have you tried doing so in a matter-of-fact, polite but firm way? Can you give an ACCURATE estimate?
I haven't worked for very many companies, but I haven't had this problem, not after showing that I know my job and giving matter-of-fact statements of how much time is needed.
Re: (Score:2)
"Can you tell your manager how long something will take?"
No, I usually can't.
If I could, that would mean I already did something vaguely similar and if that would be the case, then I would be perusing that other piece of code so there's no a third time she comes asking for that kind of tasks. The first case is a boring one that, fortunately doesn't happen too frequently. The second one is not programing at all.
What I *can* usually do is taking apart that manager and sit down with her quite longer than the
Funny some people see similarities, some don't (Score:2)
> explain the task so I can understand the business motivation and the real deadlines
Mod up.
> that would mean I already did something vaguely similar and if that would be the case, then I would be perusing [reusing?] that other piece of code so there's no a third time. ... The first case is a boring one that, fortunately doesn't happen too frequently.
It's interesting, I've almost always done some vaguely similar. Example 1: the organization has data in system X and they want it to be in system Y.
Re: (Score:2)
"I've almost always done some vaguely similar. Example 1: the organization has data in system X and they want it to be in system Y."
Me too. And what I observed is that the problem is never transforming data X into Y, but learning waaaay into the project, that data X was not all data that needed to be transformed since part of it came from an external source of truth which won't be available once the system is decoupled. And then, another part of the dataset involved -oh, I forgot to tell you about it, rea
Re: (Score:2)
Re: (Score:3)
You can give an accurate estimate ...
I have rarely seen a programmer give an accurate estimate. Inexperienced programmers usually wildly underestimate how long a task will take. More experienced programmers will apply Hofstadter's Law [wikipedia.org]: It always takes longer than you expect, even when you take into account Hofstadter's Law.
The best way to estimate how long a programming task will take is to look at how long a similar task took for the same team in the past.
Each programmer is wrong in a consistent way (Score:2)
> I have rarely seen a programmer give an accurate estimate. Inexperienced programmers usually wildly underestimate how long a task will take.
I learned a while back that while programmers, including myself, generally give very bad estimates, each is pretty consistent in how far off they are. In other words, if I estimated 1/3rd the actual time on the last two projects, I'll probably do the same on the next two. If you over-estimated bu 50%, you'll probably over-estimate future projects by 50%.
Therefor
Modern companies aren't after better (Score:3)
Re: (Score:3)
After 20 years in the business, I spend MUCH more time thinking about the problem and the best solutions than I do actually coding.
True. But if you program by the hour it's hard to charge for where this real work is done: in the shower and while eating lunch.
Re: (Score:2)
Additional features like not crashing and burning when someone enters a letter in a field that should be numeric?
Re: (Score:2)
After 20 years in the business you ought to know the difference between a t-shirt slogan and an actual project plan.
Re: (Score:2)
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.
This is exactly right. Today you can do more with fewer lines of code than ever before. The real value is in the thought process around *which* lines of code to write.
There's one called "Linux kenel" (Score:2)
You might have heard of this little program called "the Linux kernel".
https://www.kernel.org/pub/lin... [kernel.org]
Re: (Score:2)
Re: (Score:2)
Aspies are so literal (Score:1)
No seriously, why are we reporting on them?
Re: (Score:2)
Yes, last time I went diving there was a t-shirt with Eat, Sleep, Dive, Repeat on it. I hope to god this guy doesn't see that t-shirt and take it literally in the belief that there's something fun about living a life under constant decompression sickness, or just outright dying from it.
I think you're reading it wrong. (Score:2)
It's not a statement of intent but an observation.
Re: (Score:2)
Do not trust the pushing robot. He is malfunctioning.
Eat, Sleep, Code, Repeat? (Score:1)
the truth hurts (Score:2)
Memes (Score:5, Informative)
Re: (Score:1)
Google's slogan makes it sound like you're a prisoner or slave. They need to take this in the opposite direction. Perhaps changing it to "arbeit macht frei" would give their employees the incentive they need to produce exceptional quality code.
Developer haiku (Score:5, Funny)
When I work forty a week
Otherwise blow me
Employer Haiku (Score:2)
My dear employee
You are paid a salary
Work until it's done
Re: (Score:3)
My dear employee
You are paid a salary
Work until it's done
And I will....at 40 hours per week. It'll be done when it's done, so stop harshing my buzz, man.
Re: (Score:2)
It works like this, when I am in the zone, I am by far the most productive, super productive and that can not be forced. It doesn't matter what work you do, for me it was CADD, could really zone out on that and produce a lot of good work really fast, felt great. The same for the best coders, if they are not zoning out producing code, then they can never be fast and good, it is just the way of things, the way the brain is wired. So achieving that must be arranged around each employee and their own genetic ma
Re: (Score:2)
It works like this, when I am in the zone, I am by far the most productive, super productive and that can not be forced.
I understand, but I do it when *I* want to, not on command. I know how it is- deep into a long session of coding you have it all in your head, the structure, the functions, the calls, the variables, everything. I get it, I've been there. I'd code late into the night and lose track of time. I knew when to quit because the nightly virus scan would kick in around 2am and interrupt my work. That's when I'd call it a day.
But like I said, I did this when *I* wanted to, not because any employer told me to stay lat
Re: (Score:2)
Re: (Score:2)
"Dunno about you, but I'm paid to deliver value."
So your payment is a share on profits? If not you are an abused gullible employee.
An employee provides work. A company provides value.
Coding is a sprint, software development is a mara (Score:2)
Yep. It's all BS. (Score:2)
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."
Obviously, only complete loonies would support such a preposterous idea as a serious time investment. [norvig.com]
As a manager of a software dev team... (Score:3, Insightful)
.
That "Eat. Sleep. Code. Repeat." mantra is odious, miasmatic bullshit. Plain and simple.
Re: (Score:2)
Still missing the point (Score:5, Insightful)
I'm trying to figure out how could possibly serve as a more ironically unwitting example of precisely the thing he's criticizing.
The point to having a balanced, happy life isn't to be a better programmer. It's to have a balanced, happy life.
Re: (Score:2)
The point to having a balanced, happy life isn't to be a better programmer. It's to have a balanced, happy life.
Exactly this.
Yours has to be the most underrated post ever.
Millennials (Score:3)
Just more BS cop-out from those who can't. It's too bad Google is now full of this NIH thinking.
All in works (Score:2)
Going all in like this actually works. There needs to be breaks between projects or milestones for this shit to be sustainable though. The reason the industry constantly grabs new talent and lets them work like crazy is because that is actually a functional way to get code done. Every engineer doing that ends up with more working memory devoted to the things his code touches, and he is exposed to it every day. Saying "oh, doing all these other things makes you a better coder" is an extraordinary claim,
Re: (Score:2)
Re: (Score:1)
I've had my own intensive "eat sleep code repeat" cycles back in high school, which is more than a decade ago. That's probably when I went from being a shitty programmer (by adult standards) to an OK programmer. These days I mostly fool around random things when I'm not working, instead of being a beta tester for some bleeding edge software development stack (that's what I secretly think of developers who use RoR and node...)
The "eat sleep code repeat" cycle is probably quite effective initiallly, I just th
Re: (Score:2)
Coding is to Programming as talking is to debating or hammering is to building a house.
Millennial weakness (Score:1)
Everyone knows that coding is addictive and if there is something not working you are not going to sleep well until you figure out what it is. And you can eat and code at the same time. Relaxation time comes after the orgasm of a running perfect product.
Its a joke (Score:3)
Re: (Score:1, Informative)
Ok now try to explain that to some one who bought into it unknowingly and structured their life assuming that it was true.
This is the intent behind such advertisement campaigns. To force as many people as possible into a weak position for the benefit of the advertiser.
Google is basically an appendage of the US government for almost every practical intent and purpose.
Re: (Score:1)
We used to call those people children. And if the inability to not obsess over a single item such that it was the only thing you did short of eating and sleeping did not subside into adulthood, we classified you as having a mental disability. We didn't tell everyone else to stop joking.
Re: (Score:2)
Re: (Score:2)
I once tried telling someone that football was just a game...
It may not be life, but it is what matters to them in their life.
(Though I agree with you 100% that "Eat, Sleep, Code, Repeat" was clearly intended as humorous, not something that should have been taken as a mantra to live by.)
Okay Google (Score:2)
Eat, Sleep, Code, Repeat
As long as Emily Blunt is my pair-programming partner ...
Excluding coders with experience (Score:3)
Re: (Score:2)
this is one of the main reasons why older guys are avoided, for hiring, in the bay area.
when the job gets to the point where you have to be ignorant to be 'successful', then I guess maybe its better not to play anymore.
ignorant, meaning that you don't realize you're being taken advantage of and once your youthful energy is gone, you will be out here, with me, on the bench.
I'll keep your seat warm for you, while you are in mid-burnout, young man.
sigh.
Re: (Score:2)
Technology hasn't changed sine the 70s, only the tools have. Same crap, different pile. If you can't see this, you need to exercise your ability
ESCR explains a lot (Score:1)
Eat, Sleep, Code, Repeat probably explains why there are so many silly bugs and braindead design decisions.
Utter bullshit (Score:5, Insightful)
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.
Re: (Score:2)
You're talking about connecting the dots and plumbing. That's IT.
Good coding is also a hard science. You only know where your goal is (and maybe not). Finding the dots to connect is then 90% sweating it out empirically.
The real world is full of different hardware, interfaces, paradigms. At certain points you can't gloss over it with generalized code, but have to engineer something more focused.
Sometimes, it's also time-intensive testing and hacking to glean out undocumented bits.
Of course this is all agains
Re: (Score:2)
Exploitation as Aspiration (Score:2)
Lol, sure..... (Score:1)
...Google had the message "Eat. Sleep. Code. Repeat."
Yeah, well fuck you, Google.
Some of us have this thing called a "life", and we want to do whacky shit like spending time with our families, hanging out with friends, going on vacations, pursuing a hobby or two...you know, nutty stuff like that.
Take your "Eat. Sleep. Code. Repeat" shit and stuff it up your ass.
Refactor (Score:1)
do {
eat();
sleep();
} while (codeIsFun());
retire();
Literally? (Score:2)
Re: (Score:2)
The whole "eat, sleep, X, repeat" thing is fine for a limited time and if it's by you and for you and your benefit. Being pushed by a company for their benefit even as a "joke" feels kinda creepy.
Seriously (Score:2)
Ok, everyone knows "Eat, Sleep, Code" is a joke. What I find shocking is that somebody thinks it's real. There's probably nobody who does eat sleep code outside of a few bursts lasting at most a few months to a year when working at a startup. I mean, you have to go buy the red bull at some point, right? Anyway, I think it's a good tag line though.
Yes, this is usually how it works... (Score:2)
But only for one or two years or so. And only when you're young. And only voluntarily. How do you think concert pianists get to where they are? They 'eat, sleep, play the piano, repeat'. It's how *everyone* gets to a good level of proficiency at *anything*.
Not so smart (Score:2)
Hell, I was one of those obsessives in the workplace, and I've universally caught crap about it in here. I don't think one person ever agreed with me about my work habits.
So now, we are supposed to attract young people, especially young ladies into coding with the attitude that it is the only thing you do in life beside eating and sleeping?
That's maybe 1 in a thousand people that have that outlook, and by and large, they
Getting out (Score:2)
I hate coding (Score:2)
And that is precisely why I am good at it. I would never write long-winded BS that was mostly copy-pasted, loaded with huge if-else chains that can't be unit tested.
At my current job I delete more code than I produce. I refactor the BS written by junior coders in the past ten years and it is not uncommon to replace 100 lines of code with 2 or 3. Deleting BS code is so satisfying 3
"Work smarter, not harder!"
Re: (Score:2)
Re: (Score:2, Troll)
When I hear about a new startup, I drive by their office at 9pm on a Friday evening. If the parking lot is full, and the lights are on, then that company may be successful. But if everyone has already gone home, they will almost certainly fail.
When I noticed that IBM's parking lot was nearly empty by 6pm, I sold all my IBM stock. That turned out to be a smart move.
The assertion in the summary that a "balanced life" makes you a "better programmer" is not supported by any evidence that I have seen. I don'
Re: What BS (Score:4, Insightful)
I'm not sure how you make the jump from a company's stock price to how good its programmers are.
Your observations have everything to do with how much time the programmers are devoting to the company, and nothing to do with the quality of their code. A company that can get a single programmer to spend 16 hours a day working for them is probably going to be more profitable than one which needs to hire two programmers only willing to work 8 hours a day each - it's as simple as that.
Startups play the long hours they require from their workers against the hypothetical promise of future wealth to their workers. Thing is, that may have been how things worked out for the companies that created the tech boom in the first place... but that's not how it works out for the average startup employee nowadays.
Re: What BS (Score:5, Insightful)
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.
Re: (Score:3)
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.
Exactly. And when you are there late, I'm willing to bet that the parking lot is practically empty. It's only the businesses that are failing to plan ahead or which are experiencing business problems that have the entire staff there at night consistently. It's more of a sign of flaw in leadership and business operations.
Re: (Score:2)
It's only the businesses that are failing to plan ahead or which are experiencing business problems that have the entire staff there at night consistently. It's more of a sign of flaw in leadership and business operations.
Either that or it's an intentional and cynical attempt to con gullible staff into working longer than expected under the guise of a "crunch", most significantly in the gaming industry [kotaku.com].
'Course, it's probably not coincidental that the gaming industry is the one with the highest proportion of relatively young, newly-graduated, gullible (smart but with little life or industry experience) and easily manipulated programmers.
By the time they figure out that the "crunch" is a pathological and embedded aspect of
Re: (Score:2)
Re: (Score:3)
The last 10 years have been much much easier ala Kenny Rogers
You've got to know when to hold 'em
Know when to fold 'em
Know when to walk away
And know when to run
The real bonus is that our work product is much more black or white in terms of acceptance. A musician...not so much.
Depends upon the scheduling (Score:2)
Programmers don't usually stay long hours because they're told to - they stay long hours because they are into what they're doing.
That's assuming they are working on a project that has been scheduled well. Usually a lot of people I've known (including myself) had to work long hours because a project which has been allocated 12 months had 11 months doing nothing due to management indecision and then 1 month to cram in doing actual work. This has happened to me more often than any other scenario.
Re: (Score:2)
The person doing 16 hour days is not turning out the same thing as two people doing 8 hour days. Even if they somehow sustain their level of effort, the quality of the code is going to be much worse.
Re: (Score:2)
The person doing 16 hour days is not turning out the same thing as two people doing 8 hour days. Even if they somehow sustain their level of effort, the quality of the code is going to be much worse.
That has not been my experience. I produce my best code late at night, when I can work without interruptions. The worst code comes from the 9-to-5ers that slap something together between meetings, skip the unit tests, and check-in uncompilable garbage before rushing out the door for Junior's soccer game, leaving me to work late cleaning up their mess.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
This investing strategy is pure BS. There are much more important factors in an investment strategy than if the workforce is at the office after 9pm such as product, leadership, talent, market, logistics, and funding. In fact, if a company has it's staff working at night consistently, it's more of a sign of underlying flaws in the business, leadership, or funding.
Re: (Score:2)
Old model. The last startup I worked at had 8 programmers in 7 different states. Nobody was "at the office" ever. But I could get online on my couch with a cat on my lap from 8 am til late at night and knew that most of the others were as well. All connected via chat room. Saving two hours a day of commuting made us all more productive.
Comment removed (Score:5, Informative)
Re: What BS (Score:5, Insightful)
IBM has a hell of a lot worse problems than their employees going home at a reasonable hour. And there are a gazillions startups where plenty of enthusiastic young programmers ruined their relationships and health, only to have the company eventually fold under them anyhow.
I can't see how working insane hours is any measure of success for a company. In fact, one of the most successful companies I've ever worked for (and this is in the videogame industry, which is notorious for its insane crunches) has deliberately insisted that their employees should NOT work long hours, because it's actually detrimental to both employees AND the product in the long haul.
Even the mantra I hear of of "programmers work long hours because they *want* to" is idiotic and self-destructive. Most people will eventually burn out, even if it's doing something they love, if they're doing it too long and too intensely.
Re: (Score:2)
The assertion in the summary that a "balanced life" makes you a "better programmer" is not supported by any evidence that I have seen.
I think that having a "balanced life" makes you a "better everything". A better employee, spouse, parent, etc etc etc.
Bragging about working like a dog and putting 80-hour weeks is for suckers who haven't grasped that there's more to life than work.
Sure, I've put in some long hours on occasion, but not often and not regularly. I work to live, not live to work. Fuck that shit.
Feel free to spend your night coding function calls if you want...but while you're doing that, I'll be having dinner at a nice restaur
Re: (Score:2)
When I noticed that IBM's parking lot was nearly empty by 6pm, I sold all my IBM stock.
That was like 30 years ago, right? At least, I can't remember ever seeing IBM's parking lot full at 6pm.
Re: (Score:3)
Re: (Score:3)
When I noticed that IBM's parking lot was nearly empty by 6pm, I sold all my IBM stock. That turned out to be a smart move.
Do you actually believe this?
And if yes, do you think it was not the case during IBM's heyday in the 60s when they were unstoppable?
A hint: it was in fact the case in the 60s.
Therefore in IBMs case it is uncorrelated with success and so you made the right decision for wrong reasons but got lucky by random chance.
Re: (Score:2)
Many moons ago a Soviet military attaché saw that there were lights on late at the Ministry Of Defence, and reported to Moscow that the British were planning a first strike.
It was the cleaners.