I recently got a comment on a post asking me how I have the time to do, amongst other things, design websites for some good folks in San Francisco. Well, here's my dirty little secret: I do science only on week days, and I keep it 9 to 5. It's probably more like 10:30 to 6:30 but you get the idea. I keep my weekends hermetically sealed and (usually) science free.
Actually, I'm going to go further: I believe that if you're a computational scientist and you're not working these hours, then at best, you are working unproductively, and at worst, you're handicapping yourself in the future. Of course, if you are wet-lab scientist, it's different. (You, my friend, have been sentenced to the gulag. Your life will revolve around the appetites of your $500,000 fractioning super-duper bubble bibly-bot. It's really hard to plan one's life around 8 hour experiments. I pity people like you). But I'm not talking about wet-lab jockeys. I'm talking about us desk-bound programming types who also do this thing called science.
Right now, you may be a grad student working gung-ho hours. You work through the night. You forget to sleep. You may not leave the lab. 6, maybe 7 days a week. Now, unless you're one of those superfreaks (I'll talk about them later) who are barely human, one of two things will happen. You will either collapse from exhaustion or the quality of your code will be crap.
Programming is a form of physical activity. When you are thinking intensely, your brain consumes vast amounts of blood. Your muscles tense, your body goes into overdrive. When you program for long periods of time, it's like you've run a marathon. Your body is exhausted but you are high on endorphins. It feels good but it's punishment on the body. When you are young, and your body is malleable, you can take this kind of punishment. But as you get older, say past 30, your body slows down. My buddies in their early 30's all learnt the hard way – learning to eat better, sleep well, and exercise more. We can't suck down a beer bong like a dumb-fuck undergrad anymore. Nor do marathon coding session at will.
Just to qualify, I am not saying that you should never do marathon coding sessions. It's just that you should treat them like, well, marathons. Marathon runners train for weeks, steadily building up stamina and endurance, but not at full speed. They save full speed for the race itself. Afterwards, it takes weeks to recover. Marathon coding sessions are like that. There's an exploratory phase where you are reading papers, playing around with ideas, getting familiar with the problems. You'll probably write several prototypes. But once you can wrap your mind around the problem then you can really go for it, coding like there's no tomorrow, watching the sun set and rise.
But a computational biologist is not a programmer. It should not be the case that you program all day every day. You are a scientist trapped in the body of a nerd. Unlike programmers, you need to be your own programmer manager because in science, no one tells you what to program. You've got to work that out for yourself. It's painful and takes time, reading the journals, talking to your wet-lab neighbors.
Serious programming should only take a part of your time. Sure, spend those few weeks coding like a mad-man bringing your engine on-line. But once you have the engine built, the hard work begins. You now work at a higher level where you use your system to study reality. At this point, you'd better pray that you wrote the code in a user-friendly manner because you will the primary user of your software. Believe you me, you will not remember how you wrote the code a couple of months down the track.
But there are much more important reasons that you should keep your programming/science life in check. One is that you need to learn to have a life. You may want to explore being human. It might not be apparent to you now, but by your mid-30's, you may want to make families. The 40 hour work week was designed to make this possible so might as well learn to work effectively within this constraint now, because you may get into bad habits that you can't change later.
But the more important reason is that a large part of being a scientist is to socialize. Unless you are a superfreak who people will hire no matter what asinine thing you do, you will need to learn to be able to handle meetings and conferences gracefully, learn to be pleasant around diverse people, prepare for interviews with aplomb. You may not even what to stay in academia. In that case, you need your social skills even more. I know plenty of people who've gone from academia to consulting, and oh-boy, an important part of the interview process is to see how you deal with people.
How do you work on your social skills? Easy. Do diverse things. Meet diverse people. Stop work at 5. Go out. Have fun.
comments powered by Disqus