I read a lot and have a lot of ideas, about little porjects to test new technologies or new patterns, but never find the time.
I would love to learn the experience and techniques used by someone who have been able do to something like this
1–10 of 131 posts
I read a lot and have a lot of ideas, about little porjects to test new technologies or new patterns, but never find the time.
I would love to learn the experience and techniques used by someone who have been able do to something like this
Derek Sivers says a bit about the general problem in this recent interview: http://softwareengineeringdaily.com/2015/10/14/creativity-an...
One way (though perhaps not the best and certainly not the only) to look at it is that the forty hour job is a filter. Ideas that don't get worked on are things that deep down don't seem worth working on after hours (never mind quitting the forty hour gig for). Derek Sivers says a bit about the general problem in this recent interview: http://softwareengineeringdaily.com/2015/10/14/creativity-an...
Time outside the typical 40 hour work week:
Getting up an hour or two earlier than usual.
Spending an hour or two at the end of the night on it.
Same on the weekends, early or late, maybe schedule a 4 hour time on Sat or Sunday afternoon.
Those are really the only three areas to find more time with a 40 hour gig.
Obviously make your main job your priority. Be careful of any IP clauses in your contract if this is building something you want to profit from.
One other possibility, depending on where you work. You could probably use your lunch hour to learn new things, do tutorials. You should probably bring in your own laptop and use your phone's hotspot for this to keep things completely off work hardware/bandwidth.
If it's something you enjoy doing it won't feel like work or like you're missing something.
Make sure you balance this with spending time with family and friends.
I was working full time as an engineer in another field, started doing websites for family and friends, then moved on to developing web applications for clients along with my own side projects during the time slots listed above. It can get tiring along with a 40 hour job. Now I'm consulting full time remote so I work on client work 40 hours a week and use any extra time for my own side projects.
The holidays is a good time to kick off a side project as you'll typically be taking vacation days so you'll have some extra time that you would normally spend commuting, eating lunch, working that you can use for a side project.
Good luck hacking away on your side projects.
So rather than code anything yourself, just give htem requirements that read like a to-do list for yourself, after you've already doen all the theoretical leg-work:
#1.1 to-do: when this form is submitted, pop up this confirmation form:
#1.1.1 Confirmation asking if user wants to leave page? #1.1.1.1 if user clicks yes, redirect them to the link clicked #1.1.1.2 if user clicks no, keep them on page.
#1.1.2 Form submission: when user submits form, run valdation
#1.1.2.1 if the name is not betwene 2 and 30 characters show an error "Name must be between 2 and 30 characters"
#1.1.2.2 if the email address is not in the format (one or more characters or numbers) @-sign (one or more characters or numbers) and contain at least one period after hte @-sign, then error message reads "Please input a valid email address."
and so on and so forth. stuff that makes your eye water regarding how incredibly, uselessly boring it is, like you're an executive and can't even tell your business manager to accept a bid, you must fucking dictate the letter itself.
However, as incredibly annoying as this process is, it takes you approximately half an hour to do a day's worth of work with it. You can review progress every day in half an hour over breakfast.
So, there is your answer regarding how to build a side project while you're working full-time: manage dirt-cheap disposible developers on Odesk or Elance who get off on adding absolutely zero benefit whatsoever of any kind to a project, besides doing exactly what they are told in painstaking detail.
This is being made from a throwaway because I haven't heard this idea expressed and people might not realize that this is the answer. As for my tone/style, I think it's completely wrong for any developer to agree to be in such a role, and the REAL correct solution would be to manage a creative, contributing developer who gets equity in the result and has more free time than you. But what do I know.
A clear spec means that I know what all has to be programmed. Decoupling my components means that I can make changes to my business-logic/back-end without having to make changes to my display/front-end, as long as the interface remains the same. Testing means that I can make changes without fear that I'm going to unknowingly break existing features. Quality code means that I can more easily understand the code that I've written after an absence. The upshot is that I always feel comfortable making a few quick changes, pushing commits, even after being away from the code for a few days.
A few concrete tools for writing quality code: write it to be open sourced, write it to be viewed and collaborated upon; use code quality tests like pylint, jshint, code-climate, whatever is appropriate for your language; display your code quality metric badges in your repo, badges for coverage, built-status, etc.
I've found having a third space is useful. You have your home and your office, find a third that you can fit easily into your daily routine, and spend 1-2 hours there when you can. My train home goes past a library that's open late, so a couple of times a week I'll go there after work with a laptop.
Use your paycheck to directly pay a braindead coder with zero creativity or ambition who does nothing more than meet requirements, like you're fucking dictating to them. for added oomph they can be in a low-income country, but people with no creativity or initiative or ability to translate requirements into code aren't worth much anywhere. So rather than code anything yourself, just give htem requirements that read l…