Ask YC: how do you work for 8 hours straight?
In previous jobs, I found 8 hours very hard to do. Maybe it is only my problem because I frequently don't sleep very well and on some days am almost too tired to work. No idea how other people consistently pull 60h work weeks, though. Except perhaps if most of the time is spent in meetings, which is not so taxing (many people doing overtime seem to be managers or team leaders, which might indicate many meetings).
Also, in all previous jobs I ended up surfing the internet a lot. I don't really like that, though - I want to give employers their money's worth. Or do I just have the wrong attitude towards employment?
I suspect surfing the internet is a bit like coffee, news sites are small little excitement spikes for the brain. But maybe I am addicted, and they say coffee makes you more nervous and less able to show consistent performance over an extended period of time. So perhaps if I could wean of the news while at work, working 8 hours would become possible? Or would my brain deteriorate completely (I should add that I usually work as a Java developer).
Edit: one thing I liked about consulting and billing by the hour is that at least if I went home early, I would just charge the client less, so I did not have to feel too bad about it. Maybe I am just not cut out for regular employment?
Browsing the web, unfortunately, generally does page out whatever you were thinking about. I think it is a bad kind of interruption.
The way to work for long periods on something is to be interested in it. Few to no people have the discipline to make themselves work on something that bores them for many hours straight without paging it out. Probably none of the people whose work I admire do. Their trick is to work on stuff they like. That's not as passive as it sounds, though: you can often redefine problems to make them more interesting. For example, if you have an otherwise boring piece of software to write, you could make it interesting by using it as an excuse to learn some new language or library; or by seeing how few lines of code you can write it in; or by trying to make it very fast.
I've found one sure-fire trick to make the programming interesting is to design the software as two components: a language for problems of that type, plus some code for this particular application. Defining languages is always interesting (at least for me), no matter how boring the domain is. Plus it turns out to be a good way to structure programs anyway.
Another handy trick, especially in startups, is to motivate yourself by using competition. Kicking a ball into a rectangular net is completely boring by itself, but it gets interesting when someone else tries to prevent you from doing it. With sufficient resistance, you have to become an artist to get the ball into the net. At Viaweb we loved making our software better than our competitors'. Even Robert could get excited about cooking up some new feature that would leave them scratching their heads wondering how we did it.
Today I talked to a startup, and I could probably freelance for them. Less money than usual, but hopefully more interesting - I feel reasonably positive about it at the moment. Although in my heart of hearts I know that in the long run, only my own projects will really make me happy.
Your brain is no different in its need for rest than your body. I've discovered that I need a break at about 3pm every afternoon, so I find a quiet place to lay down, close my eyes, and think about precisely nothing. After ten or fifteen minutes, I am ready to go back to thinking very hard. I've had co-workers who choose to sit at their desks all day looking very diligent rather than rest when they need it, and they are far less productive. (Of course, there are a few out there who don't seem to need to ever rest, and they're much more productive than I.)
You're not being paid to log hours; you're being paid to accomplish something. If you meet or exceed your employers' requirements for you, then they are getting their money's worth.
Even though I'm sure I would be more productive by working less hours, I just fit in, and try to split my work over the 8 hours as the others do, do more pauses and chit chat. At the end I feel a little depressed, because I stay so long at work, and the day is over. I also have problems working for somebody's other pocket, in that case.
At my previous job, I could come and go when I wanted. And when I was there, I was extremely productive. SHould have stayed there ;).
As I recall it Taylor did not only advise the workers in general - but every worker in the study had been assigned a guy with a stop watch who told the worker what to do. Must have been pretty annoying micro-management.
As a bit of advice for working in this world... You have no control over when you work, so you must regulate the density of your work in order to keep from burning out. What you would do in a single day at your startup takes people at "normal companies" many days or even weeks to accomplish.
Also, guard your time off like For Knox. If you are willing to "sacrifice for the team" your boss will gladly steal as much time from you as you are not willing to defend. Work ends at 5, anything further will need further compensation, be it overtime or extra vacation. Your boss asking you to work extra with no extra reward is stealing, pure and simple. Use more tact to say that to your boss, but make no mistake, this is what it is.
Lastly, try not to think too much. 90% of what goes on in an office is inane nonsense having nothing to do with the bussiness at hand. Its just part of the deal. Dwelling on this will only frustrate you. Get your zen on and roll with it.
Good luck.
I think part of the issue here is how you define "work". I probably spend about 3 hours a day actively writing code, but I would still say that I'm working 12+ hours a day -- the fact is that most of my time is spent coming up with ideas for how to solve problems and convincing myself that the solutions I've found are in fact the right solutions.
Lawyers understand this -- they'll bill you for time they've spent thinking about your file while having a shower just the same as they bill you for time they spend at a computer writing up legal documents. Unless you're purely a code monkey who writes code according to directions and never thinks about what he's doing, there's nothing wrong with counting "think time" as time you spend working.
Edit: See also my comments from November about procrastinating: http://news.ycombinator.com/item?id=81366
I tend to pull an hour and then do something else unless I am in the zone and I can go up to about 3 hours and then break and come back to it.
8 hour days normally go like this when working with at clients place.
hour 1. opening up stuff, replying to email, grabbing a coffee, having a chat with co-workers(makes for a better working atosphere and you might learn something).
hour2. working on project, coding some, asking questions about the spec(if there is a spec, if not then asking questions that the end client or the account manager hadn't tought to ask)
hour3. repeat 2 but throw in a coffee and a chat and maybe a quick surf while you drink your coffee.
hour4. repeat 2
hour5. lunch time get up and move around people
hour6. repeat 2
hour7. repeat 3
hour8. start tying up loseends last coffee of the day etc send those emails you have been meaning to do, have a look at your bug list and fix a couple.
now you have done about 3 to 4 hours coding and plenty of other work.
second, i think it's common for developers to get the equivalent of writers' block when the upcoming task is large and/or poorly defined. some things that have helped with this:
- tricking yourself to take on little pieces of the bigger project (google 'structured procrastination' and hamming's article on productivity); carving out explicit "next steps" (without dependencies) that you can start on now
- writing down a plan or specs to at least get things on paper/into your editor to bring clarity to a jumble of random thoughts
- reducing distractions; putting on headphones (esp. noise cancelling); stopping multitasking http://www.joelonsoftware.com/articles/fog0000000022.html ; also, turning off AIM (or putting up an away message plus hide windows) and your mail client's new-email popup/toaster massively cuts down interruptions
- using rescuetime (to assess the damage and/or feel guilty about screwing around :)), noprocrast on news.yc or just making a commitment to yourself to wean yourself off of news/blog sugar
lots of people have written about productivity; http://blog.pmarca.com/2007/06/the_pmarca_guid.html and http://www.paulgraham.com/hamming.html are good starting points.
but ironically it's tempting to waste a lot of time "preparing" yourself to be really productive or trying to come up with the perfect system. i think there are natural ebbs and flows in levels of productivity; a lot of the battle is detecting when you're slumping and instead of beating yourself up, try to trick yourself into making that period as short as possible.
So, I quickly learned that a) your employer is judging your work on their perception of performance, not what you think b) in order to excel, you need to be in a position to work smarter
All of this brings me to the conclusion that in order to succeed you need to be set up for success.
I've been pulling 12-16 hour days, nearly 7 days a week for the last 12 years.
You have to love what you do. It has to be what defines you as an individual to pull that off with any kind of success.
It'll kill you though, I have more medical and mental problems than I know what to do with, all stemming from the damage my passion/obsession causes. But that's the cost and I gladly pay it. Why? Because it's what I am, it's what I do - and I'm pretty damn good at it.
How do I do it? Marijuana mostly. I don't drink caffiene (nor alcohol or any other types of drugs/stimulants). Caffeine causes peaks and crashes which make doing 16 hour sprints impossible, so I steer clear of that and I also minimize sugar intake but have noticed a semi-regular pattern of minimal sugar intake during the day - usually in a sweetened beverage or a fruit smoothie or eating fruit - although at 4am I will sneak a snickers.
I also tend to eat a lot of smaller meals throughout the course of the day, which helps keep me energized without making me lethargic.
Also, a few brisk walks during the day are good to clear the head and give me time to isolate my thoughts about what it is I'm working on.
It helps to start the day out with a list of things you want done, with the understanding that you can reshuffle/prioritize that list at any point, so long as you have a list.
But it really does boil down to the marijuana. It does a few things for me, cheif among them is that it sort of clears my brain and lets me really focus on what I'm working on. I'm disciplined enough at this point in my game that I can do this fairly easily. The other thing marijuana does is make me slightly lazy - which actually has the effect of me writing significantly less code to do the same thing, so I gain a LoC metric there. It also forces different perspectives when analyzing a problem so it's fairly often that I find holes in whatever system I'm developing that I might have overlooked otherwise.
Note, I'm not advocating you start smoking weed at work. I'm the boss at my company, so it's kosher, but most places - no way, you'll have to find other ways to achieve the same results.
Listen, if you aren't passionate about what you are doing, don't fine any thrill in it and are worrying about how you're going to pull of an 8 hour day, then maybe this isn't the right career for you?
A. Who are you to tell me if I'm living or not. Furthermore, what's your criteria for "LIVING". Assuming the status quo; I'm hitting all the major tenents: I travel extensively, I'm married, I've a whole host of life experiences worthy of a book or a movie, I read, I enjoy film, I live in a nice house in a nice neighborhood in NYC, I eat great food. I have nice friends. That sounds like living to me?
B. If you also define living by including having an impact on other's lives, than indeed I'm living life to the fullest. No I'm not writing any life saving medical software, but I do write software that people use to express themselves creatively and know a number of the users of my software who have gone on to do some pretty impressive things because of what my software taught them about themselves; their capabilities, talents, etc. This is why I write software in the first place.
Now, could I do this extreme lifestyle if I was working for a bank? Hell no. If I was working at an advertising agency? Hell no. But guess what? My extremism has lead me to an oppurtunity to write software for myself and for my own company. Again, living life to it's fullest. Instead of helping others chase their business dreams, I am living my own.
So get down from your horse, dude. Because I don't live in the suburbs with my wife and 1.5 kids doesn't mean I'm not living life.
1/ you're not married. You're just the ghost of lovers. being married means something like enjoying spending time with your precious other.
2/ you're not travelling : you're moving from one airport to the other, with a brief pause in office and hotel between them. travelling means learning the country you're in. Don't delude yourself, you're not travelling except on the surface.
3/ you have no friends, as the rest you have no time for them.
I know the pull of a (code) project, especially when you're the boss. It can become an obsession, and eat over your personnal life. But believe me, beyond 9 hours of real work, you're worthless. Many excellent, brillant coders underlined that for men and in the end, I have to admit they are right.
To be better, you must be open to the world.
He said that he had to do that because he always smoked pot when he coded and would lose his train of thought when the screen scrolled.
It seems like all intelligent people do some kind of drug.
(e.g. not Clinton)
Which one?
My advice is to find the most self motivated person you know, quit and do a startup with them. Your desire to work hard along with their relentless persistence will be a great combo. Also, working 14-15 hours a day is a breeze when its for yourself.
Until then use this to block the net at work http://thingsilearned.wordpress.com/2007/05/04/combating-int...
Try skipping out on meetings as much as possible and work long but less days (your personal schedule) as much as you can. Push the boundary's, what have you got to lose?
I have a wife and two teenage kids so I work nights as much as I can and sleep during the day when they are at work and in school. We see each other in the mornings and evenings.
When I'm in a serious mood I try and get three 4 hour shifts done with a two hour break in between each. If I don't get sidetracked I can get "in the groove" for one or two of these shifts. After a few days of that or whenever I feel burnout approaching I spend one day where the work shifts are swapped out for personal/family time.
If I can't be in a serious mood for whatever reason, I just let my "work brain" idle and let my life's "garbage collection" take over until I get back on track.
Something is very wrong and must be fixed. Now. Doesn't matter what your work or lifestyle is like. Life (and work) is a marathon, not a sprint.
I don't know if your problem is physical, emotional, psychological, or just plain laziness. It's up to you to find out and fix it. Until you do, I wouldn't bother working on any other problem. You may be surprised what you learn.
Figure out how to start getting a great night's sleep every night, and then figure out how to change the world. Keep us posted. Good luck!
How many comments on /. Reddit and YC news do you think are written during work hours.
So basically I think that you shouldn't feel bad about it if you get stuff done. Better 3 hours of pure productivity than 8 hours of mediocre bugridden sloshing around..
That's slightly more than when I had a full-time job (I averaged about 2-3 hours then), but seems fairly constant over a bunch of employers. And employers know this. My first boss told me, "Nobody expects you to spend the whole 8 hours working, just as long as you're getting something done with the day. That's why contractors get paid twice as much hourly as employees - they can only bill for the time they're actually working."
If you become an independent contractor, doing all your own taxes and client interface, you'll quickly realize that those "undeserving" suits are saving your sanity by doing all the people-handling and drudge work that you, as a hacker, would hate.
Also, in that situation, those suits pay their employees full time even when the contracted hours this week only add up to 18 hours. They bear the risk of having that happen, and in return, they soak up the profits when they get to charge the contractee for 60 hours worked in a week and still pay only salary to their own employees.
In the case with which I'm most familiar, the contract is for two days a week at $50/hr, and the employee of the contractor company gets ~$12/hr (here in the deep south, that's livable; he owns his own home). That may sound terrible to you, but on days they don't have anything for him to do, he still gets paid. It's a tradeoff.
Instead of focusing on having to sit at a desk for 8 hours straight, think about the kinds of results you can promise and take a project oriented approach.Instead of billing by the hour, consider billing for the result (which is more than halfway to productizing your efforts).
What kinds of projects would get you energized? You may be trying to fit yourself into a job and career where you won't be fulfilling your potential. I would echo a number of the comments that you should do something that you truly like. You may be more energizing by interacting with people, you might try a job--or consulting assignments--that are more people focused than about delivering code.
If you are not sleeping well: has this been true all of your life or only recently? Cut off coffee and other stimulants, find a way to get an hour of exercise in every day, and get up at the same time every day. It's possible you are depressed or suffering from sleep apnea. Obviously you should consult with a doctor once you have ruled out too much coffee, boredom, and any of the obvious causes.
If you were a co-founder in a startup with me, I would want to know that all of the web surfing had some application to the tasks you had taken on. I do think you have to distinguish between efforts and results, but if you want to be a product member of a team, you have to be able to deliver on your commitments. The key is you get to pick the team and make the commitments.
I hope this helps, I can confess that I sometimes have fantasies of how productive I was in "regular jobs" until I remember all of the pointless meetings, unproductive political constraints, and other meaningless activities I was required to take part in. But I am energized by what I am working on now, and find myself working from early in the morning to early evening and some weekends, but I take a lot of breaks and try and focus on results not hours.
Of course, in my spare "coasting time" I'm usually playing with new technologies and tools, so its hard to say that doesn't provide value to my employer in the long run.
The important thing is to guard your time jealously, and avoid an employer that pries too much into it, or wastes it with useless meetings. Find an environment that cares more about results than warm bodies in chairs for 8 fixed hours a day.
If I was you I'd see a doctor about that. Motivation, focus, and energy are heavily influenced by your hormone balance and not sleeping well can affect that. You could have sleep apnea or another medical condition which is causing your fatigue. If you're not doing much exercise that wouldn't help either.
Failing that, charge an on-site per-diem, or a higher on-site rate. Then the client will all of a sudden really not mind at all that you're doing nearly all the work from home, and you have much more flexibility with your hours and working conditions.
Other fun things (none of which is legal advice!):
- Never, ever, ever, sign an indemnity clause. That's basically an agreement to go bankrupt if anyone ever sues them over your work. (If they can't budge on it, due to an evil legal dept, you should research whether indemnity clauses are enforceable against employees (not contractors) in your area. If not, you can mention that they can always hire you as an employee for the duration of the project -- at your consulting rate!)
- Only fixed-bid for fixed-scope (change orders should always be hourly, and fixed bids should have at least a 100% fudge factor in your favor (same with calendar estimates). No, you do NOT mention that part to the clients. Some people recommend more than just doubling, but it's worked for me so far).
- For jobs you don't really want, try quoting a higher rate, and see if they take it! (Eventually, you'll find out what your market rate is). Pad your rate proportionally to how much you DON'T want the job. :)
- Never bid on a job from a position of weakness: there should never be a job that you NEED to have, otherwise you will get screwed.
- Bill weekly. (Never call it a bill, always an "invoice").
- Do not continue work when the client has more than a couple thousand dollars in delinquent balance due, until you're paid, or unless the client is a really good client, and you know they're good for it.
- Never subcontract for someone who's friends with the client. They will be unable to maintain the naturally adversarial relationship between consultant and client, and they'll let things slide (such as late or delinquent payments) that they shouldn't.
- More generally, avoid situations where you can't bill the client directly.
- When logging your hours, always keep good notes of what you're doing. Clients like knowing what they're paying for.
- If the client likes to call outside of normal working hours, institute a minimum 3-hours-billable for each off-hours call. Now, you can sleep at night!
- Always be professional and courteous. Never burn bridges, no matter how tempting.
- Emotion and drama are your enemies. Both your own, and your clients'. Especially keep emotion out of the picture when negotiating about money.
- Go the extra mile to keep your best clients. Weed out the bad ones.
- Don't put up with abuse.
- Always negotiate in good faith.
- Always under-promise and over-deliver! NEVER over-promise and under-deliver!
I work on two computers that are spaced slightly apart, requiring me to frequently push myself from one to the other on my little rolly-wheel computer chair. Rolling is fun. Spinning is fun too.
With that being said, I have at times taken time off to work on my own projects and forced myself to work a full 8 hours. No stopping of any kind, phone and instant messenger off, email closed, no breaks of any kind. It was incredibly difficult. I remember I would choose a playlist with 8 hours of music and not stop until it was over. But it was something I still do only rarely. It was very productive, however, but not something anyone could do every day.
In my experience, programming is perhaps the hardest of the lot to do consistently, all day, day in, day out. Some days I manage to really get into "hack mode" and crank out lots of good code. Other days I can barely focus and don't actually produce much. I really think a lot of it is the cubicle, etc., environment, as my days spent programming in an office were generally better than being in a cubicle.
Either way, I had no problem working and staying on task while sorting computer tapes. But serious programming requires a particular state of mind and deep understanding of the problem at hand. The harder it is to achieve that each day, the harder it is to be productive as a programmer.
Now it's a game for me. I don't want to stop working until I've hit the peak for that week.
I work for myself though, so working more directly benefits me.
Life is too great for being wasted on some company's stupid playground rules: it is NOT okay to think "well, it's the same everywhere -- i'll just have to take it"! You deserve to embrace your talent in the best possible way. If you know you write quality code because you're a passionated and self-respecting coder, you have the right to excuse yourself off these bosses and companies who can't see your value beyond their time clocking schemes. You do no better at your work by adhering to these rules.
From what I've observed and discussed, programmers and intellectual workers seem to get something like 3-4 hours of real work done in an 8-hour day. If they're good. That sucks! Everybody thinks it's frustrating to be at the office when you actually cannot work as you need some time to think over your problem. You could do other, useful, personal, creative things while mulling on your problem and then when you're finished, just sit down for a couple of hours and effectively do a couple of days' work in that one sitting. You feel productive and you get things done. Both personal and professional. Everybody wins.
There are companies that understand this. Keep looking and when you find one, stick to it.
I'm the same way though... consulting has been great, so far.
You have to build up a network though and get the word out that you are doing it. I've been lucky so far.
If things go well I'll have made $13k in a month, even though the eventual idea is just to do enough consulting to do a startup.
Also don't feel bad because programmers tend to work differently then the rest of the world, we work in massive bursts not steady streams. The best thing to do is to leave work when you are not "bursting" and go do something else. If you employer has a problem with it, explain to them how it benefits them this way, if they still have a problem with it, do it any way...It's better to beg for forgiveness then ask for permission.
For me, that means 8 hours of sleep and often a 10 minute nap after lunch. Once I have that down, and interesting problem can keep me going 8-10 straight.
Try it fer 40 years. When I were a lad, we did 15 hours every day gettin' coal down't mine. Ay, the youth o'today wouldn't know an 'ard days work if it bluddy well hit em in't face!
Sure, you're there for 8 hours, but no one just sits and codes and configures and thinks. You get up. You socialize. You drink coffee. You surf the web. That stuff is important, too -- you're a human, not a robot, and you can't be effective if all you do is work. (Remember The Shining?)