Hacker News new | past | comments | ask | show | jobs | submit login
How to hide thinking at work so that the non-programmers don't suspect slacking (stackoverflow.com)
154 points by fogus on Dec 27, 2010 | hide | past | favorite | 52 comments



I have an alternate solution: grow a backbone. Do not put up with childish/ignorant behavior. If your immediate superior harasses you for doing the job you are being paid for you need to go over their head.

I've had to deal with this while doodling/sketching ideas on a whiteboard. Not being firm with people does you no favors and makes them think their initial assessment was correct.


> If your immediate superior harasses you for doing the job you are being paid for you need to go over their head.

His problem isn't with his superiors, it's with his co-workers:

> If you don't stare at boring stuff on the monitor for 8 hours straight, co-workers suspect you being a slacker. Yes, not the managers who see the output. Only the co-workers who see the process and can't relate to this kind of work.


Incidentally, I never look at my coworkers' monitors, but I still know who isn't doing anything.

It's simple: if this week's status update is exactly the same as last week's, then you didn't do anything. Whether you typed stuff in the IDE and nothing worked or you just read Slashdot all day doesn't really matter.

(Everyone has one of these weeks, of course, or I do anyway. But when it's every week for a year, well, that doesn't look so good.)


1. Choose any web page you want to read (My choice is usually something from Hacker News).

2. Ctrl-A.

3. Ctrl-C.

4. Open your IDE or text editor (I prefer textpad with black background and lime green foreground.) Bonus points if there's already some code in there.

5. Ctrl-V.

6. Read away at your heart's content. If anyone sees your screen from a distance, it looks like you're working.

7. Guilt = 0. I spend most of my time "thinking" about work when I'm not at work. When I report to work in the morning, I usually have a flurry of pent up code to write that I thought about at home the night before. But I stay at the office all day long whether or not I actually have something to code. I always hit my deadlines. It all evens out.


I smell an opportunity for a "readability" style bookmarklet using a monospaced font and a blinking cursor at the bottom of the screen. F11 gets rid of the browser chrome and you're set.


The general idea was embodied in Ghostzilla and its successors, none of which I have actually used.

http://en.wikipedia.org/wiki/Ghostzilla


It's called lynx.

Man I feel old.

Back to my Gopher session...


How about just running lynx in a terminal buffer in emacs? That should work just great for Hacker News.


I always browse using elinks on an ssh session. Virtually indistinguishable from work.


You don't work on your internet connected computer. I call shenanigans. ;)


You don't work on your internet connected computer.

At home, true. But I don't have to worry about what others think when I'm working at home.

This technique is for when you're not at home, but at your employer's or client's site, which probably applies to many people here. I don't even remember the last time I was in someone else's office not connected to the internet.


I'm just teasing you. I never would have even thought of doing that...

My approach has always just been filtering up front: I've always been lucky enough to work in places where programmers are actually understood and appreciated.


Variation on this with better rendering (in emacs):

   C-u M-! w3m -dump "http://news.ycombinator.com/item?id=2042350"
Or just use M-x w3m.


One response I'm surprised didn't get more votes at stackoverflow is thinking on paper. Not only does it make the fact that you're thinking visible and socially acceptable; it's a big help in focusing your thoughts. I use this all of the time for brainstorming, planning, or "rubber ducky debugging", and I find that I make a lot more progress on paper than trying to just do it in my head.

The permanent record is a secondary bonus, but sometimes I find writing in a permanent place like my bound notebook makes me hold back and do the thinking in my head again so that I can write perfectly, instead of just brain dumping as I think. When I get blocked like this, I switch to looseleaf, which I can toss if it turns out to be scribbles. More often I end up saving that too, though, in folders.


I work independently so I don't worry about what I look like working (and it is awful, usually messy hair and a pair of boxer shorts, who has time for a comb or pants?), but I definitely agree with the thinking on paper. Spending 15 minutes sketching out ideas with a pen saves me hours of dead-end code writing. That's especially true if I have to write a tricky algorithm of any type. I haven't seen one yet that couldn't be sorted out without a single line of code. I'm not talking about writing pseudocode either, I'm talking about drawing pictures of what an algorithm does (or needs to do). Boxes, squiggly lines and arrows are your friend. Or, to look at it another way, if you can't draw a picture of it, you don't know what you're doing yet. That mindset has made me much more productive (and saner).


This is the most depressing question I've read in a while. Thinking is so fundamental to programming - the most important part of the whole activity (for me) - and then there is a professional programmer who has to ask how to hide this part of programming from his coworkers because they do not understand his activities.

I do not even know what I would do in such a situation. Probably trying to find a new job if such questions and suspicions persist after an explanation.


I would usually spin around in my chair looking at the ceiling when I was thinking about something. Occasionally I would play with a pen or do something else like that.

This would irritate even other programmers. My bosses strongly preferred the other programmers because they always had code up and always looked like they were working; if they had to think, they would usually call a meeting and talk it through. I looked like I was getting paid to make myself dizzy.

I told them I was thinking about stuff and that they should leave me alone. I quit because it was a bad place to work.


Speaking as the person who wrote the top answer to that my solution was this: I now work at Google. Problem solved.


It is so funny that this has been posted on HN. A friend of mine was recently spoken to at his place of work for this exact same thing. When being confronted, his boss spoke to him about how he is being "perceived" by everyone as someone who doesn't do any work even though he gets all of his work done and then some. When he asked his boss back if his boss thinks he doesn't get his work done his boss was unable to say he didn't and finally confessed how it was his manager questioning my friend's work

I am starting to believe that if you have a web company ALL your employees should have some sort of programming experience before they are hired for non-programming jobs. I know this may be untrainable to do, but it might be the best thing a business does for itself.


This has nothing to do with programming. A designer, an illustrator or a copy writer all take time throughout the day to think and find inspiration. Please don't assume that you must train everyone in progamming just so they "understand"


Ask them what they do and tell them the ways you can automate their job away.

Tell them that perhaps their job could be done by a machine and you will speak to their supervisor about creating such a project.

In all seriousness ignore it and focus on actually doing your job. If you really want to convince them, rephrase the above as helping them get the annoying parts of their job automated. Then when they tell you, tell them you'll need to do some research on the best way to approach the problem and look what's already been done to automate those sorts of tasks, rather than blindly working and reinventing something that already exists. At this point the light bulb should go on, however you'll have to usually spell it out for them that this is why you think about things rather than charging right in unthinkingly. So that you don't waste resources by reinventing something that could be found for free just be looking (aka. research aka. 'thinking').

Talk to them about how something like a browser requires millions of man hours of work and how if you can find a browser on the internet rather than creating your own you can provide better value to the company.


Write some stuff on your whiteboard then stare at it and then write some more. Even business people will understand whiteboarding as 'work.' If you really want to impress them write some random stuff on post-its, stick them on the whiteboard and mention 'six sigma' every once and awhile.


When anyone asks me what I'm doing if I've "come up for air", I just reply "Programming. I'll type it in later."

Software development doesn't happen in computers, it happens in our minds. And not just one person's mind, but in the minds of the collaborators. Sometimes the only way to sync up with someone else appears, for all the world, to be just a bunch of Monty Python quotes.


In my dream workplace, they'd put aside little lockable rooms with HEAVY sound insulation, warm-white lighting, no distractions in the decor, and a beanbag to lounge in, and let us use them when we need to think. I bet it would pay for itself in code quantity and quality.


I lucked out at the last place I worked (a 50 person company): It was a suit-and-tie kind of environment, but the programming department (about 10 people) had our own closed-off section of the office with a Wii and a Street Fighter II arcade machine (which we used regularly).

It was weird because the rest of the company was run like you would expect a suit-and-tie place to be run, but we programmers were only graded on our results. We even used to take 1.5 hour (paid) lunches if we were ahead of schedule, and I even decided to start coming in at 10 instead of 8:30 since I would always stay until 7 pm or so (didn't ask anyone, and didn't get any guff from anyone about it).


if your employer feels like you are not working enough since you do pauses in order to think to your design, also think about picking a different company...

Your boss should be utterly happy that you spend some time in design activity. At max I think that if you want to make this a bit more clear, use pencil and paper when reasoning about your design: it tends to help also.


Yesterday's case was even worse because this same guy would sit with a colleague and discuss the house she's buying and other things in the middle of doing his own work (and he's charging his clients for his time and I'm sure he's not charging for such downtime), which I found particularly galling as a real double standard on downtime.

Actually, the fact that this individual would chit chat about personal crap while on the clock is probably why they thought this particular programmer was simply slacking.


I think you've misread this part: The person who "blew up" on the programmers was the person who later chit chatted with a colleague.


No,not at all. I am saying the person who does all this chatting is projecting -- they are the one who actually slacks on the job but doesn't see it as such. I see this same dynamic at work all the time (and I am not a programmer): People who spend gobs of time on a daily basis discussing all kinds of personal stuff with other employees. They are in "management" type positions, so I think they view it as "part of their job"/"team building" etc. I don't think it is. And these folks who spend so much of their day shooting the breeze are the exact same people who get after others (lower ranking than themselves) for talking to coworkers "instead of doing their job" -- even if they actually are discussing work and not just shooting the breeze.


My bad. Now I've understood your reasoning.


No big. Probably just a case of "Mz talks like Elle Woods* yet again" anyway. (I say this based on the low number of upvotes for my first remark and the much higher number of upvotes for my second one.)

* A la the scene in Legally Blonde that goes something like this: "He's gay! -- what kind of shoes do I have on?" ..."Uh, black?" ..."See! He's gay!"


Although it happens so often it should no longer be a surprise, it is nonetheless often surprising how stepping away from your desk and doing something totally unrelated to the problem you're battling with or the bug you're tracking down - like watering plants, going for a walk, etc. - provides you with a solution in a few short minutes.

That's why I often tell employees who are blocked on some problem or are visibly frustrated with a bug to just go do something else for a while. It's more of a waste of time to keep working at it, then to "slack" and quickly achieve a flash of inspiration.


Suspect slacking? Slacking is a given.

I have yet to have a programming job where more than 4 hours a day of "work" was required.


Join a startup


I did, in the late 90s.


Did you really not work more than 4 hours at that startup? That really surprises me. Care to elaborate?


early on, I did.

later on, right before the bubble burst, the place was totally over-funded and hired tons of people who didn't know what they were doing at a technical level. many of the people "in charge" (VP level, etc) were complete buffoons.

cronyism, nepotism, and incompetence ran rampant. there were many useless managers, directors, assistant directors, on and on. this was typical of companies of that era. this provided ample opportunity for goofing off.

i could tell you some detailed and hilarious stories, but i'd wind up outing myself.


Work someplace where they can't see you.


I have a kind of similar "problem"... when I'm going out, I often have some unsolved problem that I can't stop thinking about... And so it happens that I'm sitting quietly, with a beer in hand, at the bar and think about trees and forests and forests of trees whose leaves are trees, and people start thinking that I'm depressed or bored or weird.

My solution: not caring about what other people think. But I realize that's not really an option at work.

(OT.: Hello everyone, this is my first comment, but I've been reading HN for a while.)


Get a thinking cap. Whenever you're thinking, put the cap on. If someone asks you what you're doing, tell them you're thinking, and that whenever they see you wearing your thinking cap that's what you're doing and you'd like not to be interrupted please.


This is a question close to my heart.

My favorite way is to pull the terminal down and start compiling something. But this only works for good 30mins. Then I just think to my self I don't give a shit what "they" think and start doing what I want to do like reading HackerNews.

When I have my moments it can last anywhere from few hours to few days of just procrastinating then its back to business. But this time of procrastinating is very importing as I play out different scenarios in my head (and research) on how to tackle the current problem on hand and what will its impact be on current and future code, but you can't aspect everyone to understand that.


One thing I've been doing is working on a fun side project. (I'm currently building software for a new business, and I would never work on that during office hours -- FYI). However, I found another cool idea for the guys in my office to use, so when I need to get off the problem I'm working on, I typically work on my little utility for a bit. Helps me clear my head and it still looks like I'm coding -- because I am.


This applies to all kinds of people who create (artists, designers, musicians etc.), not just programmers. Me personally, I get my best ideas in the shower or when I'm running.

I know Tim Ferriss gets a bad rep around here, but he has a very good solution to this: ask to work from home, get more work done and show that you produce more results when you work from home vs working in the office.


I think that the problem is that most people just aren't used to thinking about how to do things better for long periods of time. They fall into a routine they find comfortable and they feel unnatural to step outside that comfort zone. Also, thinking about how to solve problems or build things isn't unique to only programmers.


I have found that making things with those little magnetic balls is both therapeutic and easily recognized as thinking.


There is a JAVA version of reddit at http://www.codereddit.com Normally I use eclipse's internal browser to read it along side my normal code, no one ever notices it

I wish there is a version for HN.


Keep a pencil and paper on your desk, and use them to guide your thinking. This eliminates any ambiguity as to what you are doing, while at the same time actually helping your thought process along.


Used to get this quite often when I was office-based. Now I'm home-based, I get the slightly better 'phone call every hour' approach to make sure I'm putting required hours in.


How do you manage to get anything done with such frequent interruptions?


The short answer is that I don't :) I make real progress only when my boss is on one of his (thankfully fairly frequent) holidays around the world.


i decompress by working on something less taxing on the creative juices. i don't read reddit or play facebook games... but i do give myself downtime in the evening to turn off and unplug from everything.

i think that's the difference between the founders I know and cogs. there's often just not enough time in the day, so the game of work is really like a RTS - maximize time and resources without diluting core focus.


When I was thinking about stuff at work other guys, who were electrical or mechanical engineers, would describe me as "praying".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: