5 things I learned from Hack-Week
Kaivalya Apte
The GeekNarrator Podcast | Staff Engineer | Follow me for #distributedsystems #databases #interviewing #softwareengineering
Last few days we spent on hacking things and building something interesting, useful and which could not be done as part of regular work. I must say, its an amazing experience overall where you get to work with people who you have never worked with, solve a problem in a limited time with limited resources and knowledge :).
This hack-week, I was the idea owner and responsible for many things from forming the team to pitching the idea and implementation in the project fair. I got to work with great developers and we learned quite a lot from each other.
Here are five most important picks :
1) Define a clear problem statement : To have a clear problem statement, you need to understand the problem first. If you don't understand the core problem don't try to solve it. Do enough research, collect data and facts. Data can really answer a lot of questions and give you more insights of the problem. Once you know the problem, define a problem statement which is clear to the whole team.
2) Prioritise tasks : There will be hundreds of tasks which you would like to finish within the small amount of time you have. But prioritising tasks, can help you decide on a minimal viable product, which makes sure that you will have something that works at the end just in case you aren't able to complete the whole product. Define MVP and prioritise tasks.
3) Do not over-engineer : Sometimes, we tend to come up with solutions which are very complicated and only sound amazing. But in reality, implementing is a pain, time consuming and useless. When you come up with a solution, always take a step back and see how it fits in the bigger picture. Don't go with buzz words - see if its even needed to solve the use case?
4) Do not re-invent the wheel : Try to reuse as much as you can. Also keep in mind, that what you build is also re-usable and extensible. Don't implement all on your own, reach out to people, experts and figure out what's available to reuse. Whether be it hack-week or not, there is always a time crunch.
5) More people doesn't mean more work : A balanced team is a very crucial part of being able to achieve great results. If you have a balanced team, it becomes really easy to move fast towards the end goal. If not, it can distract the overall workflow of the team and you might end up wasting a lot of time on things which do not matter. A team with right number of people with required skill set is very important.
Building something in a hack-week is similar to running a startup, both have lack of resources and time, the only difference is that you have less to lose in a hack-week :)
Despite all the challenges we faced, we were lucky enough to finally build an MVP. In the process we had fun and learnt many things from one another which is what matters the most.
Keep hacking !!