You may have noticed, if this is not your first time here, that our site has gone through some massive changes. And if you have been following us over the years, you might have also noticed several open source efforts pushed out by us. There is even more to come. We have also undertaken more than a few side projects, a few of which are launching soon. No, we don't have Shiny Object Syndrome. Why we do it is more an answer to the question, "if you could change or make one thing that would add value what would it be?"
These are not client paying projects, but rather they are internal projects that we undertake. I won’t imply a falsity that we are able to finish all of these projects, and some of them can span months (and years, in some cases). Some might say it’s a waste of resources for us, but I disagree. There are several solid reasons for creating new side projects and rebuilding existing ones.
One reason for these projects are to use them as learning vehicles and out of curiosity. There are new languages (we are having a blast learning Elixir language), new frameworks, new versions of existing frameworks (Angular 2, React Native), new methodologies and so on. If all we did was client work we always take the chance of falling into the trap of using what we are most comfortable with to do the job. Using what we think will allow us to build the fastest. This is not always a bad thing, and honestly, it is extremely useful to have your power tools to complete a project fast. However, is it always the correct toolset for the product being built? We are strong believers in using the right tools for the job. And rather than wander too far out of our comfort zone during a project, we get to wet our minds on the new tools and possibilities without the pressure of a client in waiting or missteps on a paid project.
Another reason to work on these side projects is to fuel the passions of our team. I have been programming for a really long time, but it only took me a couple of years into my career to wonder how many times I could write the same set of functions again and again. I remember when the movie Top Gun came out the there was a Navy recruitment table at the front of the theatre. Because everyone that joins gets to fly jets, right? No. Only a small percentage gets to be pilots. I’m not saying that most developers are coding the equivalent of scraping barnacles off the bottom of a boat, but let’s face it, the work can get redundant. I like to believe that a majority of developers started developing not just for a career, but because they found some joy in it. Maybe it was a hobby first, like it was for me. These side projects allow our developers and ourselves to play and dream, again. To rekindle the feelings of late night coding sessions without the lack of sleep. It keeps guys motivated, loving what they do and builds camaraderie.
Of course, there is at least one other great reason to start these side projects, and to sometimes turn them into full-blown projects where our resources and time become a serious investment in them. That reason is based on the entrepreneurial spirit of generating alternate avenues of revenue or to increase your brand for marketing purposes. Basically, we’re all dreamers and have ideas. We like to choose both the fun ideas and what we think might be “winners”, and just start working on them. A successful project could turn into some passive income, a new product, business or more.
The great thing about the above reasons is that a failed project cannot even exist. As long as something was learned, the project held value. If it motivated someone, the project held value. If it brought in new business, exposure or revenue then certainly the project held value. How can this be applied to non-development companies though?
2amigos Consulting Group can help you build your next great project. Have a need or an idea? Get in touch and let’s talk.