Dear Great Hackers

  1. イベント

mpyw&無職やめ太郎が語る「Qiita はこう書く」〜「Qiita Engineer Summit 2021 Winter」イベントレポート


2021年12月17日、エンジニアとして活動している方を対象にしたオンライントークセッション「Qiita Engineer Summit 2021 Winter」が開催されました。こちらは、“Be a Contributor”がメインテーマとして据えられて、「エンジニアリングは社会に、そして世界にどう貢献できるのか?」を各企業が考え、取り組むそれぞれのエンジニアリングについて語るべく、Qiitaが主催したものとなります。

第7弾、最後となるセッションテーマは「mpyw&無職やめ太郎が語る「Qiita はこう書く」」です。アウトプットについてファンの多いお二人による、ざっくばらんな「Qiitaの書き方」トークについてレポートします。

※本レポートでは、当日のセッショントーク内容の中からポイントとなる部分等を抽出して再編集しています。

登壇者情報

石橋 良介 (mpyw, まっぴー)
株式会社ゆめみ
PHPテックリード/バックエンドエンジニア
そろそろ別の言語に移住しているつもりだったのですが、縁あってかPHP&Laravelとその関連OSSを一生書いてます。よろしくお願いします。

 

徳本 嵩(無職やめ太郎(本名))
株式会社ゆめみ
フロントエンドエンジニア
いつも関西型言語でQiita記事を書いています。よろしくお願いします。

Qiita芸人?

--それではお二方、よろしくお願いいたします。

まっぴー・やめ太郎:お願いしまーす。

まっぴー:ちまたでTwitter芸人とかQiita芸人とか色々言われているんですが、はい、この二人でやらせていただきますので何卒よろしくお願いいたします。内容は初心者向けになってしまうので、Qiita熟練者の方は、まぁ初心者の頃の気持ちを思い出しながら聞いてみてください。ていうわけで、始めていきますか。

やめ太郎:はい、お願いします。

まっぴー:自己紹介から軽くいきまーす。ゆめみ所属のmpyw(エムピーワイダブリュ)と書いて「まっぴー」こと石橋と申します。現在PHPテックリードという職域を担当しています。専門分野はLaravelで、関連OSSをいくつかメンテさせていただいております。Qiitaの記事も過去に色々と投稿させていただいております。次にやめ太郎さん、お願いします。

やめ太郎:はい、私も同じくゆめみ所属の「無職やめ太郎」と申します。普段Qiitaでは関西型言語を用いた記事を主に投稿しております。本日はよろしくお願いいたします。

まっぴー:関西型なんですね。

やめ太郎:関西型言語、まぁ単に関西弁の漫才みたいな記事書いてるだけのを、それをかっこよく言っただけなんですけど、はい。

まっぴー:俺も使っていこう。

やめ太郎:関西型言語。

まっぴー:関西型言語。はい。何か漫才みたいなイラストも貼っておりますけどこんな感じで。

Qiitaとの出会いと、個人的に思い出深い記事

まっぴー:まずはイントロで「Qiitaとの出会い」ということで、自分はQiita歴はまだ10年くらいです。最初の頃はプログラミング学習において参考書ベースで進めてたんですけども、ちょっとプログラミング言語の細かいところに興味関心が向くようになって、そういうことを調べてると、参考書だと全然教えてくれない情報ばっかりで、いざ探してもネットにも見付からないってことが結構頻発してたんすよ。で、こういう不満を抱えてたところで、自分がこれをまとめないといけないなって気持ちになって、そう感じてちょうど良いところで見付けたのがQiitaだったという。そこから、何か発見がある度にひたすらQiitaに書いていくってことを繰り返してたら、Qiitaっていうサービスが好きになっていったなぁという過去があります。はい。

やめ太郎:はい。

まっぴー:やめ太郎さんは?

やめ太郎:まっぴーさんとかはもうQiita歴がだいぶ長いと思うんですけど、僕の場合はまだ3年くらいで。

まっぴー:そうなんですか!

やめ太郎:僕はそうですね。

まっぴー:ふーん。

やめ太郎:僕がプログラミングとか始めてからは、検索したらもうQiitaがでてくるみたいな。技術投稿サイトと言えばQiitaやろ、みたいな感じだったんで。

まっぴー:なるほど、なるほど。

やめ太郎:出会いっていうのはもう自然にプログラミングとか勉強している中で検索すると、またこのサイト出てきたなみたいな感じで、もう当たり前に出会ったっていう感じですね。

まっぴー:意外と何か、自分がアーリーアダプターだったってことを今知って、感慨深いところがありますな。

やめ太郎:あー、そうですね。僕からするとそんなイメージです。まっぴーさんとか。昔から活躍されてるみたいな。

まっぴー:いえいえ、ありがとうございます。じゃ次いきますか。

まっぴー:「個人的に思い出深い記事」ってことで、ちょっとあの懐古厨みたいになってしまうんですが、思い出に残ってるやつをちょっと大雑把に挙げると、PHPの挙動めっちゃ細かく調べるシリーズっていうので、ファイルアップロードの例外処理とかそういうところで、公式のマニュアルでさえ手抜き気味の説明だったりするんですよ。

やめ太郎:あー。

まっぴー:場合によっては、その通りのコード書いて実際にそれをプロダクションに放ってしまうとエラーとか脆弱性が生まれてしまう懸念があって、自分ちょっと神経質なところがあって、網羅性100%じゃないと気が済まない、こーゆー時はこーするっていう全て考えられる場合には対応してないとっていう気持ちがあったので、今となってはちょっとやりすぎな部分もあったのですが、バックエンドエンジニアが持つべき姿勢としては間違ってなかったと思います。そんな感じのことをひたすら書いております。はい。

やめ太郎:そうなんですね。僕も個人的に思い出深い記事ということで、やっぱり3年くらい前に初めて書いたQiita記事が思い出深いですねー。何かその頃、オブジェクト指向みたいのがバズってて。

まっぴー:はいはい。

やめ太郎:これは自分が記事書いたら面白くてわかりやすくて、めちゃくちゃバズるぞーみたいな根拠のない自信を持って、ちょっともう初投稿から会話調の記事で、「ワイ何とかかんとかやー」みたいな記事を書いてたんですけど、面白いし分かりやすいしバズるぞーみたいな。

まっぴー:うんうん。

やめ太郎:と思って書いたら全くいいねが付かなくて。5いいねくらいは、まぁありがたいことに貰えたんですけど、すごく悲しかったのが思い出深いですね。

まっぴー:まぁでも何か、迂闊にそのオブジェクト指向について喋ってバズってしまうと、いたるところからマサカリ飛んできて痛い目みるのが今だったら容易に想像つくんで、結果的には。

やめ太郎:そうですねー。なるほど、良かったのかもしれません。

まっぴー:ですねー。はい。じゃ、次いきますかー。

やめ太郎:はい。

読者ターゲットは?

まっぴー:次はメイントピックで「Qiitaはこう書く」というところに踏み込んでいきたいと思います。
まずは「読者ターゲット」っていうところで、設定しているっていう観点で自分の記事の書き方を説明すると、ずばり中級者レベルをベースラインに置いてます。

やめ太郎:うん。

まっぴー:あくまでそれをベースとして、いかに上下に広げられるかっていうことを最大限努力するようにしています。ここで言うレベルについては相対的なもので、自分がどの位置かってのはあまり気にせずに、自分よりも分かってない人と、その自分よりも知識を持っている人どちらに対しても何か面白い情報を提供できるという視点って考えると良いと思います。
で、まずいかに初心者がついて来やすいように書くかっていう観点だと、当たり前のことなんですが、初心者は論文のようにだらだら書かれた文章を絶対に読みたくないんですよ。

やめ太郎:あー。

まっぴー:じゃあそこのハードルをどうやって超えるかという観点で言うと、一番手っとり早いのが図表をふんだん使う。文字よりもそのイラストとか箇条書きとかがあると、結構入りやすいかなというところにはなります。
そして、覚えるだけでなく理解してもらうことが目的の場合は、最低限ここまで理解してくれたら一般的には問題ないレベルだよみたいな感じで、最初に全部詰め込むことを強制せずに安心感を与えられるっていう、その辺も結構大事な観点になってくるかなと思います。初心者目線だと自分はこんな感じで考えてます。

やめ太郎:なるほど。ありがとうございまーす。

まっぴー:はい。

やめ太郎:僕は読者ターゲット、そんなにちゃんとは意識してないんですけど、僕自身が文章を読むのが苦手で、もっとワイみたいなアホでも読めるような記事があったらいいのになぁっていつも思ってるんで。

まっぴー:うん、うん、うん。

やめ太郎:何かもうアホでもわかるようなわかりやすい記事、みたいなことを意識しているので、まぁそういう意味で言うと、読者ターゲットはアホの人かもしれないですね。

まっぴー:アホの人、はいはいはい。

やめ太郎:あと自分は、Qiitaとか技術記事を、ちょっとお酒飲みながら酒の肴に読んだりするんで、ちょっと酔っ払ってても読めるくらい頭にスルスル入ってくるような記事を書けたらいいなみたいのもあるんで、そういう意味だと読者ターゲットはまぁアホと酔っぱらいかもしれないですね。

まっぴー:酔っぱらいがついてくるんですね。なるほど。
いま自分、初心者について言わせてもらったんですけど、上級者についても言わせていただきたいと思います。

やめ太郎:はい。

まっぴー:上級者の方は初心者とは逆で、公式マニュアルの情報の転写とか、そういうことしてるだけでは一歩足りないと。絶対に物足りなく感じさせてしまうっていう問題点があります。じゃあどうすれば良いかというと、実際にそのコードを書いた人だけが踏んでしまう、あのーエアプしているだけでは分からないような細かすぎて伝わらないハマりポイントとか、そういったものを詳しく書きすぎない範囲で、それとなくおまけとして付けておくと、独自性がでて面白い記事になるんじゃないかなってとこで。

やめ太郎:あー、確かに。

まっぴー:そして更に、意見が分かれるようなテーマの場合は、自分は最終的にそのどっちの意見を支持しますってことを根拠と共に示すと、たとえ同じような記事が複数出てきたとしても、統計的に価値のある情報としてインターネットに残るとは思います。

やめ太郎:結構考えて書かれてるんすねー。

まっぴー:全然そんな、考えて書いてないんすけど、いざ自分がその記事書く時どう書いてるのっていうのを、今回のこのセッションのために自分で自分のことを考え直してみた結果、実は結構考えてたんだってことが反対に分かったっていう経緯です。ちょっと長くなってしまいましたが。

やめ太郎:なるほどです。ありがとうございます。

記事はどういう順番で書いていく?

まっぴー:次、「記事の構成を書く順番」について喋っていきたいなと思います。大きくは3つくらいあるんですが、まずは自分が結構得意としている「単発ネタ記事」について喋りたいと思います。

やめ太郎:はい。

まっぴー:よくある記事として、何かしらハマった問題と、それに対してこうすれば良いよという回答。こういう記事が一番書きやすいかなってことで、結構多くの場合に有効だなと思います。で、ここにどうやって足していくかっていう流れなんですが、何かいきなり問題に遭遇したわけじゃなくて、手を動かしていたら色々と上手くいかなくて、こうこうこうだったよって何かしらの背景があると思うんですよ。ってことで、唐突に問題が始まるよりは、記事を読む時にとっかかりやすいメリットがあると思います。

やめ太郎:なるほど。

まっぴー:そして後ろの回答ですが、「単純にこうすれば良いよ、終わり」じゃなくって、それを味付けするような回答の補足ってことで、これを入れると4部構成になって、この時点で肉付きができてくるんじゃないかなと思います。
それで最後に、TL;DR (TLDR)を前に置いて、最後をまとめで締めてあげる。そうすると、全然内容を読まないような人でも、最初の方だけ見てだいたいの内容を分かってくれるし、読んでて内容忘れてしまったとなった時も、最後のまとめを見て「こういう記事だったな」ってのが頭の中で整理できる。なので、記事として結構完成度が高くなると思います。

やめ太郎:確かに。やっぱり何か背景があって、問題があって困った困り事があって、それを解決してくれるよ、みたいな記事は結構僕も好きですねぇ。

まっぴー:有益って言うとアレですけど、はい。作るモチベーションは上がる方の記事だとは思いますね。
で、ちょっと単発ネタ記事の派生ではあるんですけど、次の「説明や整理が主体になる記事」は、でっかい主題があるわけではないんだけど、例えばあんまり詳しい情報がなくって、自分が調べて表にまとめるしかないみたいな時ですね。
こういう場合はこの結果になる、こういう場合はこの結果になるってことを、ひたすら苦行のように全部しらみつぶしに調べていって、上手いことまとめるっていう。

やめ太郎:あー。

まっぴー:これはまぁケースバイケースで、全てこの通りにやって良い記事ができあがるかっていうと難しい部分はあるんですけど、必要に応じて、必要性感じたらその都度投稿していくみたいな感じで良いかなと思ってます。

やめ太郎:なるほどー。でもまっぴーさんの記事って、ゆめみの社内のSlackでも、「この記事良かったー」とか「この記事に助けられたー」みたいなのを結構見かけるんで、そういう意味ではさっき仰ってた読者ターゲット中級者みたいなところにバチバチ刺さってるなぁと思って見てたりしますね。

まっぴー:嬉しい話、ありがとうございます。はい、そして最後は「会話形式の記事」。これに関してはちょっと自分の専門外って部分もあるので、やめ太郎さんにプロフェッショナルとして、語っていただきたいなと思います。

やめ太郎:ありがとうございます。僕はこの会話形式の記事を最近は良く書いてるんですけど、元々は会話形式っていうよりは、ワイっていう人が一人だけ登場する「独り言形式」みたいな記事を書いてたんです。

まっぴー:ほうほう。

やめ太郎:何でそれを書き始めたかっていうと、例えばプログラミングのことを勉強してる中で、分からないことがあったりして。公式ドキュメントとか読んでみても、この場合はどうなんだろうとか結構疑問が残ったりして、手を動かしてくとよく理解できてきたなーみたいな、だんだんとステップアップして自分が理解してったプロセスを ワイくんに独り言で語ってもらえば、読者の方も僕が理解したプロセスを追体験することができて、僕と同じような理解に到達できるんじゃないかみたいなことを考えて、みたいなのが最初でしたね。

まっぴー:そこから登場人物が増えて、娘さんとか出てきますよね?

やめ太郎:そうでしたね。娘さんが出てきたのは、やっぱりタイトルが強いと結構読んでもらえるかなみたいなのがありまして。それでタイトルが『3歳娘「パパ、関数をカリー化して?」』って。

まっぴー:絶対言わないでしょ(笑)

やめ太郎:言わない(笑)でも、そのタイトルが降りてきた時は、ちょっと震えましたね。

まっぴー:天才ですね。文豪ですよこれは。

やめ太郎:いやいや。まあ、そんなとこですかねー。

まっぴー:はい、じゃあ次いきますかー。

やめ太郎:はい。

記事を書きたくなる動機は?

まっぴー:次は「記事を書きたくなる動機」ということで、今喋ってたとこと若干被る部分はあるんですけど、ググり方を工夫しないと情報が出てこないのが大きな部分ですね。
最近Google検索でも、日本語の検索が結構ノイズ多かったりして、そのまま初心者が思いつくようなワードを入れても出てこないってことが実は結構あるんです。Googleを一時的に英語の設定に変えて検索したりとかしないと出てこないような情報しかない時に、自分がQiitaっていうSEOの強い場所で日本語の記事を書くことによって、ググり能力に関してまだ初心者だって人の助けになればなっていう。

やめ太郎:あー、確かに。

まっぴー:で、未知の解決策プラス自分が実際に手を動かしてコードを書かないと解決できないって時は、都度OSSで作ってたりするんですよ。技術的課題と共に作ったからこれ使ってよみたいな感じで宣伝して、GitHubもスター数増えてウハウハみたいな感じで、そんな感じでやってたこともありました。

やめ太郎:なるほど。良いっすね。

まっぴー:やめ太郎さんはこの辺はどうでしょうか。

やめ太郎:そうですね。何かプログラミングのことについて調べたりしてて、出てきたドキュメントとか記事がなかなか難しかったりして、なかなか大変だなぁと思ったら、逆に「これはチャンスや!」と思いますね。

まっぴー:自分が、そこ何とかしてあげてみんなに貢献したい、という気持ちになりますよね。

やめ太郎:そうですね。この、ちょっと難しい題材をアホでも酔っ払いでもわかるような記事に仕上げたら良いんちゃうか、みたな風に思ったりするのが動機だったりしますね。

まっぴー:ありがとうございます。じゃ次行きますか。

やめ太郎:はーい。

Qiitaがどう役にたったか?

まっぴー:「Qiitaがどう役にたったか」ってことに関して、これは「自分が書くこと」と「他の人の記事を読むこと」の2点について説明したいと思います。

やめ太郎:はい。

まっぴー:まず自分のことに関して、これはもうずばり就活時にアウトプットと見なされるっていうか、見なされました。もうこれ最強だと思います。で、GitHubと合わせてOSS活動をすると、コード書く能力もあるし、日本語をうまく使って他者に説明する能力もあるしってことで、この2点で評価されることになるので、周りからの評価が爆上がりだと思います。

やめ太郎:たしかに、そうですねー。

まっぴー:で、Qiitaの良いところは、転職しても基本的には自分のアカウントの記事なので、自己PR資産としてずっと使い続けられるっていうのもアドバンテージになります。

やめ太郎:良いっすねー。まっぴーさん、結構若くからやってましたもんねー、Qiita活動。

まっぴー:そうですね、大学生くらいからもうひたすら。あの頃、普通に働けって親に言われてましたけど、結果的に引きこもってQiitaに記事書きまくってたのが就職につながったので、まぁ良かったと思ってます。

やめ太郎:良いっすねー。やりたいことやって、就職にもつながってみたいな。

まっぴー:運が良かっただけかもしんないですけど。

やめ太郎:大学生くらいからやられてたから、がっつり就活にも役立ったって感じですね。

まっぴー:役立ってますね。役立てようとしてなかったけど、何か役立ってしまったんですよねー。

やめ太郎:僕も、今のゆめみっていう会社に入る時に結構役立ちましたね。Qiitaでちょっとプチバズった記事を何個か書いて、ゆめみのカリポリ君って子とまずはQiitaで知り合って、QiitaきっかけでTwitterでも相互フォローになって、カジュアル面談してもらって会社に入社できたんで、僕もQiita記事を書くことで思いっきり就職に役立ちましたね。
まっぴーさん、他の人の記事を読むことで役に立ったことは?

まっぴー:何より、新しい技術に関心を持つきっかけになる、ってのがデカイですね。

やめ太郎:あー。

まっぴー:たとえば、英語でまとめられてるようなRFCとかIETFとか、ああいうところの文章を自分で持ってきて細かいところまで読むってよりも、その辺を読むのが得意な人がいい感じに部分的にまとめてくれて、日本語にして見やすくしてくれた情報を読む方がだいぶ楽で。当たり前なんですけど。

やめ太郎:ですね。

まっぴー:自分が本当に得意な分野に関しては一次情報を取りにいって書くってのをやりたいけど、正直自分、そんなに頭のいい人間じゃないので、それ以外の部分に関しては他の人のおこぼれを有効活用させてもらって、吸収効率を高めるっていうのは大事なことかなと思いますね。

やめ太郎:僕も全く同じかもしれないです。TypeScriptとかの公式ドキュメントなんかを見たりしますけど、でもやっぱりuhyoさんとかまっぴーさんとかも、フロントの記事も書かれてますもんね。

まっぴー:あれは初めて就職したベンチャーで、最初はPHP要員だったはずがフロントもやってみたいな感じでいきなり仕事が飛んできて、経験が全然ないなかでLinuxを使ってとか既存コードの改修とかをやってるうちに、ちょっとこれ整理しないと明日忘れるんじゃねって情報にぶちあたって。それがあのLinuxの周りのやつだったんですよ。

やめ太郎:なるほど。そのおかげで、やっぱ公式ドキュメントよりも分かりやすいんすよねー。

まっぴー:うんうんうんうん。

やめ太郎:記事とかもあったりして、結構すごい役に立ってますね。

まっぴー:最近でこそ落ち着いてますけど、あの頃のフロントエンドってライブラリとかが乱立してて、情報が断片的だったりするんですよ。なので、一箇所読んだらだいたいどうすれば良いかわかる、って記事を生み出すのは結構需要があるんじゃないかなと思いました。

やめ太郎:なるほど。

記事を書く時間はどうやって確保している?

まっぴー:って形で、そろそろもう時間ですかね。ちょっと余裕ありますが、こんなもんで良いかな。

やめ太郎:そうですね。もしZoomのQ&Aとかで質問とかしてくれる方がいらっしゃいましたら、ぜひともお願いします。

まっぴー:あ、一個きた。
「記事を書く時間はどうやって確保してますか」。
あー、これはそうですね、ゆめみで言うと、たぶんこの時間は確保しやすい方かなと思います。「10%ルール」っていうのがあって、1ヶ月の勤務時間の10%だけ自分が自由に使える時間の規定があるんですよ。ゆめみは結構そこにがっつり投資してくれるので、良い会社だなと思いながら制度を活用させていただいております。

やめ太郎:おー、僕もそうですね。1ヶ月20営業日として、月に2日くらいは好きな研究とかに使っていいよってルールなので、Qiita記事を書くのが研究にあたるのかどうか微妙な気もしますけど、それを使ったりして書いてます。

まっぴー:業務に関することだったらぜひぜひ。

やめ太郎:あと、たまに忙しい時はQiitaを書く時間がなくて、徹夜して泣きながら「ワイはなんとかやー」って書いてる時もありますね。

まっぴー:また酒飲みながら(笑)

やめ太郎:そうですねー。

まっぴー:そういうキャラなんですねー。

やめ太郎:ってことで、質問ありがとうございましたー。そろそろ時間きちゃいましたね。

--お二人とも発表いただきありがとうございました。時間もちょうどでございます。

まっぴー・やめ太郎:はーい。ありがとうございました。

取材/文:長岡武司

関連記事