こんにちは!はるです。
先週の土日にWordPressを使ったチームでのWebサイト開発イベント「do_action」に参加してきました。
参加した感想を先に言うと「いい経験になった」ですね。個人で勉強してプログラムを組むだけでは味わえない体験なので、チャンスがあれば参加した方が良いです。
開発と言うと、PCの前に座ってみんな黙々とカタカタすると言うイメージがありますが、今回はデザイナーやライターなど、チーム全員で集まって、誰がどれをやる、これをして欲しいけどできるか?などと話しながらの作業でした。
このチャリティハッカソンに参加した理由や当日の内容、事前準備等に関してお話しします。
Contents
ハッカソンとは?
まず、ハッカソンと言う言葉に馴染みが薄いかもしれないのでお伝えします。
ハッカソン(英語: hackathon 、別名:hack day ,hackfest ,codefest )とは、ソフトウェア開発分野のプログラマやグラフィックデザイナー、ユーザインタフェース設計者、プロジェクトマネージャらが集中的に作業をするソフトウェア関連プロジェクトのイベントである。 ーWikipediaより
開発するソフトウェアやウェブサイトなどに関するチーム員が全員集まって、作業を進めると言うものですね。
メリットとしては、チームとしての判断が必要になることや、分からないことなどがあれば、すぐに担当に聞けること。また、1人で作業するのでは無いので、見られているから集中して作業が捗ることでしょう。
ハッカソン 「do_action」に参加したきっかけと理由
きっかけは所属しているオンラインサロンに「WordPressを使ったハッカソンイベントがありますよ!」との書き込みを見たことでした。
少し考えたところで、参加を決意。いくつかのチームがあったので、開発者で参加できるところを選択してポチっと送信。参加完了です。
参加を決意した理由としては以下です。
・共同で1つのモノを開発すると言う体験をしておきたかった。
・エンジニア転職する際に、共同開発の体験はあった方が絶対良いと聞いた。
・自分の学んだことがどれだけ活きるのか?は確認したかった。
実際とは違うにしろ、現場体験をしておきたい、自分の知識とスキルがどれくらいのものになっているか試しておきたい。そんな思いがありました。
いきなりの実戦で怖くはなかったのか?
降って湧いてきたようなタイミングで、いきなりの参加を決意。怖くなかったのか?と言う声もあるかと思います。
はい、怖くてビビリながら参加ボタンを押しましたw
だけれども、最悪「完成し切らなくてもいい」と言う決まりがあったことや、開発者は2人体制だったこともあって、質問できる環境もできてたことで、割と楽な気持ちでした。
「どうにかなる!」と思えたから参加ボタンを押せたのですね。
ハッカソン 「do_action」のチーム体制
ハッカソンのチーム体制としては
・ディレクター
・デザイナー
・ライター(2人)
・開発者(2人)
・SNS担当
こんな感じでした(募集ページが見られなくなっているので、若干違いがあるかもしれません)
参加者自体は、WordPressでブログを書いている、くらいの方は何名かいらっしゃいました。全く初めて、の方もいらしたと思います。
作業当日はこの七人に運営サイドが数人入って、総勢10人程度でzoomを繋げつつ、 チーム内のみでやりとりしたい時はチャットツールのslackでDMをする流れでした。
slackやzoomが落ちるなど、万が一のためにLINEのオープンチャットも作りましたが、そちらは使用しなかったです。
ハッカソン参加者の事前準備
これは特にありませんでした。強いて挙げるのであれば自前のPCとネット環境ですね。
前日にzoomでチーム員が集まって自己紹介をする、WordPressのテーマは何を使う(今回は3種類用意されている中の、snow monkey となりました)、こんなサイトを作りますと言う事前ミーティングがありました。
レンタルサーバーも運営側でロリポップとShifter の2種類を用意していたので、その点も心配なし。
クライアントの意向(どんなサイトを作って欲しいか)のヒアリングも運営側で行っていて、こう言ったモノを実装しましょうまで纏めてあって、ミーティングで紹介されたので、やることは本当にほぼ実作業だけでした。
ハッカソン 作業当日の雰囲気と流れ
先にも言った通り、喋りたいときに喋る。誰かが作業用BGMをかける。など、割と自由な雰囲気でした。子守りや昼ごはんなどで離席したり、おやつタイムありなど、ガチガチに「仕事!」ではなかったこともあり、緊張せずにできましたね。
分からないことや、どうすればいいのかな?と言うことは、すぐにzoomで発言するか、slackで指名リプをすれば、離席中でなければすぐに返事が返ってくることもあり、非常にスピーディに作業が進みました。
会社の仕事だとこうはいかないと思ったので新鮮ですね。
・社内では基本電話かメール
・メールは余程じゃない限りレスポンスが遅い
・電話は居留守されることもあるし、話してる間は作業できない
使っているツールがそもそも違うこともありますが、返事を待っている時間が非常に短いと言うのは作業スピードが段違いなのはもちろんのこと、待っている間にヤキモキしなくて良いので精神的にも良いですね。
仕事の進捗も「ここが終わったので次にコレお願いします。僕はここをやります」など、slackですぐに作業分担と進捗確認ができるのも大きいです。
オンラインで繋げている方が、ある意味オフラインよりも作業効率が良いのでは無いかと感じました。
物理的に「人を捕まえる」と言う行為が発生しない環境下だからこそ、今やっている作業に集中できるので、逆に生産性が上がっています。
自分のセクションが終わったら?
他のチーム員が作業してても、自チームのタスクが終わっている、もしくは待機状態だった場合。
例えばライターやデザイナーがこんな風にしたいですと意見を述べているときに、個人意見を出すのもOKでした。
担当分野が分かれているときって、自分の守備範囲だけで仕事した方がいいかな、となりがちですが、全員を巻き込んでチームとして作り込んでいる空気があるのは良かったですね。
「どこチームは口を出すな!」となると、疎外感が出るし、チーム全体のギクシャクも生まれるし、そこのチームからは「もうええわ」と参加してもらえなくなりますから。
ハッカソンで自分が担当したこと
phpをゴリゴリに触って開発するかと思えばそうではなく、テーマが有している機能は使う。無いものはテーマに親和性のあるプラグインを使って導入する、または追加CSSを記述すると言ったことが主でした。
もちろん、phpを全く触らないかと言われればそうではなく、例えばアクセス制限をかけたい時にはfunction.phpに追加コードを書くことなどはありました。
今回のハッカソンで実際にやったことは
・メニューバーの実装:テーマ機能と固定ページ
・アクセス制限:fuction.phpへの追記
・問い合わせフォームの実装:snow monkey用フォームのプラグイン導入
・管理者以外のエディタ編集無効化:function.phpへの追記とプラグイン導入
・同じカテゴリ記事だけのリンク:function.phpへの追記
・スパム対策:Akismet Anti-Spamの設定
大まかに、こんなところです。
基本的にはググってどうやるか調べる。一番合ってそうなモノを実装する。正常に動いてるかどうか確認する。実装したことをslackで宣言する。の、流れでした。
分からない単語や不明点が出たらもう1人の開発担当に聞いて解決してました。
少し時間はかかりましたが、どれも問題なく実装ができました。
ハッカソンの結果 WordPressサイト作成完了
2日間の作業で、サイトは完成いたしました。
「図書館」(仮称)リ・デザイン会議 こちらのサイトです。
知らない人同士で、また個々のレベルが分からない中で、上手い具合にコミュニケーションを取って目標地点まで達成できるのか?自分はしっかり役に立てるのか?色々と不安はありました。
ハッカソンに参加している最中も開発同士で「今どこをやっている」が伝わり切れてなかったり、自分でやってて「時間がかかりすぎて焦る」状態になったりしましたが、時間内に終わらせられたので一安心できました。
機会があればハッカソンには必ず参加するべき
個人で学習していると、チームで開発する機会はあまり無いと思います。
だからこそ、転職する時に「ハッカソン参加の経験があります!」と言えると「おっ、一できるやつだな?」と相手に思ってもらえます。
また、チーム開発の勝手が少しは分かっていると、いざ本番になった時に慌てないですむ、遠慮なく何かを聞きにいっていい、と言うメンタル面での自己フォローもできますね。
Compassのようなエンジニア向けプラットフォームでイベントを見つけるか、オンラインサロンなどで情報を得るか、スクールやサロンなどでチーム開発をしているところを見つけるか…方法はいくつかありますので、イベントを調べてみてください。
何も喋らず無言のまま…と言うことは無いです(最低限、slackで喋りますし)し、チームでやってるいるから分からない箇所のフォローが効きます。
怖がらずに飛び込むことで、何か得られるはずですので!