I honestly needed to hear this today, so thank you. I'm at work trying to work out someone else's uncommented code and have just been staring at it mumbling to myself. I'm new to the position so I'm anxious my new coworkers will think I'm just dicking around... This is the validation I needed. Thanks everyone!
Say out loud to yourself, "What the hell is this?" or, "Why did they do it this way?" once in a while. Everyone around will think you know exactly what you're doing.
From what I learned in my workplace, it seems that for most people the best way to appear competent is to continuously criticize the work of your colleagues
I don't know your circumstances, but it is usually OK to just ask. Especially if the original author is around. Don't do it all the time and you'll be OK. Even can come with positive image out of it, if you ask the right questions.
Other than that, I found that the current llms like ChatGPT (and perhaps Claude) are very good at explaining code, most of the time, for some languages ;)
Hey, thanks for your concern. I'm asking tons of questions, don't worry. Unfortunately the last 3 keepers of this code are no longer around to ask, thus the staring at code.
One place I worked had a small park, so sometimes I'd go for a lap or two to think something through - the fresh air, mild exercise, change of scenery and lack of distractions wroked wonders.
Nothing more enchanting than when the answer to your coding problem literally comes to you in a dream. Had an array issue in C++ where I literally woke up saying "I don't need a ghost array to search after all is said and done, it's already sorted!"
My personal favourite is to break from staring after 30 mins, exclaim, “Hang on, we’re going about this completely back to front!” then spend the next hour deriving from first principles, only to arrive back at the original problem, but now with slightly different notation. At which point I realise that all I’ve done is get myself back to my starting point… Then it’s back to the staring.
Aside from "learning to spell hypnotized or just trusting your phone knows better than you," there are a bunch of tricks we use.
Staring at it and going over the code path
Talking to a proverbial duck
Going out for a proverbial cheeseburger
Sleeping on it
Half of these tricks force the brain to stop confirming and start seeing, which is our biggest error source. The rest of these tricks let the problem ruminate in our subconscious which is sometimes really good at solving shit.
I wish I understood how to use them. I have half written scraps of paper and random text in random text files. Notebooks are about the best I can do. I can't write very well on a vertical board. It is really really uncomfortable and I end up obsessing on how bad it looks over solving the problem. Sometimes drawing on my iPad instead works, but that is another place to look for things.
I do like using Markdown + Mermaid. Obsidian is a nice little note taking app once I got it configured. It just takes me forever.
I work in a dedicated room in my house (remote developer). During the day I don’t really need to turn the lights on—windows and a skylight. The sun sets and sometimes I really just don’t notice. My wife will come in at some point and scold me for working in the dark, claiming it’s bad for my eyes (as if staring at a screen all day isn’t already).
I actually rather enjoy that rather not-subtle marker of the passage of time and how entrancing “the zone” can be such that I fail to even notice that.
My math teacher in high school always said "math is 90% looking" and if you didn't get the task directly: "look again" ... Funny part is, that actually worked for most of the class xD
Taking a break helps a lot. I like to multitask for this reason and to not feel like wasting time. Also, important to remember to eat. There's an obvious drop in my clarity of mind right before lunch.
100%. Really, just go do something other than what you've been focusing on, then come back to it. When I was coding, I would go take a walk when I'd get stuck. 9 times out of ten the answer would pop into my head when I'd stepped away. A few times I even dreamed of the answer while sleeping.
I'm a carpenter, I do high end stuff for rich people with really expensive pieces of wood. I'll stare as much as I need to on the issues I have or even before starting anything. Need to think about every way it could go wrong.
I had a theoretical math professor. He said something along the lines of, "Being a theoretical math professor is the best job in the world. You can lean back in your chair, put your feet on your desk and close your eyes, and no one can tell if you're working or having a nap."
I don't like coding, so I became a systems administrator.
Today, I spent about three hours "coding" a script. Before I started my testing phase to see if all the code put together would work as intended, I just did a pass over the code. I literally just stared at it for a solid 20+ minutes to make sure it made sense.
I imagine any form of "real" programming is going to require a lot more staring for a lot longer just to make sure the code isn't profoundly screwed up.
Sometimes, very rare but still, I can stare at the screen for the whole day and write zero lines of code. These rare days are the most demanding and the most stressful. Any monkey can "write code", understanding the business logic of a complex application - that's a very taxing mental work.
Whenever I'm asked for help by IT colleagues, I never say I'll help solve an issue. I just say "Sure, I'll come help stare at it for a while" - it's the most I can really promise.
Programmers do that a lot? I always just start trying stuff in the command line until it works. It's in research though, so maybe different from what is typical developer stuff?
"Fuck it, let's try [blank]" is absolutely a valid debugging mechanism. Whether you get the same problems or fascinating new problems - you learned something about what's wrong.
Now go take a walk and let your brain figure out what it means.
Look IDK about math, but I know about programming: "stare at it" is bad advice. Give it a minute or two, then get up and go for a walk or go to bed. Let your subconscious stare at it instead; it's actually better at this stuff than you are.
If I'm ever staring at math, I'm absolutely not processing visual information while doing so. It's more that like, I'm staring off into space and thinking and "math on a whiteboard" just happens to be the last thing I was looking at and my face is still pointed that way