"Requirements rarely lie on the surface. Normally, they're buried deep beneath layers of assumptions, misconceptions, and politics."
The Pragmatic Programmer: From Journeyman to Master
By Andrew Hunt, David Thomas
I am not a 100% remote worker but all my remote software development consulting is 100% - remote. Communication is the key to having a good relationship with a client and having great results. If you can only send a message saying that you will look at something it is better than silence. Communicating with yourself about realistic deadlines will help yourself mange your schedule helping to prevent burn-out. Remote software development is a combination of the beauty and power of its discipline.
The beauty of remote work is the comfort of remote work: to be able to relax at home (or out-and-about) and get a few hours of work in is a great feeling. I also like to visit various coffee shops, public libraries, or other places of free WiFi. Being stuck in an office all the time can become a drag and hurt productivity. It has been in my experience that the developers typically draw the short straw for a nice office space or cube. Keeping a fresh and interesting environment will help keep a developer happy!
The power of remote work is simple; work when you want to. I can honestly say that a lot of my best ideas usually happen somewhere unexpected. I feel software development is a form of art and those ideas sometimes hit you when you are driving, taking a shower, sleeping, and not something that is entirely enforceable. There are times when you have to make quick decisions, but when you can take the time to think and analyze the situation - it will be a far better solution. There are deadlines to be maintained - there is a balance between those two forces. It is powerful and stressful to maintain your own work schedule and deadlines, but it is also liberating.
Where are we now?
Where are we going?
I believe in the next 50 years or so the prominence of remote work will only grow. We will look back on this time and have a hard time grasping the concept... so... we drove everywhere and wasted time on commuting when you had the ability to work from home???
It is early in the remote work game... we've come a long way and we have a long way to go. It's adoption has often been met with fear and reluctance unfortunately.
Tips for Remote Software Development
- Log your time worked in software that will bill your client http://invoice.zoho.com is great
- Log your time immediately after working or you will forget see above
- Track the tasks you are assigned see above
- Write great comments and keep a change log http://www.keepachangelog.com
- Clear, concise
- Link to tasks, if possible, the TFS address, SifterApp, etc
- Don't be afraid to say NO don't over commit
- Invoice monthly or a frequency and stick to it - Sometimes the client determines this
- Manage Burn-out be honest with yourself it is a real thing
Database warehousing is a critical tool in the skill set of a developer. The ability to take
normalized data and store it in a
non-normalized dataset can increase loading times, reduce calculations and generate a large
ROI. Large datasets will benefit dramatically from a warehouse of commonly/frequently accessed data facts.
I ran a fairly active blog between 2007 and 2009 using the
WordPress worked well for my needs and was
definitely leading mindshare when it came to blogging. Alternatives have come and gone but
WordPress has held fairly steady.