ハッカソン体験記〜よわよわエンジニアこそアウトプット〜


こんばんわ、よわよわエンジニア代表keisukeことH.yukiです。
<a href="https://talent.supporterz.jp/events/10039b10-edd7-4777-8d84-06f7e92ffbc6/">サポーターズ主催のハッカソンvol.11「エンジニアの技術力を可視化するアプリケーション」</a>に参加致しましたのでその体験記です。

##サポーターズ主催のハッカソンとは
>2日間(事前開発OK)で成果物を創ってエンジニアとしてレベルアップするオンラインハッカソンを開催します。
ハッカソンとは、ハック（hack）とマラソン（marathon）を組み合わせた造語で、短期間で集中して開発を行うイベントです。
定期的に開催している技育CAMPハッカソンでは、なんと9割以上のチームが最後の成果発表まで辿り着くことができています。
学生さん限定で、ハッカソンを完走するために安心の体制を構築しておりますので、夏休み前に何か一つ創ってみたい、みんなでわいわい開発してみたい、という方のご参加をお待ちしております。

というもので初心者の私でもサポートや事前に使いそうな技術の勉強会もあり、気軽に参加できるハッカソンとなってました！

##テーマと制作物
今回のテーマは「**エンジニアの技術力を可視化するアプリケーション**」でした。
まず第一にこのテーマで作成するにあたって考えたのは、「技術力とは一体なんだろうか？」というものでした。
前回のチーム制作コンテストでも学んだ一つのこととして、**土台となるテーマが曖昧な理解**だと結果的にできた制作物も曖昧なものとなり、ユーザーの体験としてもふわふわしたものになり、作る側も使う側にも良い結果をもたらさないと体感したのでまずはテーマに**抽象性**をより**細分化**させて可視化させることに注力しました。
そこで、技術力の定義を考えました。

https://paiza.hatenablog.com/entry/2019/05/10/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E8%A9%95%E4%BE%A1%E5%88%B6%E5%BA%A6%E3%80%81%E4%BB%96%E7%A4%BE%E3%81%AF%E4%B8%80%E4%BD%93%E3%81%A9%E3%81%86%E3%82%84%E3%81%A3%E3%81%A6%E3%82%8B

などの記事を参考に実際に企業がエンジニアの技術力に対してどのように評価するのか？を徹底的に調べていきました。

最終的に、
###技術力とは「**知識+実現力+応用力**」
と定義しました。
>知識・・・プログラミング力や技術的な理解の深さ、アルゴリズム
実現力・・・企画、システム開発能力、マネジメント
応用力・・・企画に対して持っている技術の当てはめなどの現在持っている資源でどうやって企画を達成するかなど

テーマの具体化が終わったところで次にどういったターゲット層にアプリケーションを作るかを考えました
ペルソナの考えとして一番行いやすいのは自分自身に近いターゲット層です。
ですので、今回は学生、若手エンジニアで就職、転職のために自身の技術力はどの程度なのかわからなくて困っている人をターゲット層にし開発を始めました。

作成物のイメージとして、**一人で技術力(知識+実現力+応用力)が可視化させられるアプリケーション**と決定しました。
→自分が作ってきたものに対して垂直質問と水平質問を繰り返して自分の技術力を表面化させてあげるもの？
→なぜその知識を使って課題を解決しようとしたのか、どのようなことを工夫したのかを明確化させられるアプリケーションをつくると結果的にユーザーの技術力を可視化させることができそう？ 
と考え、自分が作成した制作物を入力し、5W1Hの質問に答えていくと自分の成果物に対して自分の技術力を表面化させてあげられるようなワークショップアプリケーションを作ろうとしました。


##結果的にできたもの
![workshop.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/764631/a2680ce3-8c13-1b54-203a-fae45465062a.png)
上記のような10の質問に答えていくと自身の制作物に対して一人でも他者に対して技術力を明示させることができるワークショップアプリケーションを作成しました。
Next.js(Typescript)+firebase+tailwind(css)で作成しました。
##できなかったこと
当初はGithubのリポジトリを読み込んでそのリポジトリに対して質問を投げかけていき、なぜどのように作ったのかを明確化させ、出力させるアプリケーションを作りたかったが技術と時間が足りず断念しました。
質問も固定の10の質問ではなく、さまざまな質問の中で選べるようにしたかったが時間不足でした。
また、typescriptもJavascriptもほぼ未経験の中だったのでNext.jsを使っていていろんなエラーに時間を費やしすぎ、Githubのリポジトリ表示機能を追加できませんでした。

##ハッカソンの結果
ハッカソンの結果はなんと・・・・・・・・・努力賞に入賞いたしました！

https://twitter.com/geek_pjt/status/1457258909672955904?s=20

https://twitter.com/geek_pjt/status/1457274497107595269?s=20

最優秀賞と努力賞の2つなので実質準優勝では？（←違う
けれど周りの作品がすごいものばかりだったので自分の作品が入ると思っていなくて本当にびっくりしていました。
⇩驚きすぎた私のtweet

https://twitter.com/sskei11/status/1457276503981322243?s=20

このような機会を作ってくれたサポーターズさん本当にありがとうございました！

##ハッカソンに出場して得たもの
時間内で必要最低限な部分を作りきるスケジューリング力をまずはつけることができました。
このような感じでやることと期限を明確化し、ずれが生じると機能を切り捨てていきながら調整していきました。
![スクリーンショット 2021-11-08 22.00.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/764631/497445ab-d1bf-6d7e-bf7b-b2d42d4a8624.png)

次に、つよつよエンジニアと関わることで自分の方向性を見つけられることです。今回約２０のチームが参加し、1日目夜や2日目に交流する時間があったのですが、技術的に強い方が多く参加していたので話していくうちに自分の足りていない部分を見つけられ、モチベーションが湧いてくると共に自身がどういう点で活躍できそうか？などが発見できました。(僕なら着眼点のような企画よりな部分が強みっぽい？)
みなさん技術力、経験してきたことが本当にレベルが高く、２日間でこんなとこまでできるの！？と感じることが多く、非常に刺激になりました。また、今回入賞することで自分の企画への取り組み方、技術力についても自信がつきました。

また、アウトプット力も身につきました。自身が作った制作物を端的にまとめ、伝える力がプレゼンを行うことでつきました。

また、色々なハッカソンに出場したいのでこれからも頑張ります！

最後にはなりますが、自分をハッカソンに導いてくださった<a href="https://twitter.com/takashiho_2">たかっしー</a>さん：<a href="https://kobe-engr-lab.connpass.com/event/228909/">【第13回】初学者歓迎！技育展優秀賞 神戸大学生 LT「はじめてハッカソンのすゝめ」</a>、また、神戸の学生エンジニアへの手厚い支援としてくださり交流の機会をくださった<a href="https://twitter.com/kobe_engr_lab">Kobe x Engineer's Lab</a>さん、本当にありがとうございます。


https://twitter.com/sskei11