When doing a side-project to add to my resume to learn a new tool (e.g. Spark, Airflow, dbt since I'm a Data Engineer) or even a new language, how long should a good side-project take?
I know this question is incredibly ambiguous in that side-projects can have tremendous variability in terms of their depth and breadth, and I know that the best side projects (those with real users) can never end if you're constantly improving them and taking feature requests.
Still, if I'm a beginner to them and am trying to add 2-3 in the next, say, 3 months, how long (in terms of hours) should a decent side-project take?
I believe Gayle Laakmann Mcdowell says you can do a good resume project in a weekend. That's ambiguous (2 hours or 48 hours straight?), but it at least bounds it.
I believe Gayle Laakmann Mcdowell says you can do a good resume project in a weekend. That's ambiguous (2 hours or 48 hours straight?), but it at least bounds it.
This is somewhat correct but is mostly wrong (unless we're talking about 48 hours worth of time being distributed across an entire month or something).
It's somewhat correct because building the v1 of what can someday become a successful portfolio project shouldn't take you that long. Ship something imperfect and hone it. All the side projects I've shipped (several with 100,000+ users) I built their initial versions in 1-2 days of hacking.
Now here's why Gayle's statement is mostly wrong:
And that's why building a truly meaningful side project is difficult. You have to build, deploy, and then iterate, iterate, iterate, doing the hard work of dogfooding it, listening to user feedback, and improving it bit by bit every week. There are no shortcuts here.
So let's go back to the original question: How long should a decent side project take? Here's my experience:
I talk about all this more in-depth in our new side projects playlist: [Taro Top 10] Building Impressive Side Projects
You want two different things:
My answer is different for each.