iOSアプリエンジニアとしてのコミュニティ活動とは
はじめまして、アプリケーションエンジニアのゆーたろー(@yutailang0119)と申します。現在所属している株式会社はてなでは、自社サービスのスマートフォンアプリの開発を担当し、開発チームのテックリードも拝命しています。
▲イベント参加時の写真(画像提供元)
本業以外の場だと、エンジニアのコミュニティ運営や副業にも取り組んでいます。今回はiOSアプリエンジニアとしてのコミュニティ活動の話を中心に、副業やキャリアについてご紹介できればと思います。
コミュニティ活動は、主にOSS(Open-source software)や技術記事の執筆、勉強会、カンファレンスでの活動などを指します。特に私の場合は、「カンファレンスにスタッフとして関わること」を重視して行なってきました。
コミュニティメンバーの業務内容
▲カンファレンスでの活動(画像提供元)
コミュニティの運営メンバーになると、次のような仕事をすることになります。(あくまで一例です。)
- イベントページの作成
- スピーカーの検討、打診
- 会場や食事の手配
- スポンサー企業とのやり取り
- チケット販売
- ノベルティ作成
これまでの経験から担当することもありますが、基本的には自分から手を挙げて決まっていきます。
メンバーによって関わり方の濃度やコミット量は変わりますが、開催が近くに比例して忙しくなり、開催直前は週10-20時間ほどかかることもあり、開催前日は準備に奔走しています。それ以外の時期は、月に1回MTGとそこでアサインしたタスクに個々で対応していくことになります。
エンジニアが普段関わらないような仕事に触れることができるので、そういった意味での新鮮さもあります。また、地理的な制約については、関東に住んでいなくとも、オンラインでやれることが多くあり、私が関わっているカンファレンス以外にもノウハウが蓄積されていように感じます。
「PyCon JP」がカンファレンス参加のきっかけ
私が初めてカンファレンスにスタッフとして関わったのは、「PyCon JP」でした。私は、新卒入社からiOSアプリ開発をメインとしていましたが、趣味でWebプログラミングの勉強をするにあたり、周りに精通した人もいたことからPyhonを選びました。
勉強会にも参加し、コミュニティに知り合いが増えると学びの機会が増えることを強く実感したため、その年の「PyCon JP 2015」で初めてプログラミングカンファレンスに参加しました。
カンファレンスでより多くの繋がりと学びを得るためには、スピーカーになって登壇するなど、アウトプット側に回ることが効果的だと考えています。私は本業ではPythonに触れる機会が少なかったため、「PyCon JP 2016」からスタッフとして関わるようになりました。
「PyCon JP」では、主にメディア対応や告知などを担当し、当日はなんでもやる精神で、会場内を右に左に駆け回っていました。その他にも特技を生かして、2016年と2017年の開催時に、iOS版のカンファレンスアプリをメインでリリースしました。
「PyCon JP」での経験を生かして、「builderscon」や「try! Swift」にもスタッフとして携わるようになり、特に「try! Swift」は本職のiOSアプリと近いこともあり、業務にも直接還元できるようになりました。
カンファレンスに参加する魅力
カンファレンスの目的の一つは、人と人が新たに出会うこと、そこから新しいなにかが生まれることだと思っています。これは自分自身がカンファレンスやコミュニティ活動を通じて、交友が広がり、技術領域も広く深くなった経験があるためです。
自分が普段属するコミュニティ内でも、知識領域にはそれぞれグラデーションがありますし、別コミュニティに飛び込めば、自分が全く知らなかったことに触れるきっかけになったり、自分のメイン言語との違いについて議論できたりします。
また、カンファレンススタッフをしていて、交流から次回のカンファレンス発表に繋がった場面を見ること、これに勝る感動はありません。
コミュニティで広がるキャリアの選択肢
▲イベント登壇時の写真(画像提供元)
副業の開発案件や技術記事の執筆依頼につながる
自分の学びのために関わってきたコミュニティ活動ですが、自分が思っていた以上に交友関係は広がり、コミュニティの枠を超えて、多くの友人ができました。特にカンファレンスの場合、海外からもスピーカーや参加者が来日するため、交流の幅は全世界です。
また、カンファレンススタッフとしての関わりやスピーカーとして登壇した実績から、副業として開発案件に声をかけていただいたり、技術誌での特集の執筆にも繋がりました。
現在の勤務先もコミュニティの知り合い経由
現在所属している株式会社はてなには、前述の「PyCon JP」や「builderscon」、「try! Swift」ではてなの社員と多く関わっていたことが、入社のきっかけのひとつとなりました。入社後も続けているコミュニティでの活動は、社内でも評価されていて、活動を支援してもらえています。
履歴書にもカンファレンススタッフ経験を書いておくと、話題のひとつになるかもしれません。
コミュニティの入り方
カンファレンススタッフへの参加は至ってシンプルで、自分から声を上げることです。多くのカンファレンスでは、事前の準備から関わっているスタッフとは別に、カンファレンス当日の運営をサポートしてくれるボランティアのスタッフを募集しています。
いきなりコアスタッフでの参加ハードルは高いため、まずは当日スタッフでカンファレンスの裏側や他スタッフの雰囲気を感じてみるとよいでしょう。
iOSでの副業案件
▲カンファレンスでの交流風景 (Photo by CC-BY 4.0 一般社団法人PyCon JP Association / 画像提供元)
さて、本業以外の活動でもう一つ、副業の開発案件があります。今は時間を取れず、稼働している案件は無いですが、一時期集中して取り組んでいました。一例をご紹介します。
案件内容
- サービス概要:コミュニティ価値の可視化によって、運営を支援するプラットフォーム
- 業務内容:iOSアプリの機能開発、環境アップデート
- 稼働時間:週10~15時間
- 開発チーム規模:エンジニア4人 (iOSアプリは、正社員1人がサーバーサイドと共に共に担当し、クライアント実装を自分が手伝っていた)
- 使用技術:Swift、GraphQL
友人経由で紹介され、iOSアプリ開発のメンバーとして参加しました。すでにファーストリリースを終えた段階で、機能拡張を進めて行こうというタイミングでした。
それまでメンバー1人で開発を行なっていたため、開発環境面でのアドバイス・アップデートも行いました。紹介してくれた友人以外は初対面で、かつ私が京都にいるため、完全にオンラインでのやり取りとなり、コミュニケーションの面では少し苦労しました。
その分、非同期でのやり取りを重視し、自分がやりやすい時間に稼働できるなど、裁量は大きく任せてもらえました。開発内容自体も、私がGraphQLに興味があると知った上での紹介だったため、GraphQLについて学びながらプロダクションのコードを実装することができ、非常に糧となる経験でした。
本業・副業・コミュニティ活動の相互作用
コミュニティ活動も副業も、本業ではまだ扱っていない技術に触れられこと、お互いに良い影響を与えていることが良い点です。
例えば、先ほど紹介した案件でも、モバイルアプリ開発にもGraphQLが進出して来るだろうと予感して経験を積みたいと思っていました。結果的に副業で実務経験を積むことができ、ここで得た経験は本業でも活かされています。
そして、もともとこの副業案件は、コミュニティ活動で自分の交友が広がっていたこと、自分の技術関心についてコミュニティ内で発信していたことがきっかけです。
コミュニティ活動の多くは、自身への還元が見えづらいことかもしれません。しかし私は、これまで関わってきたコミュニティ活動の一つ一つが、私のキャリア形成に大きく寄与してきたと断言できます。