Search Unity

Professional programmers -- how many hours of good work do you get done each day?

Discussion in 'General Discussion' started by BIGTIMEMASTER, Dec 14, 2018.

  1. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    I'm a learning 3d artist, and this work is the first I've ever had that is indoors and not physically involved. I've been at it for just over a year now.

    Some days, especially when I hit or am near a milestone in a project, I can easily work eight hours or more, no sweat. Sometimes that ccrazy energy last for several highly productive days.

    But a lot of days, especially when the work is tedious or it's a long way to the next milestone, I am really only good for like 4-6 hours of legit work, and the remainder of an 8 hour day I am still productive but like, only 25%. In those remaining hours I'm no good for decision making, hard figuring, organizing -- just mindless work and I'm prone to distractions. (That's when you see me here)

    Is this normal? At your day job as a programmer or any type of computer work, do you routinely hammer out eight hours of solid work five days a week? Reason I ask is because the ho-hum days really irk me. Make me feel like a lazy bum. Besides coffee and exercise breaks, are there any tips/tricks to keep the brain focused those extra hours? Or is it really too much to ask? I suppose a big part of the difficulty is the solitude, little feedback, and so on. Probably at a day job you have meetings and people stopping by, that sort of thing helps.
     
  2. Xype

    Xype

    Joined:
    Apr 10, 2017
    Posts:
    339
    You have never heard the joke about programmers goofing off and the boss comes in and they just say "compiling" it is more true than you can possibly believe lol.

    Working from home is a challenge in itself. If you are that productive working from home you are doing better than most.

    Best tips for working from home is to treat it just like going to work. Get up at a set time, take a shower, do all your morning routine, make your coffee etc, go into your office and make your family understand what your working hours are, and that you should only be disturbed for the same things they would disturb you for if you worked for someone else at a company office.

    If you find those hard decision times or productivity slacking off because your brain is tired and decisions are just not coming through, you could try shifting. Working for yourself there is always more to do, might use that time to change focus and work on your book keeping, budget, plans for the next day etc. Sometimes just an hour or two of getting other things done that need to be done can clear your head to go back to the primary work.
     
    Shizola likes this.
  3. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    Professional programmers get 40hours of work done in a day, I thought everyone knew that.

    "I am really only good for like 4-6 hours of legit work, and the remainder of an 8 hour day I am still productive but like, only 25%."

    This honesty is why artists starve I think :D
     
  4. DgoodingIndi

    DgoodingIndi

    Joined:
    Feb 8, 2012
    Posts:
    43
    I added a solid 2-3 extra hours of solid "Focused" work by changing my sleep schedule to wake up at 3 AM.
    Changing it from 6-8 hours a day to 8-11.

    Since I discovered that something about the last meal of the day just shuts my brain down, so I eat around 6 PM, and pass out at 8.

    Like right now it's 7:30 PM, and I"m finding myself floating into forums, so I should go to sleep soon.

    Also i'm a piss poor morning person, so being around literally anyone in the first few hours i'm awake puts me in a bad mood, so being in that alone state is also helpful.

    Another thing that I have found to be useful is completely switch up the genre of music you might be listening to. I find that eventually anything I listen to doesn't quite energize my brain the same way, and need to constantly flux. Even if I don't even really like the genre as much as others.

    I think it's best to pay attention to biological triggers that your body might react to.
    There is definitely some biological influences that aren't often talked about when you see work ethic.
    Usually it's just about making lists, and use timers and such.
    Everyone is different.
     
  5. Seems perfectly legit. I sometimes have less than that, but I work in a very big organization, so we spend a lot of time scheduling, organizing data, asking and answering a lot of questions from various departments and holding meetings so everyone is on the same page where they should be.

    - 3-5 hours coding and planning
    - 1-2 hours various tasks (bug/task triage, answering questions from other departments, review other people's code, writing meeting planners or meeting summaries)
    - 1 hour meeting total on average (sometimes none, sometimes 2 hours)
    - 1-2 hours writing documentation, chatting with the neighbors, playing with one of the countless adorable puppies

    But, and this is extremely important, in every hour approx. 5 minutes other things (like forum posts or social media or news) and 5 minutes walk (toilet, water refill, whatever just away from the desk)

    Approximately this is how an average day of mine looks like. Of course, it depends, as the Holidays coming, we're winding down, early next week we lock down the code for the year so no changes can be made until early January unless it's an emergency.

    But then I come home and after a couple of hours of family and such I code/plan/document at least 1-2 hours. Or if I'm not in the mood just hanging around and posting on the forums. :D
     
  6. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    4-6 hours of truly focused work might be an overestimate for the average programmer. Of course, that doesn't mean that the programmer isn't at work for 8-12 hours, working less productively, stuck in meetings, taking breaks, etc. Also, a lot of progress gets made while things are "compiling," even if your nose isn't pressed to the grindstone. That's when "aha" moments come. I'm sure the same happens with art.

    I also start work really early when there aren't any distractions. I'm good for 45 minutes, then I take a 15 minute break, and repeat. If I'm diligent about those 15-minute breaks, I can extend my productivity a lot further than if I let myself work straight through.

    I set a lot of milestones because they motivate me, too. I usually have standing reviews with other developers on Mondays and Thursdays so that I feel obligated to have some good progress to show.
     
    angrypenguin and Lurking-Ninja like this.
  7. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    I can't speak for programmers. But if someone cares to work out the time zones and do the math on my post history, they will see that chemical engineers aren't productive 8 hours a day.

    As a general rule, the more 'cerebral' jobs get, the less you get productivity gains from simply throwing hard hours at a task. Your brain needs time off to process things, without being interrupted by the constant need to do work or be productive. Frequently an hour of good engineering is more valuable then eight hours of poor engineering. Even if it means you have to spend seven hours idle to achieve the result.

    I can't imagine programming being any different.
     
  8. NoDumbQuestion

    NoDumbQuestion

    Joined:
    Nov 10, 2017
    Posts:
    186
    As a new programmer, i work for about a year now. My schedule everyday are like this:
    - 8h30: come to the office. Boot PC then surf reddit
    - 9h Surf more StackOverFlow, unity forum, github, blogs for yesterday problem.
    - 10-11h if i found the problem early then great i have motivation to get work done. If not, i would bump around till lunch
    - 1PM - 2PM, surf more reddit since I cannot concentrate, if on deadline then yeah focus 100%
    - 3PM - 6PM work quite efficent like a good boy (headphone on Metal/Rock 50% max volume).
    Go home sleep to the next day
     
  9. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Great responses.


    haha.


    Yeah I remember hearing once about some survey or something where people said honestly they only worked legit for like 3 hours a day. I take most peoples reports with a grain of salt if they are very "braggy" about how many hours they work.

    I think taking a mandatory break every 45 minutes seems liek something good to try. Usually the times when I work straight for like 6 hours because I am feeling real good comes with a price afterwards. Either the next day suffers, or I have trouble sleeping because my mind is still moving vertices and crap around incessantly, or my hands hurt.

    I also value morning time for quiet focused work, but no way I am getting up at 3am. That's madness. You have to literally be a madman. I guess some days I start working at 6am, so maybe it's not a big deal if I start fizzling at 4.
     
  10. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    The whole hourly wage and 9 to 5 culture is fairly toxic. It makes sense for factory work, where hours spend on the machine directly relates to product produced. It makes sense for some low level agricultural work or retail work.

    But for most professionals, hours worked doesn't tie in to value produced. Which leads to a large amount of effort being spent to give the appearance of busy, but without adding any real value. Eventually those inefficiencies just get built into the system as a normal way of working.

    Humanity could survive just fin on 25-30 hour work weeks.
     
    Socrates likes this.
  11. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Yeah, a lot of it is bs I am sure. Actually some interesting books I read awhile ago made a pretty strong case about how ancient hunter gathers likely only worked on average a few hours a day, and the rest of the time was just loafing or whatever they wanted. Ahhhh, the good old days. But the only reason I mention this is because, well that is more than 90% of human experience and evolution so I think it's good to understand what our body expects and what is normal.

    But anyway, for now, I find that an average of 6-8 hours a day is something that I can manage and enjoy. Like, it doesn't require a ton of discipline or anything. But it would be nice to have a little more organized routine or something to keep the weekly average more consistent, rather than some days being long and drawn out, and others stunted. Well, its fine really, that is probably perfectly natural and it's just my expectations bothering me, but I just wanted to know what this type of work is like for people who've been doing it professionally for some time.
     
    Last edited: Dec 14, 2018
  12. RavenOfCode

    RavenOfCode

    Joined:
    Apr 5, 2015
    Posts:
    869
    It's actually not too bad when you get used to it. When I swam in highschool I had to get up at 3:30am for practice before school. On the very rare days when practice got canceled from weather or something, I'd stay up and I was super productive. No one else was awake so it was nice a quiet, plus my brain was fresh from a solid nights sleep. I could easily crank out 5 hours of work in those 3 hours before school.
     
  13. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    4 to 6 hours of "focused" work a day feels about right, with the rest of the day still working but with reduced productivity. Sometimes I can go quite a bit longer than that, but these days rarely get the chance to.

    I find that my abiity to focus depends a lot on the time of the day. During daylight hours I often find it quite difficult, even when doing work I genuinely enjoy. After the sun is down I can have the blinkers on way into the morning...

    Absolutely this! I often find that the actual coding time, even for fairly complex things, can be quite short if I've had ample thinking time in advance, whether or not that time is at a computer or even deliberately focused on the problem. The typing is the easy bit!
     
    Lurking-Ninja and Kiwasi like this.
  14. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Eh, I've had plenty of early mornings in my military days. 5am is about right, but not earlier than that. You've got to be a madman. You guys just don't realize it, but you're mad. :)

    Joking aside, there is definitely some rhythms your body goes through throughout the day. I find early morning and evening to be my best thinking time. Mid-morning to a little after lunch I'm kind of a turd. Afternoon coffee time is good for making a poop, which is usually when that second wind comes. Got to get that evil out of ya.
     
  15. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Some days I crunch code for 8 hours. But its very rare. Often there are design meetings, business meetings. Brainstorming with the team, scrum standup etc, etc.
     
  16. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    Too much.
     
  17. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    I do different things depending on the time of day. I know I’m not going to be able to do real maths after lunch so I do it all in the morning then I give myself monkey work that doesn’t require a ton of thought for the rest of the day.
     
  18. Tzan

    Tzan

    Joined:
    Apr 5, 2009
    Posts:
    736
    4-6 hours is right.
    I'm self employed and I have billable hours of 20-30 hours in a week that I have a full amount of work to do.
    I might work 1.5-2 hours before taking a break.
    A break could be .5 - 2 hours, I also go for a 20 minute walk mid afternoon or at the end of my work day at 5-6:30pm.
     
  19. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    The programming is never the timesink for me. It is always behaviour that is the time sink.

    So if my task would be to learn and integrate ECS, I would do this and understand this in under an hour, no problem. But working out how to model a behaviour in a new system like ECS could take much longer.

    For example in my current game, the most time has been spent on gameplay, and the feel of the game, as well as automated probe placement tools, things like that.

    This is because R&D is by far the most time consuming aspect of a programmer's life.
     
    Ryiah likes this.
  20. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    R&D meaning, looking up new stuff, testing it, that sort of thing?
     
  21. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yeah, programmers do this regardless, it's most of our work if we are any good at our jobs.

    Say you have a specific character behaviour where the character has to be able to swing like spiderman but also wall run and jump on enemies?

    9 out of 10 developers on these forums will fail to do this how they would prefer or in any way close to the original design. What they will do instead is get something that sort of resembles it then compromise.

    Zero compromise is where R&D will really get you, have to try a million approaches until the correct one is found, and this assumes an already deep knowledge of physics, physics engines, limitations, getting it all working regardless of framerate issues and finding the solution for all that, which works within performance targets.

    But if you want to compromise then it's no problem, obviously. Any old near enough thing will do. Like most indies or hobbyists settle for. I'll wager many a big developer also did sneak compromises because R&D does not respect deadlines.

    So perfectionists should never work in this industry if they value health and sanity.
     
  22. ^^^ this
     
  23. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Haha.

    Very useful information here. Right now I am working on my first "official" portfolio piece, which is planned to get me some job when it's finished, so it's got to be as perfect as I can do. But perfection is impossible, and there is still plenty I don't know. So figuring out how far to go before drawing the line and saying, "ok, this will do" is probably the biggest challenge.

    At least with art, I can simply look at what the current professionals are putting out and compare against that. But with programming.... I don't know what you do. Well, details about that doesn't matter for me anyhow.

    I think probably what kills a lot of indie projects is not having a methodology to the planning. Like, the common production pipelines AAA is implementing aren't a big secret -- you can get it from plenty of GDC talks and other places -- but most indie dev's, at least from my perspective, seem to be just kind of winging it. Not using tried and true recipes. So compromising too early is only a small part of the problem, I think the biggest problem is not having a crystal clear goal and a very well thought out plan to get there.

    If you listen to any of the AAA directors (or successful indie and AA) talk and share lessons learned, it is clear a major part of their focus is spent getting everybody to understand and visualize the same end goal. Getting a team of people to all conceptualize the same vision has got to be a challenge, but how many small teams or solo-devs even have a clear vision when they start working on their project?



    (apologies to myself for derailing my own thread.)
     
  24. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Just overconfidence is all it is really. If you haven't majorly screwed things up enough to realize your own stupidity, unfortunately I think most people (read : myself) just have to do that before they get the humility needed to really take the time to do things right.

    Which leads me to the same advice I always give to noobs : don't be a sideline spectator speculator. Get in there and screw things up. Make all the mistakes, so that you can learn and grow. It's the only way.
     
    Last edited: Dec 14, 2018
  25. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Yeah rnd takes lot of time, for example for our AI doing the brainstorming and thinking out the best way for flanking path finding etc is the big challenge, the actual code isn't that hard
     
    hippocoder likes this.