Hello folks, Many programmers and companies are talking about side projects these days.
Do you think it's important for a developer to invest their personal time in building something cool?
Do you think it's important for a company to allow its developers to work on something apart from the main project?
Share your views!
I feel it is important for both developers to spend time exploring new technologies and an employer to promote such culture. The latter I think falls under the Innovator's Dilemma.
It is important for a developer to explore new ideology and technologies and way of doing things do add to their own confidence in choosing a particular technology/method over another.
But should a company promote something not directly linked to its working and not adding to it's growth? Is it fair to compensate for something which is not benefitting the company in return?
If it does not let its developers innovate, it might face disruption in terms of technology or adoption. And it risks the loss of faith of employees. People who are highly motivated will continue to work on personal projects and will eventually move a organisation where such endeavours are encouraged. This is not a doomsday scenario but just one of the many things people want to work at a particular place. Personal development is a big plus!
What they call "side projects", I call "practice" and "dedication".
If person after a work is doing same thing again and doing it on weekend, than this person has more practice in his or her field. More practice equals experience. It also shows that this person has interest, dedication and motivation towards his or her field. Will you hire an older man who just learned software engineering because of good salaries or a student who spent years in this field and loves it?
Both, practice and dedication are core components of success. If you really want something, but not doing anything, you will never move forward. If you are just doing something and don't care about it, you will never bring best results for the people. Many people are wasting time, doing some actions, but only few win, have you asked yourself why? Because last ones iterated and adapted more. Dedicated person more likely to see own mistakes, more likely is willing to learn something new, to optimize own processes.
Dedication is a fuel of success.
Mind controls body, body controls actions, actions interact with physical world, interaction with physical world bring real results. First, to control the mind, person should say to him or herself - "I want it", "I, mindfully, am aware and understand what it will take" and "I really want it". This is where most of the people fail. There is a huge difference between "I want" and "I really want" and without mindfulness, progress will be very short. Person must be aware of many problems and failures he or she will face in the way.
More practice builds reflexes, trains subconsciousness and resilience. Person with more practice is more likely to recover after a stress and to do so faster, and less likely to run away from responsibility or surrender.
Businesses need success, businesses need experience and businesses need dedicated and reliable people. If person can't answer a question "Why are you here?", then why this person is even here?
I don't care are you watching anime, dramas, scrolling Facebook or working on side projects, until you get stuff done.
From legal perspective, employees have rights for lunch / free time, sport activities. If person wants to spend some time still sitting on the chair and writing other code, this is only this person's decision. So far there is no illegal or forbidden action (by company policy, for example), everything is fine.
However, there should be clear line between practice and very dangerous blind fanaticism.
At the end, business is ONLY about real world results, it means doing what needs to be done and not what people want to do.
Today, I would say, especially in younger professionals and startups, this blindness is the most dangerous part, for example, you may have an amazing expert in your team, but that person will be doing what he or she wants with or without your company and not what you really need at a time. Executives and managers need to learn to distinguish dedication, goal oriented people from fanatics.
I would say it varies, but overall, I would work with a person who I already know and what he or she is capable of by looking on those side projects. After all, around a hundred of those side projects made me who I am, and given me experience from many other domains, like design, writing, marketing or business.
I consider it very important.
Let's put aside the option to work on personal projects during work hours, as others pointed out. That's plain unethical (unless you have permission to do it).
For a developer, it's a perfect occasion to learn something new. Found a new framework or technology your company doesn't dare to try? Make something good with it, maybe the company will be more willing if its employees have experience with it.
For companies, the reason may be the same. You take the new technology, build something not-so-important with it, and who knows? Maybe you can make some extra income, or it even becomes the Next Big Thing™.
All in all, if you have the time and enthusiasm (and budget, in some cases), go and do it. You can only profit from it (hint: learning that a give technology is not for you is also an important lesson).
As somebody who is self-employed (doing freelance, contract, and consulting work) my perspective on this might be a little different since I'm my own “employer” as much as any of my clients are :D
I have always cared about design and helping people, so while I was trying to use my design skills to help people (build a Ruby on Rails web app) I ran across a problem with responsive design.
I had a few choices:
Exploring any of the options would have helped me. Option 1 means more paid hours of labour for me, Option 2 means less paid hours of labour, but possible some hours of tool-building, and Option 3 means after it's built, everyone in the world will have less billable hours but also be able to build more things with the same time + resource (or build the same things with less time + resources). I prefer doing work where the employee's interest and the employer's interest are aligned (Option 2) but it can be even better if the same work that benefits you and your employer can also benefit the whole world (Option 3).
So I took Option 3 and started the research that would lead to the EQCSS project! Once I had figured out what we needed, instead of having my client pay for it and own the plugin, I hired a developer for about 2 weeks of labour to help me write the first version of the plugin and released it as open-source. Now me, my clients, and everybody else in the world can benefit from the same solution.
As time moves on, having that side project has saved the day almost once a month for something we need to do - this has only energized me with inspiration to build even more side projects. If EQCSS was my first CSS-related plugin in 2015, I just released my 20th CSS-related plugin less than 2 years later!
So… What is the value of a 'side project' for the employer?
I could try to pitch all this 'tool building' as a necessary part of the work I charge to clients, but then I feel like I wouldn't be able to open-source it and release it in a way that everyone (including my clients) can use it and benefit from it. So I believe strongly enough in the importance of these 'side projects' as my own employer to fund them myself with my own unpaid time, or even by paying money out of my own pocket to hire developers to help me build the things I can't build myself.
If you're an employer and not sure about the value of these side projects, I question how you can afford to not to do them!
If you, as an employee, work on some side-projects during work hours and also manage to do your work-related stuff then this is, in my opinion, just personal and professional development, it's like doing a course on pluralsight, it helps you by offering you new challenges. On the other side, if you drop work-stuff in order to work on side-stuff then this might end up as a problem.
So, I think that yes, a company should allow its developers to work on what they want as long as their work-related progress is on track. e.g.: pluralsight, courses, side-projects, open-source.
Bhojendra Rauniyar
Software Engineer
Bhojendra Rauniyar
Software Engineer
Learning something related to the company project is not a side project but it directs to be a main part for the project. It is the key role for the project and it may or may not be allowed depending on company type, size and its policy.
Developer working on their own project for some company hours is strictly disallowed by any company.
Working on something cool or developers own projects are so called side projects and it must be accomplished at company off hours (in home). It is encouraged for any developers.
It would only be good idea if and only if company provides the environment for learning something new for the developers. It would benefit both parties, employers and employees.