想参加黑客马拉松吗?快来阅读!
你已被召唤!
我该怎么办?
最后,尝试并享受乐趣吧!
定义:维基百科提供,
黑客马拉松 ( 也称为 hack day、 hackfest 或 codefest ) 是一种 类似设计冲刺的活动,其中 计算机程序员 和其他参与 软件开发的人员,包括 平面设计师、 界面设计师、 项目经理和其他人员(通常包括主题专家),密切合作完成 软件 项目。[1]黑客马拉松的目标是创建可用的软件或硬件,并在活动结束前创建可运行的产品。[2] 黑客马拉松往往有一个特定的重点,其中可以包括 使用的编程语言 、 操作系统、应用程序、 API,或者程序员的主题和人口群体。在其他情况下,对创建的软件类型没有限制。
你已被召唤!

我该怎么办?
一旦你适应了这个想法,接下来的想法应该是“我该怎么做?”你需要考虑你的优势、你掌握的工具以及你知道可以改进的地方。你的黑客马拉松有主题吗?或者它是一个更具竞争性的编程挑战,类似于我在 2017 年初参加过的HashCode 。你想达到什么目的?
每个人通过参加黑客马拉松都会有不同的目标:- 想尝试一些新技术吗?
- 有想法改善组织内的一些现有功能吗?
- 想要编写一个工具来帮助加快开发速度吗?
- 想要了解团队动态和每个部门的目的吗?
- 喜欢从头开始构建某样东西的想法吗?
- 你非常有竞争力并且不惜一切代价想要获胜!
选择一些你感兴趣的东西!
无论以上哪种原因让你参与了这个过程,确保你选择关注的是什么,你都感兴趣。黑客马拉松可能是一个漫长而艰辛的过程,而你对某件事的执着和热爱,将帮助你克服任何可能遇到的障碍。寻找 你 认为 存在 问题 的 东西. "
找出你认为存在的问题,然后找到解决方法。Uber和Airbnb就是很好的例子,它们利用科技将现有事物提升到一个新的高度。
随着人工智能助手的蓬勃发展,您可以考虑将 Alexa、Google Assistant 或 Siri 集成到现有应用程序中。健身市场和可穿戴设备带来了新的数据,这些数据可以以实用且有趣的方式被利用。
GPS 跟踪和地理围栏、自动化、大数据和物联网 (IOT) 都是仍处于起步阶段但可以产生令人瞩目的成果的领域。
无服务器系统、容器化和编排(K8S)将在未来十年成为主流,那么,何不将代码迁移到AWS、 Azure或Heroku?何不利用Docker打包应用,或者将 API 方法改为GraphQL?
构建还是实施?
启动你的想法时,你有两个选择:在已有的基础上进行构建,或者从零开始。市面上有很多优秀的框架可以供你使用,从而加快你的交付速度。然而,虽然从零开始构建需要在每个方面进行额外的思考,但它会给你带来更高层次的个性化和自由度。
“不要害怕重新发明轮子”
请记住,Angular是由 Google 创建的,React和GraphQL是由 Facebook 创建的, Cassandra是由 Amazon 创建的,用于解决他们在 Web 界面、API 和存储方面遇到的问题。
什么时候?
给你的准备时间长短会影响你的创作成果。毫无准备就参加黑客马拉松会让你处于劣势。不过,这取决于你的目标:也许这项活动对你来说是一个绝佳的学习工具。无论如何,安排好你的行程、交通、住宿和饮食都同样重要。你肯定不想在开始之前就筋疲力尽!
记得推销你的想法!
如果你的黑客马拉松采用开放的架构,允许不同的想法,你可能需要招募其他人加入你的团队。因此,你需要能够推销你的想法。运用以上几点,明确它的目的,并让它成为现实。记住,在黑客马拉松结束时,你可能需要展示你的成果。
在规定时间即将结束的时候,你可能已经完成了一个很棒的项目,但如果你不能展示它,最终的努力将会付诸东流。市场营销通常不是很多程序员的强项,因此,团队中拥有合适的人员组合对你的成功至关重要。即使不需要正式的演示,记录你的工作成果也很重要。
组建一支优秀的团队
独自参加黑客马拉松是可行的,或许你只是想花点时间探索新事物。不过,在大多数情况下,拥有一支优秀的团队会帮助你更成功地实现目标。
找到对你的想法感兴趣,或者有自己有趣想法的人。确保你/他们能够并且愿意为团队做出贡献。团队聚在一起后,找出你们的优势和劣势,并确定如何分配任务。
不要太乐观:从简单的事情开始,做一些可以成长的事情。
重写谷歌搜索引擎或 Facebook 听起来很棒,但不妨从小处着手。这些产品最初都只提供一些功能,随着时间的推移逐渐扩展。如果你能从基础开始,将你的想法细分,那么如果有时间,可以添加一些延伸目标来改进。
相信我,即使是最简单的想法,也会带来意想不到的挑战。把它看作一个 Kickstarter 项目,你可以根据自己的目标设定目标层级!
展示你的创作至关重要
所以,你有了你的想法,你有了你的团队,你有了你的产品。
是时候推销它了!你已经确定了你的想法的优点和用途,现在你需要展示它。
你打算怎么做呢?
- 做现场演示吗?
- 进行演示
- 制作简短视频
- 撰写有力的文档?
你需要弄清楚哪一个能最好地展示你的 hack 功能。如果它不能完全发挥作用,展示模型或线框图可以展现你没有时间完成的缺失环节,而不会对已经实现的目标产生负面影响。
合作
你们不太可能都在一台机器上工作(你们甚至可能不在同一个房间里!),因此寻找合作实现你们的想法的方法将会影响你们的效率。
Git已经成为了事实上的代码共享工具,所以如果你以前没用过它,最好在 Hackathon 之前先熟悉一下。这里有一套完整的教程,可以帮助你快速上手: https://www.atlassian.com/git/tutorials
Slack、Skype、Messenger 和 Whatsapp 都是不错的沟通方式。这取决于你是否想使用语音通讯、共享屏幕等等。
最后,尝试并享受乐趣吧!
到目前为止,我能给出的最重要的建议就是尝试享受 Hackathon 的体验。
完成后,您甚至可能没有一个可以运行的产品,因此享受旅程和您从中学到的东西将是您获得的东西。
你可能想知道我的尝试结果如何?很遗憾,我们队没能获胜,但我们创造了一个非常强大的工具,我最终对此非常满意。
它是一个代码生成器,可以生成我们内部流程运行所需的一些样板代码。我本来想分享这些代码,但它位于一个包含敏感信息的私有仓库中。我们使用 Node 和一些软件包来构建和填充所需的模板。
在短暂的黑客马拉松期间,我收获颇丰。看到其他人创造出的各种想法和实现,我真正感受到了我们行业创造力的广度。这也让我深刻体会到在如此短的时间内能够创造出什么,以及在如此短的时间内能够建立起怎样的情谊。
但最重要的是,我做这件事很开心!
如果您对以上内容还有其他疑问,或者想进一步了解我们的工作,请在下方评论。如果这篇文章对您有帮助,也请分享!
鏂囩珷鏉簮锛�https://dev.to/chris_bertrand/a-hackathon-guide--what-to-do-how-to-do-it--who-to-do-it-with-3feo