ファインディでは「アウトプットからはじまるエンジニアのキャリア戦略 〜uhyoさんとKOBA789さんの場合〜」と題したイベントを9月に開催。 OSS活動はもちろん、Youtubeやブログなどで積極的にアウトプットしているうひょさんとKOBA789さんにご登壇いただきました。 本稿では、イベントのなかで語られた「アウトプットを実務へ活かす方法」「続けるコツ」「情報収集ツール」「おすすめの発信方法」などについてまとめています。
■パネリスト
うひょさん/@uhyo_
フロントエンドエンジニア
2019年に新卒でLINE株式会社に入社し、金融サービスのフロントエンドを担当。2022年1月から株式会社バベル技術顧問に就任し、同年10月に株式会社バベルに入社。フロントエンドに関する情報発信を得意とし、2022年4月に『プロを目指す人のためのTypeScript入門』を出版。
KOBA789さん/@KOBA789
株式会社アークエッジ・スペース
ソフトウェアエンジニア
筑波大学中退。2017年に新卒でクックパッド株式会社に入社。ログ分析基盤や検索基盤の開発・刷新を行う。2021年2月に退職後、半年間の無職を経て同年9月から株式会社アークエッジ・スペースにて人工衛星関連のソフトウェア開発に従事。
OSS活動を始めたきっかけは「興味」と「憧れ」
──OSS活動を始めたきっかけをお教えいただけますか。
うひょさん:2010年代の前半くらいからGitHubにコードを公開するようになりました。OSSへの貢献を始めたのは、2019年あたりですね。TypeScriptのコンパイラプロジェクトに興味があり、GitHubのissueを見てプルリクを投げてみたのがきっかけです。
──issueを探す際のコツはありますか?
うひょさん:私個人としては他の人が手をつけていないような難易度の高いものにトライするようにしていました。
コツでいうと、good first issueのラベルで探すのはおすすめですね。とはいえ、TypeScriptなど人気の高いものは、good first issueがすぐに取られてしまうことが多いです。数日たっても音沙汰がなければ、放置されている可能性があるので、代わりにやってしまってもいいかもしれません。
──なるほど。KOBA789さんがOSS活動を始めたきっかけについてもお話いただけますか。
KOBA789さん:私がGitHubに登録したのは、2010年の4月8日です。初めて公開したのは、TwitterAPIを叩くためOAuth 1.0AというプロトコルのNode.js向けのJavaScriptコードだったと思います。
GitHubでコードを公開するきっかけとなったのは、“憧れ”ですね。当時、イケイケのエンジニアはGitHubで自分のコードを公開しているという風潮があったんですよ。それを真似してみたのが始まりです。
──現在はどのようなOSS活動をされているのですか?
うひょさん:タイミングがあえば、プロジェクトへのコントリビューションはするようにしています。自分が困ったバグを直すためにOSS活動をすることもありますよ。最近でいうと、VS CodeのESLint拡張が対応していなかったので、プルリクを投げました。
そのほか、自分で作ったライブラリを公開することもありますね。エコシステムを広げたいと言いますか、自分の思想を広めるためにアウトプットしています。具体的には、Recoilがまだ整っていないので、新しいライブラリを作ってエコシステムに加えたいと考えているところです。
KOBA789さん:計画しているものがあり、詳細を話すのは難しいのですが(笑)。最近は力を入れられていないものの、思い入れのあるプロジェクトもあります。
うひょさんと同じように「これを流行らせたい」と思って取り組んでいるものもあれば、意図なくやっているものもありますね。
アウトプットするなら、思いついた日に即行動
──どのような時間帯にアウトプット活動しているのですか?
KOBA789さん:私は連休中にすることが多いです。結果的にOSSになるものは夜にやることが多いですね。急に思いついてしまって、しょうがなく作ることもあります。
うひょさん:私も同じような感じですね。思いついたものは、その日の夜に取り掛かるようにしていて、平日は業務後にやっていますね。プログラム中に技術記事を執筆することが多いため、仕事中にネタを思いつくと大変なんです。1日中、そのことしか考えられなくなってしまいますから(笑)。
KOBA789さん:その感覚、非常にわかります(笑)
うひょさん:「この記事を書きたいな」と思いながら仕事をしているような(笑)。仕事が終わってご飯食べた後にすぐ記事を書き始めて、公開ボタンを押すまで止まらないということはよくあります。
──アイディアがとめどなく出てくるような感覚なのでしょうか。
うひょさん:そうですね。
KOBA789さん:Twitterを見ていて、「これ今乗らないと、時期を逃すな」と思う時ありますよね。
うひょさん:あります。Recoilがでた時はまさにその感覚で。すでに布団に入っていたのですが、リリースを見た瞬間に飛び起きてすぐに解説記事を書きました。
──お二人とも思いついたらその日に書き切ってしまうのですか?
うひょさん:私は一気に書いています。
KOBA789さん:コードに関しては「気づいたら書き切れている」という感覚です。疲れが溜まっている時は、いつの間にか意識が飛んでいることもあって「私は何をやっているんだ」と思うこともあります(笑)。ただ、基本的には1日で最後まで書き切りますね。
──インプット・アウトプットを実務に活かすために工夫していることがあれば教えていただきたいです。
うひょさん:業務で設計について考える機会があると、それを記事にまとめることもあります。似たようなディスカッションが発生した際に、「記事にまとめておきました」と言えるので。
KOBA789さん:外部に公表しても問題のない内容であれば外部向けに発信して、それを社内で展開するのはおすすめですよね。
私は社内のメンバーから技術に関する質問をもらったら、個人のブログに解説を書いて、翌日会社でその記事を見せることもありました。
うひょさん:KOBA789さんのように、外部への発信と社内への還元を両立できるのはいいやり方だなと思いました。
私の場合は、プルリクのレビューに対して、記事を貼り付けることもありますね。
続けるコツは“自分の好きな方法”で発信すること
──お二人がアウトプットを発信される際の方法についてお話いただけますか。
KOBA789さん:私はVTuberとしてYouTubeで動画を配信しています。こういった形で情報を発信している理由は、文章をつくるのが得意ではないからです。個人的には、話しながらアウトプットする方が楽しさを感じます。
また、ブログとTwitterでの発信もしていますね。大変だと感じる時もありますが、自分が楽しいと感じる方法で発信しているからこそ、続けられているのだと思います。
うひょさん:私はKOBA789さんとは対照的で、文章で発信していますね。QiitaとZenn、自分のブログで記事を公開したり、書籍を執筆したりしています。
──Qiita、Zenn、ブログはどのように使い分けされているのですか?
うひょさん:Qiitaは事例や一発ギャグ、Zennは知識を提供、ブログは主に思想や考え方を発信するために使っていますね。
──KOBA789さんは、発信する媒体によってネタを使い分けることはありますか?
KOBA789さん:YouTubeは見る人を意識して発信していますね。Twitterはある程度好きなように呟いていますが、文字数制限もありますし内容には気をつけています。自分の思いが正確に伝わらない可能性もありますから。
ブログはYouTubeとTwitterの中間くらいで、読者を意識しつつ、突っ込んだ内容にすることもあります。
──発信する際、ネタを思いつくための秘訣があれば、教えていただきたいです。
KOBA789さん:私はネタ帳を用意しています。「何か発信したい」という欲求が高まった時にネタ帳を見て、カレンダーと照らし合わせて撮影する日や公開する日を決めることが多いですね。
「ネタ帳を書きたい」という欲求が出てきて、思いついたものを書き留めるだけの時もあります。ネタ帳を書くのは、遠出している時が多いですね。ちょっとした非日常でリラックスすることで、アイディアが出やすいのかもしれません。
──うひょさんはネタ帳など、ストックを用意されることはあるのですか?
うひょさん:私はネタをストックすることはないですね。執筆したいと思ったらその日のうちに着手する、といったスタイルです。執筆依頼をいただいた際は、ネタを温めておくこともあります。
──お二人がどのようにして情報を仕入れているのか気になります。
うひょさん:私はTwitterから情報を仕入れることが多いですね。リアルタイムな情報に加えて、他の方の意見も同時に見ることができるので、参考にしています。
KOBA789さん:私もTwitterがメインですね。Slackで情報収集専用のチャンネルがあり、有益なツイートをしてくださる方の投稿が流れるようになっているので、それも参考にしています。RSSフィードもチェックしていて、AWSのWhat's Newは全部読むようにしていますね。
新しいソフトウェアの情報は、GitHubのフィードでチェックしています。OSSの有名人やライブラリの作者をフォローしてくと、情報感度の高い人がスターをつけたリポジトリなどが流れてくるので、おすすめです。
正しいことが大前提。発信する前には問題を分析
──アウトプットに慣れていない人が発信する際に、おすすめの方法やアドバイスがあればお話いただけますか。
KOBA789さん:私のように話すのが好きな人であれば、LTのイベントに出るのがおすすめですね。大きいイベントで登壇すれば多くの方にリーチできますし、初心者にとってはアドバンテージになるのではないかと。
うひょさん:文章で情報発信をしたい方に向けてアドバイスするとすれば「最初はプラマイゼロを目指せ」です。初心者がコミュニティに対して有益な記事を出すのは、難易度が高いですから。
1点注意したいのは、必ず正しい情報を発信する必要があるということです。最初は自分が学んだことをテーマにするなど、そういった記事から始めるのが堅実かもしれません。正しい内容で、筋のいい書き方をしていれば、著名なエンジニアの方に記事を拡散してもらえる可能性もありますしね。
──“筋のいい書き方”とは、具体的にどういったものなのでしょうか?
うひょさん:媒体によって異なる部分ではあると思うのですが、“正しく論理的な内容の記事”だと、筋がいい書き方をしているなと感じますね。読んだ人が納得できるような構成になっているかどうかが重要なのだと思います。
KOBA789さん:構成は大切ですよね。例えば、自分が過去に対応した問題の解決方法を記事にするのであれば、その方法を選んだ理由や背景を記事内で示した方がいいと思います。コンテキスト抜きに解決策や結果論だけを書いてしまうと、論理の飛躍が生じてしまいますから。
──自身の経験を発信する際にぶつかるのが、問題を分析する難しさだと思います。お二人はどのように問題を分析しているのですか?
うひょさん:自分の出した結論に対して、ひたすら問いを繰り返しています。「なぜなぜ分析」と呼ばれているフレームワークに近いかもしれません。問いを繰り返すことによって、自分の思考を分析するようにしています。
KOBA789さん:私は直感ファーストですね。とはいえ、無条件で信じるのではなく、直感から導き出した結論を仮置きして分析する。うひょさんと似ていますね。立ち止まって分析をすると、自分の直感を超えた解を導き出せることもあります。
うひょさん:直感が間違えていることもありますし、分析作業は重要ですよね。ただし、自分の結論の正当化になってしまわないように注意が必要です。分析したら自分の結論が間違っていたということもよくあります。
アウトプットは無駄にならない。まずは小さく始めてみよう
──今後の目標やキャリア展望などがあればお話いただけますか。
KOBA789さん:個人の活動としては、誰かを驚かすことが好きですので、今後も何か面白いことができるといいなと考えています。
会社員としては、私にしかできない仕事をしたいなと。人工衛星は総合格闘技のようなものですし、興味範囲が広い私の強みが生きる世界だと感じています。
うひょさん:先述した通り、私はエコシステムに貢献していきたいですね。「うひょがRecoilを推しているのであれば、いい技術なのだろう」と思ってもらえるような、信頼される存在を目指しています。
キャリアとしては、今後もフロントエンドエンジニアとしてスキルを磨いていきたいと考えていますね。
──最後に、アウトプットをしたいと考えている方に向けて、メッセージをお願いします。
KOBA789さん:アウトプットをして無駄になることはないでしょうし、最初から崇高な情報を発信する必要はありません。
「私はこれが面白いと感じた」といった意思表明と言いますか。自己紹介のような気持ちで取り組むと、楽しく続けられると思いますよ。
LTイベントには初心者歓迎と謳っているものもありますし、興味があればぜひ挑戦してみてください!
うひょさん:最初から教科書のような記事を執筆するのは難しいですし、簡単な事例紹介のようなものから始めてみるのもおすすめです。
「似たようなネタの記事が既にあるから諦める」といったケースも珍しくないと思いますが、それはもったいない。全く同じ内容にならないように特定のケースとして執筆するか、別のネタを掛け算してオリジナルの記事を作るのがおすすめです。
“正しさ”を軸にして発信を続けることによって技術力も向上すると思いますし、できる範囲で始めてみてはいかがでしょうか。