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!).
I am getting paid to get things done in a good manner. If I wanted to have a house built for me, I would not expect to pay somebody and immediately have them start laying bricks without them looking at the land, taking soil samples, sketching up drafts of what the house should look like within the constraints available, and then plan the foundation of which to start building.
If they came and immediately just started laying bricks, I'd know I have a really shitty house builder.
I mean no offense by this, but "why aren't you X" is a bit naïve and comes off as lacking a good amount of experience in that field. There are many reasons why not doing X is right, including social/mental recovery and prevention of burnout.
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.
Had a coworker get promoted way past his level of incompetence. He never accomplished much before, but afterward he spent all of his time lobbying for his ideas and undermining those of us that were trying to get work done. Wasted a lot of time dealing with him until mgmt got a rare clue.
Another coworker would ask a 5 minute question and an hour later come back and spend a 1/2 hour telling me over and over how my answer helped him solve his problem.
Incomprehensible emails from corporate telling us something that might or might not be important. We had to try to decipher them to be sure. Much unproductive discussion ensues.
Had an company exec that liked to go around glad handing everyone. Nice guy, but man could he blow a couple hours of our time.
Woman in the next cubicle arguing with her kids over the phone - loudly - for two hours.
A loud snuffler in another cubicle. Still can't understand how he didn't give himself brain damage.
Yak shaving: get a bug report. Run the debugger: crashes with no message. Research debugger failure to no avail. Go to file a problem report: reporting tool is down.
I'm sure a lot of people have this problem: naming things. Can't code until you figure out what that variable should be called.
Whereas my programming and design work has only reached tens of thousands interacting with it over the last two years this is hopefully seeding for a big future.
Feature request: when someone goes to "https://whyarentyoucoding.com/", can you cleanly redirect them to "whyarentyoucoding.com/NAMEOFCURRENTCOMIC"? It makes it easier to share the latest comic since sharing whyarentyoucoding.com results in a stale link after a few days.
I've been on sick leave for over half a year now. Luckily I am in a country where I am protected, but I'm receiving less salary as the law indicates. I'm trying to focus on the good things in life. In my downtime from work I've tried to start a few personal projects, but I just can't seem to stick with it and I end up just playing video games all day. I just wanna crawl into the fetal position and die sometimes. I've often contemplated suicide but I know it's not the way out and it'll hurt the people who love me more than it will help me. I haven't told anyone the last part yet, including my therapist. I know I'll never make that move, but it has been on my mind.
I'm working 2 half days a week now, and it's hard. Therapy helps, even if it's just someone I can talk to without judgement, but I'm afraid I'm going to have to stop soon because it's costing me too much. Unfortunately the waiting list for therapy covered by insurance is extremely long.
Covid was part of the problem. Because of it, we just got more work and longer hours and I was given some high stress projects and clients that were way beyond my capacity. Couple that with WFH and a bunch of other personal things that happened, I got a burn out. Without going into details, I feel my employer failed to protect me and our relationship has soured. I want to quit and find a new job, but because of my situation I can't just start a new job and work 40 hours again. OTOH continuing where I work now is just causing me more and more stress and anxiety I'm also underpaid for my level, and on top of that I'm only earning 70% because of my sick leave. Rock and a hard place and all that.
I'm lucky to have my partner, she tries to be understanding but she's also had a tough year.
Anyway, that's why I'm not coding.
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
- Depressed
- Anxious
- Covid-induced (likely) brain fog (maybe the depression/anxiety also is from presumably having covid back in April)
- Can't find a freelance client
- Broke
- Want a passion project
- Want to be part of a co-op not a cog in a machine
- Want to be on a team again
- Can't pick a side project to work on for some cashflow
- Too busy promoting my gofundme to pay rent
- Want to be a game dev this week
- Will want to be a systems dev next week
- Wanted to be a blockchain dev last week
- ADHD (apparent?)
- Mid-life crisis? Or is it just covid brain
- Wow, this has been catharctic just free-writing like this.
- Are you still reading this?
- Really bad schedule
- Brain struggling with organization
- MOTIVATION <--- mostly that..or the lack thereof.
- I'm 41, I guess as senior a dev as you can be in php/vue, feel like a junior dev, imposter syndrome.
Of course then there are days when I just don't feel like it. I get paid hourly so I don't feel bad about it. I also get paid over twice what is technically the hourly rate of a normal employee. This leads me to think that companies expect employees to spend half their time doing what I do when I'm not billing them -- letting ideas percolate.
Sure, I am polishing up some other projects, slowly extending them. You know the drill -- better commentary, testing for more unusual conditions, making the "pipeline" reach further in both directions, that kind of thing.
However, I have a Difficult Problem that will require something special to get me going. The last time I was faced with a similar issue (some rather geometric issues, given that it is GIS), I kicked it around for months. One night I was ill and had to take my usual medications for it, and as I became very sleepy, the solutions began to appear to me as well-illustrated diagrams in different colors, with drafting-style callouts and such, a long parade of what I had been looking for. When I woke up, I drew them out and after then, I could begin to code.
Everything else I am doing is basically pick and shovel work of coding. For this, though, I await the call from my muse.
> The revised bill arrived: $1.00 for turning the screw; $9,999.00 for knowing which screw to turn.
is preferable to
> $10,000 for building a new printing press system from scratch.
Some programmers are much more valuable to their employer than just for the code they write. You don’t become a 10x engineer (if such thing even exist) by writing 10x more code but you can enable others and make sure things work and easily deliver multiple times more value.
Good managers understand this very well.
1. I am in the 5th meeting to discuss the details of a 10-page document about a feature that would take 100LOC to write if we weren't using Spring.
2. I am waiting for a dependency manager that is incapable of resuming downloads to download my dependencies from the private repository of dependencies which is located overseas, and my ISP has shitty QOS to that location, and the company's dozens of network and infra people don't think it's worthwhile to set up a proxy on this continent. Or I am using wget to download the dependencies and manually moving them into the dependency manager's cache on the filesystem, which is still slow, but more certain to eventually succeed, since wget can resume downloads.
3. I am learning in my 1:1 that if another developer on my team has attempted to set up some alerting, and our QA has signed off on the alerting, and our SRE has signed off on the alerting, but the alerting is not actually working, it is my responsibility to ensure that the alerting is actually working before my manager learns that it is not working. So I should just do all the work that nominally belongs to my teammates all the time, and delegating tasks is some fake thing to make others feel good, not an actual way to designate a DRI for an objective.
Why am I not doing that right now? Because I'm waiting for some of my mistakes to get enough heat into the wood stove so I can leave it to its own devices and head to the shop.
If I wander HN in the same mental fugue state, I often find things that save me effort later.
The unfortunate reality is that developing roadmaps/managing stakeholders/building team collaboration takes a large amount of time.
Arguably 90% of this effort could be eliminated if the number of stakeholders was reduced, or the company exercised more trust that their engineers were working on the right things. There is a tremendous amount of waste introduced by the endless tracking of engineering deliverables.
Who is paid to write code? I'm paid to ensure my team delivers quality software, on time and to spec. Typing out code is the least difficult part of that.
If we include the whiteboarding and sketches, I'm coding all the time! If we're talking about literally inputting code, well it's because it's very difficult to solve hard problems without some sort of planning first.
Also, administration of issue trackers, etc. Meetings. Helping a coworker. Writing documentation. Waiting on a response from a 3rd party vendor, etc.
The larger system you work on, the larger fraction is spent on non-coding. I happen to work on a source base of ~14 million LoC.
So I’m not coding until I get promoted. I got a raise and a promotion last year, did about 2 weeks of work to give the management the marketing feature they wanted, and now I rest. I’m currently holding out on another marketing feature because the management has no choice but to go with me (deadlines, talent challenge, budget challenge). So I’m using my skills as leverage to earn more.
I told my VP that this feature can’t be delivered until I’m made a Director.
I only code productively between the hours of 10 pm and 4 am. If the baby sleeps.
Morning coding time is spent fighting with my inner manager about how to present last night’s work at standup.
Afternoon coding time is spent in a stupor wondering why the coffee has no effect anymore.
I do try and find time to code on the weekends, but the pandemic has all but destroyed my motivation to do anything beyond the bare minimum.
1. I'm simultaneously filling out performance feedback while supporting infra and a team who is developing said tool.
2. I go to merge code from said team to fix a UI/UX issue of decent urgency. Looks good, builder succeeds, deploy to staging quickly to confirm before going straight to prod. Deployment fails. Odd. Check, odd errors. Turns out JFrog is experiencing an outage and that's a dependency on the builder, keep that status page open, go back to actually filling out performance feedback.
3. Get some unusual flakiness on the performance tool, don't think much of it.
4. See update from JFrog, they are down due to a GCP outage. I go to GCP to see what services are down, and Cloud SQL (the database the performance tool is on) is experiencing issues.
In summary, GCP goes down while dealing with a bug in a performance feedback tool that I am both in the middle of using and also assisting with in a non-coding capacity. There's some non-coding for ya :)
- 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.
Yesterday I was not coding because my simple change required a bloom filter. I spent a little time finding an appropriate package. I went to import it and my IDE couldn’t. Now I am trying to find why the the manifest is borked, decided to re-pull all dependencies from scratch, find out three of them are incompatible, so I have to figure out what version to pin them to, etc. One lib had a breaking change in a patch version that I could address in our code. Cool, now back to using a bloom filter...
And our integration tests are more and more brittle as we put more and more services into our docker compose files. And they take longer and longer.
You don't usually get overtime or benefits, so working more than ~120% time sets a bad precedent. (It's good to do right by your clients, and people appreciate not being specifically billed for small things)
Setting aside time to not-work is a good hedge against getting over-committed, especially since individual contracts can ebb and flow in the volume of work required.
Also, do you realize exactly when you are asking this question? It's two days before Valentine's Day, and a Friday evening for most readers. I know this is Hacker News, but I'm kind of surprised at how tame the responses are.
Only slightly exaggerating. Still, it's no fun being stuck between loving to code and building virtual machines with my own hands, and loving to lead teams and drive projects and see the amplified output of a group working together.
Coding has the seed of burnout. Not everybody ends up burning. Most people control it. Some people build barriers to contain it. Some people develop intrincate kinds of neurosis. Some people use drugs. Some blows up.
Dealing with machines is frustrating. Dealing with humans too, but machines are more difficult to hate. The printer scene in Office Space is hillarious just because that.
However, customer meetings are exempt, so the time previously taken up by meetings with co-workers is now used by sales and project management to "improve communication" about the customer needs or to "give them higher visibility" into our (non-existent) progress.
I'm coordinating another devs too and that costs less time then meetings to projects. We don't have the best product owner culture, so I need to fill that role too. But we are working on that topic atm and we are reaching the first goals.
It's funny and I like it, but sometimes I just block time in my calendar to do tasks two weeks ahead. So nobody is able to schedule me on a meeting without asking before.
That makes most people think about if I'm really necessary.
But honestly the fact is the sheer complexity of the problems I'm looking at requires so much thinking. That complexity wasn't there in the older days. There were also a lot less people involved in a project and that causes added complexity, in fact, exponential complexity to most changes in code, since code has become product.
Code is now of biblical importance. In the olden days, it was about getting things done. Today, you write code that could make or break the company. People judge you on 5 lines you've written 6 months ago within thousands of other lines; the more experienced you are, the more ways you can implement something, with many consequences compounded by who's going to use it and how within the next 5 years.
So, a lot of my time is spent making sure I give my team something they can work with.
—
Another one is that our dev environment is broken. Our developers have a bad habit of deploying their local branches without integrating the latest version of master. And suddenly the UI devs are twiddling their thumbs because someone has to run a 20+m deployment to get it back up to date.
1. On StackOverflow learning more about how C# works under the hood to understand memory/CPU usage (newer to C#, used C++ in a past life)
2. Building/debugging a spreadsheet in Excel (not a software engineer by job description)
3. Debugging software issues on hardware by messing with the hardware
4. Thinking about how to code to solve the problem; drawing/writing things out, etc.; rather than just diving in head-first (need to do this more...)
On monday, I will git pull the repo and add some test the team needed to write, but had no time to code.
1) I can't concentrate with the sound of this dickhead next to me eating 5 times a day.
2) You keep asking me why my ticket isn't done yet
3) I'm troubleshooting this other problem for a customer that I'm for some reason supposed to do concurrently with my assigned tasks.
4) I'm not interested enough in creating what is ultimately a html/css page, but that has devolved into a complex state management, component architecture, strict typing, and build system monster.
5) Meetings, though the last place was reasonable about them for the most part.
If I were to try and answer why I would be coding, the answer would be that the problem is sufficiently complex or new to me, and I have the mental and physical space to tackle it. Every one of the above 5 are constants in most workplaces, and it burns me out to the point where I don't know what compels me to keep seeking jobs.
For me, it is definitely schedule anxiety. If I have meetings throughout the day (I do), forget it.
Why aren't I coding? Because it's the middle of the day. I'll get going at 7-ish. Or tomorrow, when everyone else is taking their kids to the park.
Why aren't I coding? I have perf reviews that need to be completed by Wednesday. I HATE PERF REVIEWS! Unable to function.
Why aren't I coding? I have to do a presentation next week. I HATE PRESENTATIONS! Running on zero sleep. Unable to function.
Why aren't I coding? Because we are hiring. Always. Damn. Hiring. Non. Stop. Interviews. Please make it stop.
Why aren't I coding? I already have 4 changes out for review. My git skills aren't good enough to keep stacking these things and keep them straight in my head. I'll rewatch The Expanse while I wait.
I feel this way because over a year ago I began a project in the hopes of answering a single question. Every day I am looking for information that might help me answer that question.
Some people would argue that I should stop trying to answer the question and instead try to test things in code. That the process of coding will help me solve the problem. For this problem, I disagree. There is so much I don't know that sitting down and testing things feels like a waste of time. I refuse to program until I have the structure of the program cemented into my brain. Not every single little detail, just the big picture.
When I program, I am chasing an idea. And if I don't fully understand that idea, then programming it becomes so much more difficult.
I still think it took too long to complete some tasks. They would occasionally bog down while I had to noodle with existing code to be able to add new features. So even if I'm coding, I may not be creating value but rather I'm paying down the company's technical debt.
In other words, I'm not working on The Real Problem, I'm adding a feature.
Sometimes it will be coding, sometimes it will be asking questions, sometimes it will be thinking, etc...
The more senior I become in my career, the more I realize that less is more, with coding. There is no thinking tech debt.
I rarely write any code myself these days (and when I do, I make sure I'm not doing that in any critical path of the company).
Barely just enough to stay sharp to remain an effective tiebreaker and stay respected by a highly capable team.
Mostly prototypes, tracer bullets, idea scribbles and PoCs.
Other than that, I focus mostly on distributing knowledge, connecting the dots and lay the tracks forward to make sure we as a team build something that creates value for the company and doesn't have to be thrown away.
Writing more code myself would be a dire waste of company resources.
Not only they reduce the team output (pairing is acceptable because you're doing a pull request review at the same time, mobbing has a driver and someone helping around and the rest of the team barely follow along), they are also incredibly draining and I can't bring myself to do much more when the session is over.
I tried to raise it as a problem but we want to standardise practices and "be more collaborative". We're getting culture mandated from above and they hired an agile coach.
On the one hand, everybody wants people who can write code and keep them at the highest productivity level and on the other hand, code writers seem to care about not writing too much code, because all that new code must be maintained and might create necessary problems in the future which need to be solved :-D
I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
I am a scientist, paid to write papers, grants, and a summary of my PhD.
Now why am I not writing the grant?
Because I would rather write code
Since then I’ve learned it’s best to spend more time on a whiteboard or notepad than to jump straight into an editor - measure twice, cut once!
Most of the problems to solve involve multiple teams, and getting timelines and interfaces right takes a fair bit of talking, drawing and writing. Once that's done the coding is quick and simple
I'm not paid to code though, coding is incidental to the engineering
I have to break through all these barriers to get to spend a minute after work writing code. Before pandemic, would happen like once every other week, maybe. Now it's like once every three months.
It's February, it happens. As manifestations of seasonal depression go, it's really not bad, compared to spending a month wishing I wasn't alive.
Been keeping up with exercise, eating right for the most part, seeing friends a little. I'll get through it.
I can't drop out of my job to start working on them because people rely on the money coming in from my current job which consumes all my time and energy. I could try to raise investor money but as I said, I don't know how to monetize these ideas or at least keep money coming in so no good investor would give me money and I refuse to commit fraud.
* various political machinations behind the scenes
* the gutting of the team I'm on
* the sunsetting of the project I'm on
* my contract coming to an end
The temptation to just browse reddit, twitter and youtube is one I'm struggling to resist.
Waiting for units tests to run
Finding the perfect Giphy to slack my colleagues
Fetching coffe
Installing OSX updates
More seriously, I'm continually getting interrupted with support cases, and my head is destroyed.
I'm being paid whether I write code or not, so there is that.
I know ultimately I want my own product. A simple, niche, probably boring, product that myself and my wife can maintain, and ideally - pay for our living expenses. That's the big shiny goal.
My agency (of 8 years) was acquired late last year, and I'm currently a little burnt out. I have so many ideas, a smattering of self-doubt, and I think deep down a bit to prove to myself.
So at the moment i'm taking a break, and focusing on something a bit left-of-centre (for me at least).
I am writing all my experiences of starting and running a software agency up at https://devtoagency.com . It's oddly cathartic, and as somewhen who has never written before I am finding it a mixture of fun, exciting, nerve-wracking and again - sometimes self-doubt inducing.
For the first time in my life I am also part of a community (on Twitter). I am conversing, and helping new developers, and it feels good... It's not all about "me", and I think that's what I need this minute.
This just turned into a weird self-help exposé ;)
TLDR; I am focusing on helping others through writing and community building.
You're imposing your own incorrect assumptions about what developers are paid to do.
007 films
tl;dr: not my KRA anymore.