Live data from Hacker News

Talking, Typing, Thinking: Software Is Not a Desk Job

daniel.fone.net.nz

31–40 of 78 posts

Re: Talking, Typing, Thinking: Software Is Not a Desk Job

#32

Alright -- how do you improve the ergonomics of thinking?

Fresh air in a room (CO2 levels), clean desk and computer desktop, adjust noise levels, offload non-essential thoughts and ideas onto paper, keep any other distraction levels down too.

Re: Talking, Typing, Thinking: Software Is Not a Desk Job

#33

There is no substance here at all. Making software is still very much a desk job and author only mentions "ergonomics of thinking" without giving any concrete ideas at all. If it is news to you that making software requires thinking then I am very worried what you have had delivered before this. As others have mentioned the reason why developers optimize for ergonomics of coding instead of thinking is because that is…

Grinding out web apps is a desk job. If you're lucky enough to have one of the software development jobs which involves pushing the boundaries, a lot more time is spent thinking, planning and problem solving than typing.

Re: Talking, Typing, Thinking: Software Is Not a Desk Job

#34
I tend to do a lot of my problem solving laying awake in bed at night. Either I can't sleep or I wake up in the small hours of the night, and I'll chew on some problem that's been bugging me until I solve it and go back to sleep.

This was part of what made me want to start my own company. I'm not doing my best work until I'm so immersed in a project that my brain's working on it round the clock in the background, and I didn't want to give my full energies to developing IP for an employer that returned no loyalty.

Re: Talking, Typing, Thinking: Software Is Not a Desk Job

#35
post #5

I always have my best ideas while I shower lmao

Some of my biggest breakthroughs come during my train ride/walk home from work. Unfortunately I don't have that anymore due to WFH policies.

Who says you can't take a walk or ride a train just for the fun of it while you WFH? It will be as pointels as before or maybe more fun, who knows.

Re: Talking, Typing, Thinking: Software Is Not a Desk Job

#37
Allow me to counterpoint. Every creative engineering profession needs interacting (not just 'talking and listening', but also observing and even acting into the user domain to understand and feel the needs and opportunities). Every solution design needs modeling and thinking and sometimes things benefit from being written down in other forms than code (even though code that is written to be understood can be infinitely better than hacks with comments and elegant interaction design hopefully obsoleted the need for a 'readme'). However, I've seen many doing those things; talking, listening, thinking, modeling and writing, day in and day out, without ever getting beyond a stack of paper.

Producing the system, the working code, is not something you do at the end. It is an integral part of the process. It is the place that forces you to not gloss over gaping holes or contradictions in your modeling. It forces you to be clear and complete about your supposed understanding. It forces the trade-offs rather than the sunny day 'we can have both' situations.

And yes, I also do very productive thinking in the shower and sauna, but at the end of the day, no matter the fantasies, the desk is our habitat.

Re: Talking, Typing, Thinking: Software Is Not a Desk Job

#39
My University library had a basement, with desks with side panels. This was the best place to study. Later had a desk under stairs in the basement, where I programmed.

A very quiet place, with no distractions makes it easiest to focus. A notepad to write notes also helps.

But I think not seeing the Sun, and hearing the Outside world, causes one to lose track of time, and space. And lets you focus more. Why rain works.

Casinos take advantage of this. You typically can't see the Sun, so you concentrate on the slot machines longer. The busy carpet makes you lose orientation.

Going for a walk, fresh air, and being a little tired from exercise, helps you to settle down.

But I think the key is motivation. If your life literally depended on getting something done, you would try so much harder. There has to be some sort of reason for what you are doing.

Re: Talking, Typing, Thinking: Software Is Not a Desk Job

#40

Alright -- how do you improve the ergonomics of thinking?

I suspect this varies widely from person-to-person, but I'll share things that I find effective.

1. Create space for thinking.

Block off chunks of time. Snooze notifications. Close sources of distraction.

Set a timer/alarm so that I don't need to watch the clock. Leave a buffer between that alarm and whatever my next commitment is to wrap up/conclude.

Create a place where I capture my thinking. This could be a whiteboard, a piece of paper, a text editor, etc. I avoid nice notebooks because thinking involves writing down lots of unpolished things, starting over occasionally, etc. and I just can't bring myself to do that with a nice notebook.

2. Focus.

Pick a topic/question/hypothesis/whatever. Set up a "parking lot" for interesting things that occur to me that I don't want to get distracted with.

Sometimes it's hard to articulate what the topic is. In that case, I do some basic mind mapping of related terms/topics/whatever and then draw a box around the area I'm focus on.

Occasionally look back at the topic and make sure that's what I'm actually thinking about.

3. Work in order.

Think about the problem first, in detail, before thinking about solutions. Similar to the above, stick any inklings of potential solutions in a parking lot. This includes considering the characteristics/qualities of a good solution; this helps me avoid getting attached to any initial seemingly-elegant solutions that don't actually have the qualities I think are important (anchoring is a real thing, even if you're aware of it).

When considering the problem or solution, I try to brainstorm ideas, then organize those ideas into a "space" (either problem space or a solution space), and then figure out the key "dimensions" of that space.

Identify the key questions that narrow (e.g., bisect) that space. Focus on those, versus getting bogged down in details of an option that may turn out not to be relevant. Often, these become "next steps".

4. Separate thinking from producing.

Separate writing-as-a-way-to-think from writing-as-a-way-to-communicate. I can't do both at the same time effectively; I end prioritizing clarity over substance. Similarly, I struggle to rapidly produce useful proof-of-concept code unless I promise myself it's going to get thrown away. Readability, maintainability, accuracy, etc. are all hugely important, but not for the first stages of thinking.

Once I've finished thinking, then I can write an actual document for others to consume.

Post reply on HN