Programmers without computers
johndcook.com
johndcook.com
Each time I do this, I am amazed once more how powerful thoughts and observations can emerge by turning away from my laptop and rethinking the problem with most basic drawings and without the shakles of my IDE and other tools.
This is espescially important for problem solving and creativity, where your first reflex is almost never the best, or when you got stuck.
Paper gives you the freedom needed to express the problem your wrestling with, and as my old math teacher rightly said: Expressing the problem is halfway to the solution.
I've been freelancing for a couple of years now, but about half of the programmers were smokers at my last job. We would coordinate smoke breaks throughout the day, and that time was often spent chatting about whatever projects we were working on. It turned out that it was a good way to get feedback and throw ideas off the wall without interrupting people at their desks.
-- I never stopped taking smoke breaks. (but I did start calling them air breaks)
-- I invited other, non-smokers to air-breaks
-- Other smokers didn't set off particularly strong cravings in me, so I still did my coordination with them
-- Since my body no longer had the chemical decay timer, and the mental habit started to fade, i had to set real timers and request my smoking co-workers to ping me for my air breaks (before I did this, I started to feel disconnected and seriously considered starting to smoke again to "relieve the stress")
-- Keep carrying around a lighter. (It makes no sense, but somehow it helps put some smokers at ease about a non-smoker in their midst)
-- Don't start preaching to your smoking buddies about stopping. Answer questions if asked, but let it be -- remember how much you hated the "you need to quit" stuff. It will keep the interactions smoother.
On the other hand I have seen teams that don't talk shop on smoke breaks. It seems to me that this can be effectively used as measure of team's proffesionality and motivation
It wasn't exactly encouraged to take random breaks all the time for no reason, and you can't go up on the flight deck during flight ops, so at the end of each shift I would go out to the smoke deck with my friends to look at the water and get some sunlight.
http://www.cancer.org/cancer/cancercauses/tobaccocancer/seco...
It kind of reminds me of what someone told me once: "If you don't smoke, drink, or do drugs, you're probably a pretty boring person."
Unfortunately, in most organizations you don't want to be 'that guy' who spends half his time scribbling notes, reading inscrutable documents, and frequently talking with peers. It's hard for a casual observer to tell whether you're productive, and many people will assume you're not.
"How do you achieve laser focus and concentration?"
The single most important thing I do to "achieve laser focus and concentration" is to work in such a way that I don't need "laser focus and concentration" to get my work done.
This has to be done the night before.
I always quit all online work at least 2 hours before bedtime and print whatever I'm working on.
Then I go into any other room with program listings, blank paper, and pens (especially red!) and plan out all of tomorrow's work.
All analysis, design, and refactoring must be done at this time. I do not allow myself to sleep until the next day's work is laid out. I also do not allow myself to get back onto the computer. The idea is to have a clear "vision" of what I am going to accomplish the next day. The clearer the better.
This does 2 things. First, I think about it all night (maybe even dream about it). Second, I can't wait to get started the next day.
I always wake up and start programming immediately. Once I get going, it's easy to keep going. Any difficulties are probably because I didn't plan well enough the night before.
Not sure if that's the answer you're looking for, but whatever gets the work done...
Original thread: http://news.ycombinator.com/item?id=191199
Are you most alert or most sharp in the evening?
(My question goes to the hypothesis that planning should be done when alertness or mental effectiveness is high.)
After doing this for years, when I do this the night before, the next day is always easier.
When I don't do it the night before, I almost always struggle and waste time.
The trick is simply to budget the time and make sure you review something the night before.
If you wait until morning to think about the problem, you probably won't dream about the solution the night before.
> People always ask how cartoonists come up with ideas, and the answer is so boring that we’re usually tempted to make up something sarcastic. The truth is, we hold a blank sheet of paper, stare into space, and let our minds wander. (To the layman, this looks remarkably like goofing off.) When something interests us, we play around with it. Sometimes this yields a funny observation; sometimes it doesn’t, but that’s about all there is to it. Once in a while the cartoonist will find himself in a beam of light and angels will appear with a great idea, but not often.
Never underestimate the power of a self-contained work environment. Being able to focus your entire development process to a single machine can be extremely powerful in certain contexts.
it kind of amused me when i heard it at first. the real truth about it hit home when i started debugging my first program ever (a taylor series 'sin(x)' calculation).
Wherein he describes the process by which he prints out dis-assembly of a program and goes through it by hand while at the beach.
Maybe Google and Facebook got it right with those walkabout masseuses.