Hacker News new | past | comments | ask | show | jobs | submit login

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.




Literate programs sound fascinating. Is there somewhere I can read more?

I've always thought self-documenting code was the way to go.


Buy 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 for an example of a trivial literate HTML program.


Literate programming is a method introduced by Donald Knuth (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 , but most of them are quite old AFAIK.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: