開源日報 每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,堅持閱讀《開源日報》,保持每日學習的好習慣。
今日推薦開源項目:《你的名字 MyDiary》
今日推薦英文原文:《Why Hackathons Make You a Better Developer》

今日推薦開源項目:《你的名字 MyDiary》傳送門:GitHub鏈接
推薦理由:幾年之前你的名字電影里那個傳說的日記 APP 估計有不少人都記憶猶新,既然如此自己把它創造出來就好了。這個項目是根據那個電影中出現的 APP 實現的安卓版日記應用,目標自然就是為了和電影里的應用一毛一樣了,儘管 Google Play 上的鏈接已經撤掉,但是時至今日實現這個想法的成果也有不少,運用所學實現自己曾經喜歡但是做不到的事情的感受真的很好(預感到下一個被實現的應該就是天氣之子的項目網站了)。
今日推薦英文原文:《Why Hackathons Make You a Better Developer》作者:Ilya Lyamkin
原文鏈接:https://medium.com/better-programming/why-hackathons-make-you-a-better-developer-81ef8f4a9385
推薦理由:Hachathons 應該算是隨處可見的詞語了,那麼這是一個會帶來什麼樣影響的活動呢

Why Hackathons Make You a Better Developer

Pressure makes better programmers, faster

Over the course of my life, I』ve participated in more than 20 hackathons, so I might be a little biased on them, but on the other hand, I know a lot about how they can be useful.

Let me start by explaining what a hackathon means to me. In general, it』s an event of short duration (usually one or two days) where people come together to creatively solve problems. Hackathons can be themed, where the projects are confined to a particular problem such as food sustainability or returning citizens.

Reasons to Participate in Hackathons

Now that we have covered the definition, we can start with the reasons why you』ll become a better developer by participating in hackathons.

Extreme programming

It』s very easy to forget about speed while working with Scrum processes, so let』s bring the former back. With short deadlines and ambitious ideas, hackathons teach you how to code fast and, more importantly, think fast.

If you』re wondering why it』s that important, the reason is that you』ll know your limits much better and will be able to push them even further after the hackathon. You』ll not only be surprised by how much you have achieved but also understand your areas of growth.

Learning how to estimate your efforts better

Due to the limited time, proper estimation is essential for your success. If your estimation is incorrect, you won』t be able to achieve what you planned in time. The truth is, at a hackathon, you』ll notice that your estimations are far from perfect. Use this fact to your advantage and adjust your estimations so that it doesn』t happen at work.

Creative thinking

Hackathons teach you how to solve a known problem creatively. In the first stage, ideation, you have to come up with a unique and fresh idea. If you think that』s all, actually, this is just the beginning. Now it』s time for execution, and you have to be creative at every step of the way because you』ll never have enough time or well-defined processes. Something will always break most unexpectedly, and you』ll need to find a viable solution to be able to ship the product in time.

Learning new technology

Hackathons are perfect places to learn something new. If you use React.js at work, try Svelte. Writing back-end with Java? Learn Kotlin! Or completely switch your stack from front end to back end, and the other way around. Maybe you want to get into VR. This is your chance.

Networking

Hackathon is an excellent chance to talk to fellow developers and like-minded people. You can get a big picture of what they』re working on and which tools they』re currently using. Think of it as a conference where you also have to code.

Iteration-based approach

At hackathons, you should focus on building a minimum viable product, which means you should be able to drop parts that are not required and then iterate over it. That』d allow you to ship a product where you can show something to people even if you can』t finish this cool new feature in time.

Learning how to split tasks in the best way

If your team consists of four or five people, you have to make sure your team works as one organism and utilizes the abilities of each team member. Be ready to communicate with your team actively and split the product into several independent pieces. Without proper separation of concerns, four people would work as two with clearly divided tasks.

Shifting focus to bring business value

In our work, you can easily forget why you』re writing code and what value it brings to the end user. On the other hand, at hackathons, you』re solving real-world challenges — and thinking about them in the first place. It shifts your vision from just code to a big picture of what you』re trying to archive.

Workshops

It』s popular to have workshops that you can attend at the time of the event. They could be about new technology or about soft skills like improving your resume. They can be highly beneficial if you have just started your career or want to learn something new.

Getting feedback

Hackathons are one of the best places for validating your ideas. In your normal life, it』s hard to find someone who will be both honest and willing to spend time reviewing your ideas. Other options include using your personal network or paying for ads. At hackathons, you get all of that for free, and from people like you.

Giving feedback

I know a lot of people who find joy in helping and teaching others. By doing so, you can learn what others are doing and, if you have expertise in that area, help them. The best way to grow your network is to be helpful, so actively seek out these opportunities.

Having fun

Ultimately, this is what hackathons are all about. Don』t worry if you』re not going to be able to present a perfect product, just have fun. If your hackathon takes place in a different city or country, take advantage. Get to know the local culture and engage in unique experiences.

How To Get Started

If you decide to give hackathons a chance, there are several resources to check out.

The first is Major League Hacking (MLH). It』s the official student hackathon league that runs over 200 weekend-long invention competitions.

Second, make sure to go over Junction Hackathon and TechCrunch Disrupt Hackathon. They』re one of the biggest independent hackathons in the world.

Last but not least, check Meetup to find local hackathons in your city.

Conclusion

I hope I convinced you to take a look at hackathons. It would definitely not be easy to code for two days non-stop, but the results will pay off. You』ll learn a lot about yourself and your limits, find out how to estimate and split tasks, and understand how to apply your skills to solve real-world challenges. And don』t forget to have fun.
下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/