How to hide thinking at work so that the non-programmers don't suspect slacking
stackoverflow.com
stackoverflow.com
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.
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.
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.)
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.
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.
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.
Man I feel old.
Back to my Gopher session...
C-u M-! w3m -dump "http://news.ycombinator.com/item?id=2042350"
Or just use M-x w3m.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 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.
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.
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.
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.
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.
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).
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.
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.
* 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!"
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.
I have yet to have a programming job where more than 4 hours a day of "work" was required.
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.
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.)
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.
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 wish there is a version for HN.
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.