Are you a developer without a side-project??

Posted on Updated on

 Shania Twain would have sung: ‘Ok, so you are a software developer in the IT industry? That don’t impress me much..’

The reality of software industry is that 9/10 times you will not get to work on the technologies that you are interested in. Even if you are lucky to work in the area of your choice, chances are that you may be working on the older versions of the technology. Every day there are more and more cutting edge technologies coming out and how do you, as a software professional, get to work on them?

Suppose, you want to keep your skillset upto date(for various reasons :-)) & want to learn new technologies and skills. How do you get about that? The reality is that opportunities are limited and if you just wait for opportunities to come to by; time will run by.!!!

OK, time for a pop quiz: When was the last time you created an application/software from scratch? Most projects require package implementations, maintenance work, adding new features, fixing bugs, etc. Even in the few projects where applications are built from scratch, you would be part of a large team and not creating software all by yourself.

So, what can a software developer do that will impress Shania Twain?

Enter Side Projects: Call them pet-projects, side-projects, pickle-projects, etc whatever.. In a nut-shell, they are projects that you do for yourself. They are a great place to do all you want with no one else asking you to do this or that. Side-projects will allow you to work on the technologies that you want to work on, problem statements that you want to solve — at your pace & leisure without any pressure of worrying about bugs or performance issues. It’s perfectly ok if the side-project build crashes 10 times a day and has a few bugs here and there.

Side-projects will allow you to work towards creating software that you are passionate about, something that you enjoy working on. Yes, side-projects can bring the fun back into programing and can also help prevent the burn-outs that one can encounter while working on customer projects/areas that one is not passionate about.

Side-projects can help you keep up-to-date with latest technologies & emerging trends in software development. You can try out the bleeding edge of software for yourself. Never written a jQuery +CSS3 + HTML5 code yourself? No problem, just start a small side-project using it and soon you can have something to show off as proof of your newly acquired skills. (and this can help you in ways that you can’t even imagine :-))

Having your side-projects will force you to think of your software from scratch. You will need to think of design issues performance issues. You will have to think of trade-offs and make ‘this-vs-that’ decisions. Your side-projects allow you to program in an exploratory way which allows you to take paths that you would have normally not done in your work projects. You can try out different algorithms, logic and see what happens without any worry in the world. Your side-projects will also allow you to incorporate all your past learning’s into creating a new (and improved) project.

And you know what; all said and done, real programming & coding is an art, a creative process that can take you onto a ‘zone’. A ‘zone’ where things just flow… and to get into the zone, you need to be working on code that you are passionate about and may not necessarily come from coding what your day job code requires.

But yes, just like nature, nothing worthwhile will come without its own set of challenges. Yes, you will face challenges in your side-projects.

The biggest challenge to your side-projects will come from your losing interest in your side-project. You will have all the enthusiasm at the start but slowly you could end up skipping days and procrastinating the work to tomorrow. Before you know, two months later you would have forgotten about it.

You will have pressure of time. You may be tempted to say that you don’t have time… but you know what? Most of us complain about not having enough time. The truth is, we have enough time to do whatever we want, but we’re not willing to make the sacrifices to do it. Yes, you’ll have to sacrifice good things for great things.

So, what are you waiting for… Get that side-project going…!!!

Advertisements

5 thoughts on “Are you a developer without a side-project??

    […] – of people you already know. You could team up with these new people and start your pet side-projects. Join the various clubs in your organization and play an active role in them. I am sure every […]

    Kartik said:
    November 14, 2011 at 7:09 pm

    Came across this post while looking for something to make a point to a co-worker about how underrated side projects are. You have beautifully summarized it!

    Moreover, throughout history, I’m sure no one got paid to sit at a job 9 to 5 to invent the next big thing. A lot of interesting stuff and advancements in technology are made [often inadvertently] by people tinkering with stuff in their own time.

    Cheers and good luck!

    Shahnawaz Khan responded:
    January 22, 2012 at 4:43 pm

    @Karthik, good points and I firmly believe that software professionals need to take charge of their own career and not wait for company to give them projects in the area they like. Side projects are the perfect way to do that and more…

    Roberto Vázquez González said:
    August 20, 2013 at 8:26 pm

    I thoroughly agree, software development is about having fun, a passionate job and sometimes we lose the fun part at work because of the time-lines pressure of some projects. So I like the point of seeing side-projects as a blow-off valve where be creative and grow up as professionals. Great Post!

    […] where you are in your career, I strongly believe you should always be working on one (if not more) side project. And you don’t have to be a programmer or a techie, voluntary opportunities exist for every […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s