4 ms·
I've worked remotely for the last 10 years. My largest coding effort lasted 6 years, generated 60k lines of code, and 6k pages of documentation. The same avera
by daly 12y ago
I've worked remotely for the last 10 years. My largest
coding effort lasted 6 years, generated 60k lines of code,
and 6k pages of documentation. The same averages (10k loc,
1k docs, per year) seem to hold for all projects. In general
I find I'm very productive working from home.
The hard part is that I discovered that I have a "natural"
27 hour day so I tend to be out of phase with the group.
In order to communicate I end each "day" (aka bedtime) with
a 1-3 line email stating progress (or at least effort).
"Work" is also a 7 day per week activity as there are no
natural boundaries. It helps that I really love to write
programs. Calling saturday morning is fine but I might be
asleep on tuesday at 3pm.
Also, I write "literate programs" so the work product is
a book containing the explanation and the source code.
That way the boss can read everything up to the lastest
overnight checkin. The book contains all work done to date
so there is never a question about "the state of the work"
or whether there is "progress".
On the other hand, if you don't like weeks of dead silence,
a lack of extra eyes to find bugs, a river of badly brewed
homemade coffee, and hotdogs for breakfast ... get an
office job. Working from home is not for everyone.
- mrfusion 12y agoLiterate programs sound fascinating. Is there somewhere I can read more? I've always thought self-documenting code was the way to go.
- ekr 12y agoLiterate programming is a method introduced by Donald Knuth (http://en.wikipedia.org/wiki/Literate_programming http://en.wikipedia.org/wiki/Literate_programming). I've stumbled upon it whilst reading Physically Based Rendering, and then LCC: Retargetable C Compiler. There are some programs that can turn the "documentation" into code : http://en.wikipedia.org/wiki/WEB http://en.wikipedia.org/wiki/WEB , but most of them are quite old AFAIK.
- daly 12y agoBuy a copy of Physically Based Rendering (Pharr and Humphreys). It is a literate program that won an academy award. Make that your "gold standard" for good programming. Literate programs explain "why", not "what". Think of a literate program like a physics textbook. Your code is the equations but your explanations (not comments!) give the reader the reason WHY you wrote the code. See http://axiom-developer.org/axiom-website/litprog.html http://axiom-developer.org/axiom-website/litprog.html for an example of a trivial literate HTML program.