今日推荐开源项目:《你的名字 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/