
How to start working on side projects - superkerplunk
https://medium.com/life-of-learning/39ba4ff482e1
======
snogglethorpe
Er, ... just ... choose something you've found interesting, and just start
working on it, playing around...? Write up some interfaces on your lunch hour?
Dabble with it on the train in the morning? Think about algorithms in the
shower (showers are my best source of algorithms!)?

I mean, this is the thing you're doing for _you_ , and that means it's
something that you're personally interested in (er, right?), and personal
interest is a huge advantage...

Seriously, the idea that someone would need _advice_ on how to "start working
on a side project" seems almost bizarre.... Lots of personal projects don't
pan out, or founder due to lack of time or whatever (which is fine, push over
the humps when you can, but let things flow)—but _starting_ them is easy.

~~~
ChuckMcM
_"Seriously, the idea that someone would need advice on how to 'start working
on a side project' seems almost bizarre"_

Well it isn't bizarre in context right? There are lots of people who have
spent the first 18 - 20 years of their life what to spend their time on. A
significant fraction of them have never even begun to work on things that
weren't "part of the plan" as it were. So coming up with a side project is a
daunting task.

The best advice is simply do something you haven't done before, code a
compiler, code an interpreter, code up a javascript library, design a web
site, take pictures of every bird in your back yard, dig up some dirt and
sequence the DNA of things you find there, plant a garden, take an art class
at the local community center, volunteer to sort food donations at a food
bank, pretty much anything you haven't done before try it.

That way you can discover things you are really interested in, and things you
really aren't interested in. Since theses experiments are things you never
have to do again if you don't like them, go in with the attitude of "Hey I can
tough it through anything once, because it's only once."

Its pretty simple advice and I am always amazed when someone hasn't thought of
it already, but I have met a number of people who have graduated from college
and then paniced with no idea what to do because their 'plan' ran out.

~~~
madsushi
Sometimes it can take years after moving out and being on your own before the
realization clicks that you can make yourself an entire package of bacon for
dinner and nobody can stop you. You have to learn that autonomy isn't just
"not" being told what to do, it's beginning to tell yourself what to do.

~~~
twmb
I cannot agree more. I was going to respond to the post that the best thing
that can happen is being told that you _can_ do all of that.

Once you realize that you can investigate whatever you want, the world opens
up for exploration.

------
smoyer
The last time I interviewed a candidate for a web development position, he
could only list the projects he completed for his master's degree (one might
have been for his BSCS). I'm almost 50 and know far more about current
technologies than he did, plus I have a family (to spend time with) and
several of my own side projects (not to mention a start-up).

If you're not passionate enough about programming to have a side project (or
six), please just get out of the profession. Or maybe become a mediocre
manager (if you think you're done learning when you leave school behind,
you'll have no choice).

I agree that high-technology businesses were the only organizations that
maintained (or even grew) employment during the recession but ... that doesn't
mean you deserve one of those jobs. If you love it enough to make it your
hobby, you can earn a good living at software development without being a
flash-in-the-pan.

~~~
snogglethorpe
While I think programmers for whom programming is a "passion" (and often have
lots of side projects and involvement in programming generally outside their
work) can be among the best, I've also met tons of excellent programmers who
approached it mostly as a profession and weren't really involved much outside
of that. I've also met some really awful programmers who were "passionate"
about it as a hobby.

Passion outside of work is neither necessary nor sufficient.

[I, personally, am of the "passion" sort. I find that this attribute can be
both an (obvious) help but oddly, also sometimes a hindrance, as I can get too
personally involved in things, and sometimes that clouds my judgment.]

~~~
slurgfest
What made the passionate programmers awful?

~~~
damoncali
Lack of focus and addiction to mastery the new and shiny can really hamper a
passionate programmer's ability to produce.

------
overgard
A shorter version: close browser, write code.

"How to" articles are an easy way to procrastinate, unless you're legitimately
stuck on something.

~~~
snogglethorpe
... and to a degree, I imagine they can make things worse if they create the
impression that this is a Serious Thing That Requires Careful Preparation.

One of the biggest personal-project (hate the name "side project" for some
reason) killers I've encountered is simple fear: of failure, of not being good
enough, etc.

I try (but don't always succeed) to keep the thought that it's _OK_ if my
projects end up sucking, if they don't take the world by storm, if my
interfaces aren't general enough and my algorithms inefficient. I still try to
do the best job I can, simply for reasons of personal pride, but there's
_tons_ of stuff that doesn't actually matter all that much, and a lot more
that can be fixed up after the fact. Just getting _something_ is hugely
important when you're operating without the sort of support network you have
in a job.

------
bobsy
While a few people have mocked this I think it contains some important ideas.

1) Focus on one project at a time. Resist the urge to get sidetracked.

2) Feel free to take a break from your project if you start to lose
motivation.

3) Only change the scope of a project to reduce it. If you have more good
ideas put them on a sheet of paper to implement after you finish your project.

These 3 tips will turn you from starter to a finisher. I know a lot of
developer's that have started tens, perhaps hundreds of side projects and when
you ask how many they have finished there is an embarrassing pause and they
point to a couple of projects.

Switching from one project to another is fine the first time. Your new idea
might be genuinely better. However if you find yourself doing it again and
again it's a sign you are a starter and not a finisher. If you end up with
nothing to show for your time what is the point of working on these projects
in the first place?

~~~
goldfeld
I agree focus is the most important thing but I love having something like a
half-dozen projects going on at any time. I can easily procrastinate on not
doing one of them when I don't feel like by doing another, and six times
slower they all move forward whereas maybe if I had just one it would be six
times faster split between my project and idle browsing the web.

------
sideproject
Regardless of how you start, what you make and whether you deliver or not, let
us know of your side projects. We're making a side project showcase/discovery
place.

<http://sideprojectors.com>

------
larsmak
I think these are all valid points, especially working on something you're
passionate about. I would like to add (I guess these apply to general
development as well):

\- Get into a "serial" mode, i.e. work on a single (small) component at a
time, with as few context switches as possible. This can be achived by:

\- Breaking your project into small, clearly defined components. This allows
you to:

\- Pick the component you feel would be fun to work with on this particular
day. This should lower the bar for getting started on your project a late
sunday morning. If you get stuck or bored, work on some other component.

\- Take a walk "All truly great thoughts are conceived while walking" -
Nietzsche

------
orangethirty
I usually just start doing something. Side projects don't need to be planned
at all. They are just stuff we do. For example, one of my favorite type of
side projects is fixing stuff. I have an in-human ability to do so. To give
you an idea, today I changed the timing belt on the wife's car, and fixed a
neighbor's washing machine (a sock got stuck in the pump). I'm also about to
start writing code on a little API im writing for fun. Just start doing
something without planning so much. It's easier to decide along the way than
to figure out everything from the start.

------
gurkendoktor
I think consciously _stopping_ to work on a side project is the hardest part.
Most of my projects end up floating around in my home directory or on github,
with some remaining tasks in my To Do list. I'm sure I'm never going to touch
some of them. When to pull the plug? Is github really a good archive for
projects like this?

------
IvarTJ
Lately I've found it engaging to try to build up a personal repository of C
libraries. Mostly wrappers and reimplementations of well-outlined standards,
but still very engaging. It makes me think about API design, learn about the
details of a few standards, and simplifies experimentation with things I am
interested in.

Is this common?

------
aaronsnoswell
Forget starting to work on side projects - I have so many unfinished side
projects I need a NAS just to store my ~/Projects directory. Someone write me
an article about how to finish side projects...

~~~
dregitsky
Not that it'd help you specifically, but I've found that working with someone
else can be really beneficial for getting things finished. For me it was great
for keeping stuff on track and staying accountable when it comes to finishing
parts of it up. That said, only certain kinds of projects are good for this.

