

Do you ever work alone? - andrewfelix

If so how do you avoid cabin fever? Not in the Jack Kerouac sense, but more being able to critically or subjectively analyse your own work?<p>I find myself more and more being unable to avoid negative thoughts about the work I do when working alone.
======
jtheory
Here's a project I've worked on completely solo over many years (it gradually
turned from a school project, to a hobby, to a solid low-maintenance income):
<http://www.eMusicTheory.com>

tl;dr: when I work on _just_ that, it doesn't go well; I'm most productive
when I have some collaborative work to do otherwise, with bursts on the solo
project. And I'm a huge introvert, but all work and no social interaction
makes Jack a dull boy.

There was a chunk of time at the beginning where I got a grant to stay at my
college over a summer time to work on it -- I lived in a dorm, had no close
friends anywhere nearby, and those months were just plain weird. I'd end up
sleeping from 9am to 3pm or so, getting up and eating some grapenuts, then
going to work (alone, in a usually-empty building) again... but I also seemed
to alternate between highly-focused work and highly-focused time wasting (like
in drawn-out arguments on Slashdot; this was 1997). Sometimes I'd go a week
without having a conversation with another human being at all.

All in all, it wasn't a happy time, or a very productive one (in spite of the
fact that I had nothing else to do).

Fast-forward -- I got a job, married my college sweetheart, and worked on the
site in spare time or on vacations. That worked pretty well. I could clear my
head from problems I liked less on the real job by switching gears now & then.

About 3 years ago I tried making it into my only thing again -- and didn't
succeed at all. Admittedly I also had my first child in there, but still it's
pretty obvious I didn't get much done -- only incrementally more than when it
was my spare-time project. I sunk hours into researching new hosts (when my
current one was fine), configuring my own mail server (when I could have just
gone with Google Apps hosting) -- my prioritization was horrible, and even
_knowing_ that, I couldn't dredge up the motivation to fix how I spent my
time.

So it's back to spare time (unfortunately, I'm super-busy now, so it's not
getting much love...), but I'll be pretty wary about taking it up again full-
time unless I can get someone else to work with me. The simple fact of
discussing progress with other people, of explaining how I'm prioritizing my
work, makes me do things much better.

There's another option -- if you have a mentor or friend who understands your
work, and who can give you 5 minutes of time a day, or every few days... that
might work wonders. Knowing they'll be asking "how's it going?" in 6 hours can
motivate you to dig into something, just to have an answer. Knowing they'll be
asking "why's this your top priority?" can make you stop & change course.
Knowing they'll have had similar frustrations, similar roadblocks, and will
offer a few good suggestions for how to proceed can ease your mind.

Working well has a rhythm to it, of course, so if they can help you find your
pace, you may not even notice if they're unavailable for a few weeks.

HTH; good luck.

------
sh4na
All the time. Negative thoughts are normal and increase as you learn more and
can see where the flaws in your work are. The more you learn, the worse it
gets, until at some point you'll be confident enough to look at your work and
defend your choices (to you and to others).

This doesn't really have much to do with working alone, but it is harder to
grow if you can't get feedback and aren't forced to explain your code to
others.

If (like me) you are physically unable to get together with your peers IRL to
discuss your work (for instance, because you're about 1000km away from the
nearest person you can conceivable discuss things with), you should find other
ways to do this. IRC is good, putting code up in github for feedback, blogging
about it, these all help kickstart the next round of learning.

You may feel worse about your code once you get some external eyeballs on it,
but it's likely you'll get positive feedback, which is always comforting.

There's no aboiding negative thoughts, it's a sign that you are striving to do
better. Start worrying when you _don't_ think you can do better.

~~~
zantax
I'll add to that by saying being alone for long stretches of time is fertile
ground for negativity. The mind craves narratives and drama, especially when
grinding away on what can seem like monotonous work.

My advice: cut yourself some slack Andrew. Understand that your mind is just
creating stories (again) and dismiss them. Sometimes I will even smile at how
infantile my thoughts can be.

But yes, I get cabin fever bigtime (I work alone a lot) and sometimes I have
to get out, even if there are a thousand excuses not to.

Take care.

------
ambirex
By nature I'm in introvert so working alone is my preferred situation, but I
think I can relate to some of what you are talking about.

Give yourself a break, every iteration gives you insight to the problem you
are working on, there is no need to get it perfect on the first round.
(perfect is the enemy of good).

Trick yourself, don't call your code 1.0, label it beta or a prototype for an
extended period. Your longer term goal is to get to a release, but your
immediate goal is to work on the next point update.

Trust yourself, if you think something has a bad code smell note it for later.
If you think a UI isn't intuitive, live with it for a little while to figure
out exactly what you need to change.

------
dcozel
Honestly, I love working alone. No interruptions, no unnecessary office chit-
chat, just you and your thoughts....which can turn into a problem as you've
mentioned.

I think the trick is to stop the work and talk to your friends/girlfriend
about it, even if they do not have a clue about coding. I talk to my
girlfriend every time I run into a problem or a negative thought pops in my
head and won't go away. Even though she does not have any knowledge about
programming, she tries to engage and guide me to the simple solution that
saves the day most of the time.

------
lhnz
Avoid meandering analysis through neurosis. Instead: (1) choose a framework of
values with which to analyse your work and optimize towards; (2) create limits
to your analysis; and (3) reflect on your application of/and the framework
occasionally.

However, it could be that this isn't the ideal solution for you. Follow your
nature! If you are getting 'cabin fever' then take that as an opportunity to
take a break and speak to other people. Often people are more productive when
they stay fresh and remove their burdens instead of trying to 'push through'.

------
seejay
I do! All the time!

