Ask HN: Why aren't you coding?

221 points by boffinism ↗ HN
(Disclaimer: I'm building up material for https://whyarentyoucoding.com/)

I'd love to know, from developers who are being paid to write code, what it is that's stopping you from coding (apart from the obvious, that you're busy browsing HN!).

315 comments

[ 3.1 ms ] story [ 297 ms ] thread
Simple, it's Friday :)
There's always more reading/planning than typing. Maybe that's part of coding?
Because I am reading and commenting on Hacker news!
Because in a sense I'm being paid not to write code. Company put me on furlough due to budget problems, but are paying the remaining 20% of my salary, so I'm basically being paid my full wage to not work.
This year: most of the time I am not coding is because I am making sure my 6-year-old is paying attention to Zoom Kindergarten.
Unmotivated, I need a break T____T
What are the tools for making such comics? :)
Reading papers that would need coding soon.
I guess I have coder's block... the thought of a big project makes me more reluctant to start.
I was in one of these for a few months. Strangely enough, changing all my editors color schemes from darkmode to whitemode helped me to overcome it. Over time I went back to darkmode for the most part.

Maybe it is similar to working from a different place? (e.g. coding sitting in park instead of the same old office day-in day-out)

I definitely can second this, changing something about my tools can jump-start stuff.

Another example is "productivity apps". I was using one for ~1 year and it was going great until the last few months. I simply changed to a different one and now I'm using it much more than I was. I think just changing the stuff you use all the time is something that is under-appreciated

The trick here is to break it into the smallest possible pieces and just start doing the first piece as your only task for today.

Most likely that will build momentum.

Can also try accomplishing a small not-work task like laundry or something to solve it from the other end. (You’ll feel like you can take on bigger pieces because you just accomplished something)

Lastly reading the specs or playing with the app with no other windows open and eventually boredom will take over and you’ll start making bits of progress.

I am paid to solve problems, programming is one part of that, thinking about the problem and the code is a prerequisite to programming. Sometimes one needs to step back and let things sink in rather than continuous action (programming)... while doing that you can even play games, I'll admit some activities are better than others for the purpose of de-focusing your subconscious - but sometimes you also just need a short mental break, that's often when I go to HN.

For the same reason our job's don't stop when we go home (or turn off slack) either, we are essentially paid to think and our brains do not care about the arbitrary thresholds set by 9-5. I fully realise how much someone is actually able to practice this has more to do with the organisation they work for appreciating the difference between cognitive and manual work.

That period of time between 5 and 9 the next morning is actually there for the mental break you mentioned before. I'm not advocating a very strict separation between work and free time, but if the line between the two blurs too much (made easier by home office), your work might completely invade your free time, which isn't good either...
> work might completely invade your free time

Yes, I agree but also feel it's a natural risk for any cognitive work. But not every day feels very effective forcing work hours for me, it's a hard balance, one I usually ensure stays in check with some outdoor activities that are currently not allowed :/

While off topic I’d echo this for managing coders as well.

A lot of the problem set is debugging people and teams. For example “why is x person performing differently” and the debugger are time boxed to 1:1s, sprint cadence meetings, and looking at output, so the thinking between those debugging events is increased because you can’t just brute force it like a sticky code problem.

I think the pandemic has worsened this. Pre-pandemic I had a 40 min walk buffer to and from work where I’d naturally start thinking about my own life. Others had dedicated offices at home and other social interactions, or a coworking space.

Now most social interactions and validation for many come from work slack or zoom, no commute for everyone, and for those in smaller spaces their living room or kitchen or bedroom is their office so work is always within reach and their is no buffer. There’s also not much else to do.

So even if you can pull yourself away from your laptop your thoughts are more often than not focused on solving these kinds of work problems.

Came here to say this. Coding is one part of the job but mostly what I get paid to do is solve problems. I've worked on projects that were more process oriented and produced zero code whatsoever and still had the sort of outcomes good software does.

The vast majority of my job, outside of writing efficient and secure code, is learning about other systems and domains. Software Engineers can be employed in anything from financial technology to healthcare to kids toys. You're going to have to step outside of your depth a lot and at least having some shallow platform to stand on is imperative.

I’d love to hear about a project that produced zero code. I can’t even imagine it outside of compliance or regulation maybe.
I think 1/3rd of the problems I solve involve no code changes?

Often it's showing people another way to use an existing feature

Security, integration, exploring a new feature or design that didn't work out, removing old a/b code for completed experiments....
The last one was basically a governance project where we redesigned the processes around enterprise decision making.
> For the same reason our job's don't stop when we go home (or turn off slack) either, we are essentially paid to think and our brains do not care about the arbitrary thresholds set by 9-5.

Speak for yourself. Some of us have been there, burnt out and had to rebuild our relationship with work in a healthy manner. I think no matter what you do, if it is thought work and you don't find a wat to turn it off, you are doing yourself a diservice.

I loved what I did for 10 years, then all of a sudden I didn't. It was like my brain had cottoned on to the fact that software was where all my stress came from and I felt ill even thinking about sitting at a computer. I have rebuilt my relationship with software into a more healthy one since then, but it bares mentioning time again. The software industry will burn your wick at both ends and then toss you asside when you're no longer young and stupid enough to work more than a normal work week.

Sorry to be so cynical, just be careful is all.

"The software industry will burn your wick at both ends and then toss you asside when you're no longer young and stupid enough to work more than a normal work week."

THIS.

One way to not care about the arbitrary thresholds set by 9-5 is to happily not think about work during those hours, just as much as you may think of it while falling asleep.
It's a good point, but, to be fair to parent commenter, they may have meant something different.

I think they may be referring to the phenomenon of walking away and having the solution "come to you" while doing something else. It took me a while to appreciate this, but simply walking away is often the fastest way for me to solve a hard problem. There I am, lying in bed, or cooking, or whatever, and BOOM the solution is presented to me - just like the divine inspiration described by so many. Of course, now we (hopefully) know that it's probably less a matter of intervention and more a matter of brain chemistry, but true regardless.

Yes I hope my tone was fair, I didn't want to be too cynical. There is definitely a spectrum between "overworked, burning out" and "love my job and sometimes I think about it at home too".
How do you not think about work outside of work though? My current job is a shitshow, and I would like my thought towards it to only happen 9–5 while I get paid, but my brain is always thinking about whatever I’m stuck writing code about even during my weekend or outside work hours. I don’t work outside work hours but I can’t stop the thinking either. You make it sound like there is an on off switch, but I don’t seem to find mine. Do you have any tips?
Definitely not an on off switch, it took me ages to get better at turning work off. I think the only advice I can give is to make sure you have non-computer/software hobbies, and practice being more mindful in general. Being mindful lets you get better at noticing when you've got yourself in a work/stress hole again. Thinking about work is involuntary most of the time, you just end up there, but if you can train yourself to notice it you can hopefully get better at stopping it.
This technique helps me break a thought pattern. I ask myself (regarding my situation where I physically am right now and then expanding outwards to my life)

“Is this pleasant?” “Is this unpleasant?” “Is this neutral”

For example, I walk into a room thinking about work, sit down still thinking about work, and finally notice I’m thinking about work, so I ask myself the questions. Is the chair alright? How do I feel? Hungry? Cold or tired? No, this chair and room are comfortable. I’m safe, my family are nearby, I just ate a nice sandwich etc... that’s pretty good.

It forces me back into the present. Added bonus, the moment you label anything as neutral it transforms into pleasant, because anything not unpleasant is pleasant!

You could try it continuously or set alarms or just ask yourself often. Whatever suits you.

> our job's don't stop when we go home (or turn off slack) either, we are essentially paid to think and our brains do not care about the arbitrary thresholds set by 9-5

I used to believe and practice that, but that's what led to a lot of life dissatisfaction and burnout and near-burnout.

Sure, not saying I never think about my work outside work hours, but these days I start work in the morning, stop in the evening, and in general don't worry about it until the next morning. That tends to make the hours I am working much more productive, and avoids huge variance in productivity as I swing toward and away from burnout periodically.

And I say this as someone who loves programming, and did it as a hobby before I did it professionally. For a good 8 years I didn't want to touch a code editor outside of my job; I just had no creativity and desire left for my own projects after being always-on work-wise for so long. Now that I've enforced more separation between my professional and personal lives, I'm able to do it as a hobby again sometimes without being burned out on it after work is done.

I got promoted to tech lead for writing good code and now I have subordinates who wrote shitty code which I have to review. So I don't get to write code myself.

tl;dr: not my KRA anymore.

Some recent reasons:

1. I am stuck in a meeting

2. Everyone is arguing about requirements in Slack and I am waiting for that to sort itself out.

3. I am coding, just a Reddit script instead of my work.

4. A fellow developer friend is also not coding and wanted to chat.

5. My Surface blue screened.

6. I have to write a pull request

7. The API I am working with is down

8. With work from home, my thoughts drift to napping

9. I am on Udemy figuring how to code it

2.5 the requirements fifmg sort themselves out over slack/meetings, so now I'm writing a doc to close them out.

-> my afternoon today

"because I'm compiling the kernel for the 8th time, waiting for my manager to ask me what I'm busy with so he'll know I do a job he can't. Witch kept me hired so far" ( not from me, yet true )
I'm spending less time coding now, but still writes more code than ever before. That's because I'm getting better at my craftsmanship. The issue is what I'm doing when I'm not coding.. meetings, chats etc. Total waste of time if you ask me.
1. Napping 2. Obtaining coffee to stop the onset of napping 3. Code reviews
Because I'm waiting for another developer to finish his part of the code that my part of the code is supposed to talk to.
I'm constantly bombarded with "quick" questions from coworkers about how some part of my code works (or more often why it doesn't). After several such interruptions it's harder and harder to even try to focus, maybe some kind of neurosis, fear of being interrupted once you are again in flow?
I just get bombarded with the likes of "Excuse me, but how do I view the code behind an SQL view?"
Ehh, mine are typically very valid, specific and informed questions. I'm blessed with very smart coworkers, but we are seriously understaffed and documentation is lacking. When you "own" very big lightly documented system, questions happen.
Try the Pomodoro Technique and make sure to close Slack and other distractions.
If you are on a team, we’ve addressed this by having a single dev responsible for all incoming questions in our team channel. Any DMs are directed back to the team channel for the designated on call person.

The on call person, for the week, doesn’t have sprint commitments. If they have time, they can choose to help the sprint or work to reduce toil.

I’ve been there before. Would recommend starting a document and answering the questions there then linking people to the doc after you’d added their question/answer.

The habit of check the docs first and maintaining docs in this way is really critical for remote teams and bandwidth.

I've been in the same situation and I found the solution was to do less. Unblocking coworkers is valid work, and spending more time on code so that they're not blocked in the first place is also very useful. By doing that I found the overall team velocity went up even though my personal point count fell.
I set up a daily "meeting" at 1pm after lunch to batch all those questions together.

People tend to have similar questions, and other team members have answers I don't, so having everyone in a room together is handy

(comment deleted)
Thinking through a very complex and delicate concept, trying to come up with the best way to solve it. It's been a few weeks.
Working on a project that is being wound down due to lack of sales but the remaining tasks are asinine compliance requirements imposed by the new parent company - we have been acquired recently - that are "non-negotiable" even when the project is going to be sunset soon. Management also is dragging its feet in finding a new project for me. Motivation to play along is low. Working from home as single is doing its own part. Management doesn't seem as isolated because they're in calls all day or have family.
I know this isn't an advice thread but 1) milk it while you're still collecting salary and 2) make sure your LinkedIn profile is fleshed out and your resume is clean and up to date 3) hit up your former coworkers to ask how their new job is...maybe let it slip you're looking to move

Good luck!

(comment deleted)
The most common reason I'm blocked from coding is that I'm still doing the analysis necessary to figure out what needs to be coded. Examples:

- I am currently not coding because I have a profile running, to figure out which part of the code I'm working on is slow before fixing it.

- Shortly after pandemic lockdowns, I was not coding because my employer had a problem, and we could only come up with two solutions to it. Both were very high-touch, in the sense that either would require hundreds of dev-hours divided across at least a dozen individual developers. I was not coding for about two weeks there because I was the one tasked with doing an inventory of all that work, so we could make an informed decision about which solution to pursue.

The other way of putting this: The job of a software engineer is not just (or often even mostly) coding.