A Developer's dilemma : Products vs Projects
Written on March 25, 2018
Estimated reading time :
3 mins
Background story
- I regularly meet many young developers who take on work as it comes. Trending technologies & the reputation of the company matters a lot since it adds to resume value. However the nature of work matters too.
- I remember my uncle’s words at the begining of my career “What do you want to work on ? Products or Projects ?”. I didn’t understand the value of this question then. But I do now.
- While a developer should be concerned primarily with problem solving, the complexity & nature of problems matters a lot. Choosing the right type of work ensures you get what you want.
Products
Pros
- Its great to work on Products in 2 cases :
- Its a new product which solves a real world problem in a way others dont.
- Traveling on a path less traveled, means you also encounter unique stumbling blocks on the way. Taking a crack at solving them often leads to great opportunities to learn.
- The team usually consists of highly motivated individuals & the desire to make a difference can be very infectious !
- It usually involves a startup like environment in which things can be quite hectic. However working in this environment for a few weeks/months prepares you for life & gives you the ability to deal with most stressful situations well. Too much of it can lead to a burnout though - so know when to say ‘no’ too.
- Its a well established product making revenue.
- The need to stay ahead of their competitors ensures a constant desire to innovate.
- Being well established ensures good support from the management.
- Its a new product which solves a real world problem in a way others dont.
- In both cases, there is a big need to innovate & to distinguish themselves from the competition. For the developer, this means a lot of research, learning & high motivation to make an impact. Working on a product forces developers to think about the big picture.
- There usually is more work satisfaction developing a product since long term goals are quite important here.
Cons
- Working on a clone of another product which doesn’t get much traction in the market can be detrimental to one’s career.
- Working on a Product in an organization which specializes in Projects can be a problem since there is a usual tendency to continue with approaches of Project management rather than evolving to Product management. This is especially true when its a new product.
- If the product has a monopoly over the market, then people can become complacent.
Projects
Pros
- Exposure to a variety of technologies.
- Learning from other people due to changing team compositions.
- The added pressure of sticking to deadlines leads to well defined sprint goals.
- Regular deployments lead to a good routine of iterative work. Less chances of complacency.
Cons
- Tight deadlines are pretty common here & can be stressful after a while.
- Can lead to lesser work satisfaction since deadlines lead to compromises.
- Extended contracts can lead to longer time in a single project. Development can then turn to a regular maintenance causing learning to plateau.
Final thoughts
- There is no definite answer. The logical answer is probably - “it depends”.
- Each path has different learnings. Working on both products & projects will lead to better understanding of your tastes. Good practices in one can be applied to the other too.
- So learn from both & choose the right path for yourself. Don’t be surprised when the paths converge at times