エンジニアでもデザイナーでもなくともWEBやアプリのチーム開発に飛び込める方法(Civictech Challenge)
Civictech ChallengeCup U-22はチーム開発でのシビックテックなチャレンジを応援する取り組みです。スキルに関わらず誰でもエントリー可能です。未経験からアプリ開発に首を突っこんだ私の体験談的なものが、少しでもあと押しになったら嬉しいです。
1.テックをつくるのはエンジニアだけではない
私が2年ほど前からお世話になっているCode for Japanでやっている「シビックテック」といわれる取り組みは、市民主導で社会課題解決にITを使ってアプローチしていくことを指します。
テックコミュニティにいると言うと
エンジニアとデザイナーしか入れないんでしょ?
と返されることがありますが、シビックテックのコミュニティにいる人のはエンジニアだけではなく、デザイナーやビジネス領域の会社員やフリーランス、地方自治体や行政で働く人、学生などなどあらゆる市民が幅広く参加しています。
2.プログラミング未学習者は何ができるのか
エンジニアじゃないとプログラミングできないじゃないか。と言われるとそれまでなのですが、WEBサービスやアプリをつくる過程はエンジニア以外のチームメンバーも開発プロセスに貢献することができます。
ウォーターフォールとアジャイルの比較(勉強会#1より)
特にアジャイル的な進め方で開発する場合、企画担当者からエンジニアに「渡したらおしまい」ではないので、エンジニア・デザイナーと共同しながら、戦略づくり、ユーザーテストやユーザーヒアリング、競合調査、参考になりそうな他領域のプロダクト調査、外部との交渉や連携、中長期のプランニングや進捗管理など、チーム内外とコミュニケーションをとりながらプロジェクトを進めていくことも大事な役割になります。
エンジニアでなくともプログラミングや開発について知っていることが多ければ多いに越したことはありませんが、必ずしもエンジニアにならなければ関われない訳ではありません。まずは自分ができることで役に立ちながら、できることを増やし、精度を高めていくことも可能です。
3.プログラミングを学びたい場合どうしたらいいのか
いきなりゼロから全部自分で開発するのは難しく、環境設定や最初のステップに取り組み段階で挫折してしまうことも少なくありません。プログラミングを勉強し始めた人が挫折する多くは「わからないことが多すぎてどうしたらいいかわからない」状態のときです。その場合、最初の立ち上げ部分や複雑な設定などはチーム開発に慣れている人にお任せし、たとえ全体像がわからなくても、プロジェクトの進め方など見通しを立てることができる人が全体を設計したあとに、細かく分けられたissueを見比べ、自分ができそうなサイズ・難易度のものから取り組むことで段階的にプロジェクト全体の流れや開発における手順などを理解しながら開発に参加していくことができます。
全然プログラミング自体がわからない!という場合は、初心者向けの動画コンテンツをUdemyやドットインストールなどで観たり、自分に合いそうな本を探して読んでみるところから始めても遅くはありません。私も学部生の頃何度も挫折しましたし、プログラミングスクールの受講をした時も「教材にあることはできるけど汎用性がない問題」に陥りましたが、シビックテックコミュニティにおいては、目的や期限があれば必要なところからツマミ食い的に習得し、実地訓練的にチームの人が書いているコードを見ながら少しずつキャッチアップすることができるような環境になりました。
自分が何がわからないのかがわかるようになれば、知りたいことを検索できるようになれます。検索できるようになればあとはエンジニアさんが書いているはてブやQiitaを複数眺めてみて、①情報が古すぎない②読みやすい・わかりやすい記事を選んで試行錯誤していくことができます。
たまに初心者すぎるポンコツな質問をすると、お怒りになる諸先輩方もいるかもしれませんが、だいぶん山の上の方に登っている方々からすると麓の質問は「何故これを聞く?」と思われてしまうこともあるかもしれませんので、怒られても叩かれてもへこまないでください。
(そしてすでにどんどん登っているみなさんに関しては、4月以降にシビックテックに関わり始めた高校生インターン八谷さんがLTで話した通り、怒らず叩かず「この記事読めよ」くらいでお力添えいただけると幸いです。)
4.デザインを学びたい場合はどうしたらいいか
デザインも敷居が高いイメージがあったり「センスがないからできない」といわれることが多いですが、業界全体で枯渇している人気のUIUXデザイン界隈の仕事も手順を踏んで学んでいけば習得していくことが可能です。
UIUXのうち、UXはより論理的に考えていくことで入りやすい領域ですし、個人的にはUIに関しても「センス」はこれまでのインプットしたものの蓄積から自分がどうネタ帳をつくってアウトプットしていくかの問題なので、後天的にも身に付けられる部分が大いにあると考えられます。
デザインの勉強会の講師も担当してくれるMakoさんがStudioさんで書いているブログにも、なるにはステップが掲載されています。
インプットするだけではなかなかわかりにくいこともあったりするので、色々触って考えてつくってアウトプットしていくことも一緒にやるとよりスムーズに学んでいけるかもしれません。XDやFigma、Zeplinなど便利なデザインツールは増えていますしどんどんバージョンアップされて便利になっています。イラレやフォトショを使ったことがあるならXDが触りやすいですし、チームで使いたい場合はFigmaやZeplinから触り始めてもいいかもしれません。
使いやすいものを選んで練習しながら、DailyUIなどに登録して100本ノックをしながら体得していくこともおすすめです。
一人で黙々とやっていると途中で挫折してしまいがちなので、ちょっと負荷はかかりますが、周りに宣言したり、dribbleやTwitterに載せていくと長続きします。
5.オフラインで会えなくても、オンライン初対面からでも
チーム開発となると、「最初から信頼関係がないと」「気心が知れる間柄じゃないと」「とにかく会って話さないと」と考える人も多いかもしれませんが、オンラインツールの組み合わせで、初対面からのスタートでオンラインのみでもチーム開発でリリースまで進めることは可能です。(私たちもそうでした。)
もちろん私のような初心者が乱入することで誰かに迷惑をかけたりお手間を取らせたりしていることもあるかもしれませんが、その分最終的なアウトプットが社会やチームに役立つ形になれたら、まるっとOKにしたいです。反対に私が色々体得した先で次の初心者のエントリーをサポートできるかもしれないのでペイフォワード精神で借りを作りながらでもやってみたらいいと思っています。
初対面チーム+オンラインのみで開発に使用したツールたち(勉強会#1より)
まとめ:何はともあれ、まずやってみよう
CCC U-22に応募する以外にも、シビックテックなどのオープンなプロジェクトにあるissueに少し参加することから始めてみることも可能です。
特に私たちが今取り組んでいる「おうちで時間割」はコントリビューター(プロジェクトに貢献している人たち)の中に高校生・高専生・大学生のエンジニアがいますし、特定のクライアントに対価をもらって納品するようなものではなく、みんなでつくってみんなで使うものなので、お気軽に遊びにきてください。
2月以降、社会全体の有り様も、働き方も学び方も大きく変わっています。変化に適応していく過程にはストレスも不安もありますが、逆手にとれば、この変化があるからこそアップデートできる働き方や学び方もあるかと思います。
対面で会えなくともオンラインでチーム開発はできるし、東京のサマーインターンに参加できなくとも思い通りに事が進められなくても、別のやり方があるかもしれません。その入り口にシビックテックが役立てると幸いです。
U-22じゃない!という方には、CCC U-22に個人協賛をしてサポートするという手段もありますので、もし良ければ若手の応援をよろしくお願いいたします!