1. 40

In my 13 year career I’ve generaly worked at non technical companies in smallish teams, on line of business apps, or retail, online store types of sites. I’ve been on the same stack all this time (java). I’ve found over the years that I’m rarely fully utilized, and I try to fill in time by doing things to improve the code, write tests, documentation, code reviews etc. I feel like I’m really productive because the stuff I work on isn’t very challenging techncally, and I’ve been on the same stack for so long I know it really well. I’d estimate I spend only 25-50% of my time on management directed activities, the rest is stuff I do to keep busy.

So I’m interested to here all of your experience in this regard. How many years have you been in the bizz? What types of companies do you work for? Does your management keep you busy or do you fill in your time with tasks you define yourself? Thanks!

  1. 20

    Been working as a programmer (Perl/Python, mostly the former) for a bit like the last 7 years.

    With full-time employment I don’t think I ever put up more than 5 hours of work per day. The rest have been meetings, discussions or just general office distraction – lunches, coffees, etc. It felt frustrating to waste 8 hours a day (plus commute) to do what could’ve been done in 5 or less. My theory is that employers know perfectly well that pretty much no one can consistently produce 8 hours of solid work a day and that’s one of the reasons that they fill IT offices with toys: table tennis, poll, consoles – all these amenities just to admit to themselves that the 8 hour work day is an impractical relic but somehow they still want everyone around for a third of their lives.

    I’ve moved to self-employment around 3 years ago and I’m not looking back. I average between 3-5 hours a day, I get paid by the hour, I do my job and then I switch to other things instead of wasting time. The rates are a bit higher than on full-time employment so it mostly balances itself out, allowing me to live a comfy life without feeling like I’m dangling my feet under the table for the sake of someone’s outdated ideas.

    1. 9

      Any tips on successfully going self employed? I’m wanting to make a similar move after several years working at large corporations, for these exact reasons (among others).

      1. 1

        It may be a good idea to start with something niche enough to have few competitors but still common enough to find customers. Having something to prove you can do it may help, for example, an open source tool related to the job, or some documentation. It’s also often a unique combination of skills that really helps getting hired rather than a unique skill. Class4 (transit) VoIP is hanting me for example—there aren’t many people who know something about VoIP and are also programmers and can architect and implement automation solutions. And don’t be afraid to openly advertise your services, people need to know you are available to get an idea to hire you.

    2. 13

      I’ve been working “in IT” (mostly as a developer, engineering manager, or software architect, but sometimes as a QA, technical writer, trainer or sysadmin) for 15 years. I’ve had a portfolio career (read: have never settled), so I’ve worked at FB, ARM, the fruit company, Oxford Uni, Telefonica, small app agencies, a medium-sized training company, a national science facility, a growth-stage fintech, and as a consultant/contractor. Currently I’m 50% in Research Software Engineering at Oxford, 50% on running a consultancy.

      There are multiple facets to my answer. I would say that for the last few years, I’ve spent a little over half of the workday “working”, and the rest on something that’s charitably described as productive goofing off. So reading technology news, exploring side problems, participating in technology-related discussions (hello!). During a bad phase of burnout I spent as much of the workday as possible avoiding work, which led to a weird focus on efficiency: I’d find a way to do a day’s task in an hour so I could spend the rest of the day doing something else. I was also frequently absent, not in terms of days off but late starts, early finishes, and long lunches. On reflection it’s amazing I didn’t get fired during that phase (probably because of the amount of work I did in that hour).

      But, there’s a different question we can ask: how much of the work that I’m doing is actually productive? When I’ve been a software architect, my role has been to ensure that the whole engineering org understands, agrees with, and works toward the integrated big picture beyond their immediate team’s immediate sprint goals. So that’s more meetings, talks, and technology demos than immediately deliverable software. As a consultant, I switch between lots of sales and marketing with no paid deliverable work, and lots of paid work with no time to keep the sales side up.

      And then there’s: just what is that work? Oxford Uni unsurprisingly have a lot of time for seminars, personal development, and axe-sharpening, but on the other hand draw very short lines between funding sources and work so there’s a lot of grant application or helping others to write grants that will pay for my time. A recent company made lots of management noise about personal development, paying down tech debt, etc. but in practice everybody was madly occupied with delivering this fortnight’s sprint tasks. I believe that the management genuinely wanted people to be doing those things, and that the team culture didn’t permit them to happen. When I was a junior developer, my employer had a formula: 20% on “overhead”, 33% of the remaining 80% on maintenance, everything else on project work.

      Oh, and if you bill for your time (whether self-employed or not), then there’s a question of whether you’re billing for the time you are heads-down on the project, or the time you are allocated and available on the project. I take the latter approach, because I see too many people on the former one who are too busy cutting down trees to sharpen their axes. As far as I’m concerned, getting better at the job on the job is part of the job, and the fact that I get better is a benefit my clients can take advantage of by paying for it.

      1. 9

        I’m approaching 20 years as a professional dev, for a mix of government, not for profit and commercial companies.

        I have some days where I’m “on” from the time I get in till the time I leave. Those are great, but I don’t think sustainable. And TBH, it’s usually when I’m doing something “less productive” like writing tests, which I can be incredibly absorbing without requiring much deep thought. Or, when I’m answering a steam of questions from colleagues.

        When I’m actually trying to solve a problem (as opposed to bashing out code/talking) I need mind wandering time. Sometimes it’s reading Lobsters, or tweaking/tidying some code, or getting coffee/tea. In the past it has taken me days of what seemed like procrastination before something clicked and I was able to smash out the solution.

        It might just be a story I tell myself, but I honestly don’t think 100% focus works on tricky problems.

        1. 24

          Nice try bossman.

          1. 5

            When my mental health/wellness was not so great I was down to 3 - 4 hours a day and some days were total blowouts. Nowdays it’s closer to 5 - 7 hours usually. Sometimes though I feel like if I walked away from a problem more I would be more productive than locking horns with it for hours. Productivity is complicated. Sometimes working less is more, sometimes working more is more. Effort only contributes to productivity if it yields a return so putting 8 hours a day of solid effort going the wrong direction is worse than 2 hours a day of productive work.We like to believe we aren’t making things worse, but sometimes we are. If you can do that less, you’ll be better without putting in more hours.

            1. 2

              Sometimes I feel like we lie to ourselves about making things worse because what would people think if they knew. Self deception as saving face.

            2. 4

              My first job I started taking naps in the middle of the day after about 5 months. No one seemed to notice or care. I felt sorta bad, but also I didn’t care much. I decided I wasn’t going to learn anything if they allowed me to nap like that. I moved on. Next job I was sorta busy but it was for efforts directed by people that probably didn’t have a firm grasp of the tech they were mandating I use. I left there just because it felt aimless. It was a 9 to 5…so I worked productively maybe 4 hours a day? The most I ever worked while enjoying it was at a startup. I was learning a bunch and really felt I had a stake in its success. It failed, but I treasure the experience. I am working maybe 3 - 5 hours ( 7 on bad days) on average nowadays. Mornings are my jam; best time to find the zone and cruise.

              1. 21

                I decided I wasn’t going to learn anything if they allowed me to nap like that.

                Wait, what?

                Napping is a technique that increases your alertness and improves your overall cognitive capacity, and you felt like the fact that you could do that was a bad sign?

                1. 4

                  Ah, it was more that I knew personally if I kept napping that I would get comfortable and stop learning. Don’t get me wrong, I was big into the siesta perk.

                  1. 3

                    Exactly. When used wisely it’s a huge positive, not a negative.

                  2. 4

                    My first job I started taking naps in the middle of the day after about 5 months. No one seemed to notice or care. I felt sorta bad, but also I didn’t care much. I decided I wasn’t going to learn anything if they allowed me to nap like that. I moved on.

                    That’s interesting. I take naps at work when I need them for productivity’s sake, and nobody cares, but that’s because you’re expected to produce and do whatever you need to to stay productive.

                    1. 2

                      It seems like there are people who can benefit from naps and those who can’t. I find that a short nap only helps if I haven’t slept for over 24 hours, and only to get me from “obviously dead” to “pretending to be alive” state of alertness. Otherwise, it just makes no difference. If I’m actually tired, less than a couple of hours of contiguous sleep don’t help at all, and if I’m not, I will not fall asleep to begin with.

                      1. 1

                        Everyone is different. For me, if I’m tired to the point where I’m not productive, sometimes a 20 minute nap can make all the difference.

                  3. 4

                    I’ve done software development for about 15 years, mostly on web backend stuff, in PHP, Perl, Java & Scala. (Though most recently I’ve focused more on infrastructure.) Industries include fintech, online photo albums, investment banking, luxury fashion retail, and micropayments.

                    I’ve always been an individual contributor, and never had anyone report to me. Whether through luck—or force of personality—I’ve usually had a lot of autonomy. Not enough control over my work and I feel stifled. If left totally in charge for too long I can feel rudderless, and that I’m just gold-plating stuff unnecessarily. Good OKRs, and a strategy, can help.

                    I sometimes feel extremely busy, even lying awake at night observing over problems. I recognise that this is unhealthy and these phases are often followed by a period of light burnout where I feel unproductive. I aim for something in between. A hobby to help take my mind off work in the evenings help. (I play guitar.)

                    Over the years I’ve realised that it is no longer my direct coding contributions that bring the most value. Only so much can be accomplished by a single person. My impact (and satisfaction!) has grown as I’ve focused more on helping others be more productive. This includes improving deployment processes, automating processes, mentoring, training, creating strategies and roadmaps, reviewing & providing feedback on other peoples work.

                    I’m a little disappointed (though not surprised) with the number of responses that calls out meetings as “non-work”. I think this is a mistake. Early in my career nothing felt more important than wrestling with code, but I now try to gently call it out when people quip “back to work!” at the end of a meeting. Meetings are work! Of course not every meeting is productive, but neither is every coding session. But meetings can (and should!) be productive work, and you should enter into them in that spirit. (If they are not productive? Cancel them.)

                    1. 3

                      I fill up ~4 hours per work day with actual work, and another ~hour with meetings and other administrative minutiae that comes with working at a technology company. I don’t feel busy due to two factors:

                      • I work remotely, so I am in complete control of the pace at which I work, as well as my environment.
                      • I work on a relatively mature team that doesn’t govern itself using human interrupts.

                      In principle, I could feel busy, but over the years I’ve developed subconscious coping strategies that allow me to distribute a higher volume of work over a longer series of days instead of ratcheting up the pressure of each individual work day. Granted, my behavior tends to annoy the shit out of agile practitioners, which I personally see as yet another non-monetary perk of my job.

                      1. 3

                        Amazon is at the outer edge of this equation in my experience. When I’m working I’m pushing near 100% utilization all the time.

                        That said my team is extremely respectful of work/life balance and I go home when I want/need to and don’t generally work nights or weekends unless I’m on call and have chosen such a shift because of the extra comp time it brings.

                        1. 2

                          In a biotech, manage a small team in a larger organization. I try to stay cool but I’m a headless chicken. Probably average 1-2 hours a day actual Dev work. But we’re super busy supporting the next product launch, building automation, etc.

                          1. 2

                            I’m pretty new to the business – just started my first full-time job back in September. I work for a big tech company.

                            I am probably buckled down and working 3-4 hours per day. The rest of the time I’m either “percolating” or doing other non-engineering job-related tasks:

                            • Going through our task board to see what needs to be done
                            • Reviewing other people’s code
                            • Reading some kind of documentation in order to make a design decision

                            And when I’m “percolating”, I’m taking a break from coding and listening to music / reading / browsing Lobste.rs while thinking about whatever problem I’m currently stuck on.

                            1. 2

                              It varies widely.

                              Sometimes I’m super-focused on sorting out a difficult technical task. That may involve writing and testing and re-writing code over and over again. The result of hours, days, maybe even weeks of this may be hundreds of lines of code, or just a couple lines that actually works correctly. Many hours may be spent staring at things, poring through logs and data graphs, or just kind of zoning out while pondering ways to do things. IMO, it’s all ultimately highly productive, even if it looks like I’m doing nothing and have no objective output for a while.

                              Sometimes I’m banging out easy technical tasks. You can usually solve these things rapidly and produce tons of output. Though with well-designed systems, there may not be that much of this kind of work to do.

                              Sometimes, I’m holding or arranging meetings to get consensus on a solution, get feedback on possible solutions, discuss how to test something, etc. This kind of thing is necessary to create large and reliable systems IMO, even if the output in code changes is little to nothing.

                              Sometimes I’m just available to answer questions and solve problems. If you’ve been working productively for years at the same place, you ought to know and have created enough that people need to ask you questions sometimes and you can help people solve other problems.

                              1. 1

                                For me it depends on the sort of work. There’s only about 5-6 hours of creative and thoughtful programming in me, the kind that is truly productive and leaves you satisfied at the end of the day. Those hours are interleaved with breaks where I do shallower work, chat with colleagues or keep up with tech news.

                                However, if I’m debugging code and staring at GDB, I can see myself doing that for 7 hours straight without really noticing time go by, which is probably not healthy…

                                1. 1

                                  For a lot of my career; there was probably 4-6 hours of focused work on average. Mentoring, admin work, and design work would fill in the rest of the time.

                                  I will say that all the items on my resume that I am especially proud of were closer to 8 hours of focused work. It puts me at risk for burnout so it has to be managed carefully, but I can say it has produced some rewarding work.