Dear Great Hackers

  1. Qiita
  1. インタビュー

Qiitaコミュニティガイドラインの改定について、トップコントリビューターの伊藤淳一さんとQiita開発に携わるエンジニアが話し合ってみた

2021年4月30日、Qiitaのコミュニティガイドライン(以下、ガイドライン)が約4年ぶりに改定されました。Qiita運営チームとしては、ガイドラインの変更はコミュニティのあり方を大きく変化させる重大な決断だと考えているからこそ、丁寧に発信し、ユーザーの声や反応を真摯に受け止めて、必要に応じてアップデートしていきたいと考えています。

今回は、Rubyプログラマでおなじみ伊藤淳一さんとQiita開発チーム リーダーである清野隼史が、改定されたガイドラインの内容や検討すべき論点について話し合いました。

※このインタビューは2021年6月17日に実施しました。

プロフィール

伊藤 淳一(いとう じゅんいち)
株式会社ソニックガーデン
株式会社ソニックガーデンのRubyプログラマ。 「プロを目指す人のためのRuby入門」の著者。 および「Everyday Rails – RSpecによるRailsテスト入門 」の翻訳者。 プログラミングスクール「フィヨルドブートキャンプ」のメンターでもある。QiitaのContributions数は約100,000(2022年2月現在)でユーザーランキング1位で、Qiita 表彰プログラムで唯一DIAMONDを獲得している。

 

清野 隼史(きよの としふみ)
Qiita株式会社
プロダクト開発グループ マネージャー
アルバイトを経て、2019年にエイチームに入社。Qiita Jobs開発グループでQiita Jobsの開発に携わる。2020年よりQiita プロダクトマネージャーに就任する。趣味はサウナ。

 

「プログラミング」や「プログラマ」という表現を「エンジニア」に変更

清野:今日は、今年4月30日に改定されたQiitaコミュニティガイドラインについてお話させていただきます。約4年ぶりの改定になったのですが、ご存知でしたか?

伊藤:改定前に出されていたブログを読みましたよ。4年ぶりなんですね。
https://blog.qiita.com/notice-community-guideline-update/

清野:ありがとうございます、そうなんです。
今まで我々Qiita運営は「プログラマ」や「プログラミング」という文言を大々的に使っていたのですが、実態としては、エンジニアリングに関する考え方を解説するもの、デザインの話まで、様々な分野の内容が投稿されるようになってきています。
ガイドラインとのズレが多くのユーザーからご指摘をいただくようになってきたので、改めてQiitaとは何かも含めて運営チームで考えて、今回の改定に至りました。

伊藤:具体的にどこが変わったのか、まずは確認しましょうか。

清野:1番の変更点は、「プログラミング」や「プログラマ」という表現を「エンジニア」に変更して、Qiita上でのエンジニアの定義を追加したところです。改定後のガイドラインでは、「Qiitaでいうところのエンジニア」をこのように定義しています。

プログラミングの知識と経験を活用している人

このような定義にした背景をご説明します。 Qiitaは2011年9月11日のローンチからエンジニアに対してサービスを提供してきました。 この年月の流れの中で、「エンジニア」という職種が担う役割が日々広がってきていると感じています。 中には10年前には存在しなかったような技術を扱う仕事や、直接にはプログラミングをしなくてもエンジニアとして仕事をしている人もいます。 広がり続ける役割のなかで、エンジニアという不変の言葉を、「プログラミングの知識と経験を活用している人」という言葉で定義しました。Qiitaでは、仕事でプログラミングをしていなくても、プログラミングを通した物作りに関わっている人、今まさにプログラミングを学んでいる人全てをエンジニアとして扱っていこうと思います。

このような定義をした意図は、多様になってきたQiitaのコミュニティにあわせて、投稿しても良いですよという項目を増やすことです。
今回のガイドライン改定でより多くの記事をご投稿いただけるようになっています。

伊藤:なるほど。この変更の背景を、もう少し詳しく教えてください。

清野:その説明には、まずQiitaの運営会社であるQiita株式会社のミッションの変遷をお話しする必要があります。

Qiitaがローンチした頃のミッションは「プログラマの誰もが楽しくプログラムを書いて、いろんなモノを生み出すことができる世界の実現を目指す」となっていて、4年前のガイドラインが出来た頃は「ソフトウェア開発をよくすることで、世界の進化を加速​させる」でした。

そして現在は「エンジニアを最高に幸せにする」と、Qiitaのミッション自体は時代に合わせてアップデートされていたんです。

現在のQiitaのミッション

伊藤:だいたい3〜4年おきに変わっているんですね。

清野:そうなんですよ。一方で、Qiitaのガイドラインは、2017年に公開した当時からほとんど変えれていませんでした。プログラミング以外も含めてエンジニアリングで解決していこうとする会社としてのミッションと、Qiitaが公に掲げているミッションに、ズレが生じてしまっていたわけです。

例えば、組織論やマネジメントの話など、「記事中にコードは無いがエンジニアのためになる記事」を書いてくれていても、今までのQiitaのガイドラインとしては非常にグレーな存在だったわけです。

果たして、「エンジニア」という表現で良いのか?

清野:伊藤さんとして、初期の頃からのQiitaの変化で、思うところは何かありますか?

伊藤:初期の頃から比べると、いわゆるポエムが増えたような気はしますね。

あとは、エンジニアを目指す人が増えてより多くのエンジニアにQiitaが広がっていった相乗効果として、初心者でもアウトプットしなきゃいけないという文化ができて、「とりあえずQiita書いとけ」という、悪く言えばリファレンスを劣化させたような記事が増えた側面もあるかなとは思います。

確かにすごく役に立つ記事だなとは思いつつ、一方で確かにコードとかは出てこないし、運営としてはどうなのかなと思うような記事もありました。

清野:やはり、そこは気になりますよね。今回、プログラマからエンジニアへとコンセプトを広げたことに対しての印象はいかがでしょうか?

伊藤:「そのような投稿もOKとします」と、運営から公式に発信するのはいいなと思いました。

ただ気になったこととしては、「エンジニア」という言葉が一般名詞でもあるので、プログラマではない人も含まれることがありますよね。自動車のエンジンや橋とかを作っている人も、もちろんエンジニアじゃないですか。

これについては以前からもずっと引っかかっていて、自身のブログなどでもあえて「エンジニア」という言葉は使わず、「ITエンジニア」を使っていました。
ガイドラインで、「Qiitaでいうところのエンジニアとは」と定義はしているものの、もう少し別の表現にできなかったかな、というところは率直に思いましたね。実際にSNS等にもそういう意見はあったと思いますし。

清野:やはりここは気になりますよね。この部分については、そもそもQiita株式会社のミッションを狭めてプログラミングやプログラマに関する内容のみにするかも含めて、結構な時間を話し合いました。

結果「エンジニアを最高に幸せにする」というQiita株式会社のミッションは変えず、そことの齟齬がなるべく無いように定義した方がいいよね、ということになり、広い意味ではあるものの独自に定義することになりました。

様々なご意見は拝見していますし、そのようなご意見があることを想定していなかったわけではないのですが、社内で慎重に議論を重ねた結果ですのでご理解いただけますと幸いです。

伊藤:なるほど。例えばQiita株式会社のミッションをいったん考えないで、その上で最適な言葉が何かを考えたら、ここはなんて言葉になるんでしょうね?

清野:うーん。難しいですね。
少なくとも現状、Qiitaはソフトウェアにフォーカスするメディアにはなっていますが、実際に見てみると電子工作のようなハードウェアに関する記事もあるわけなので、ソフトウェアに限ってはいけないところもあると感じています。

伊藤:エンジニアって広いよね、じゃあなんて言う?となると、答えはバラバラになると。境界をキレイにくり抜いてくれる言葉がないんでしょうね。悩ましいなー。

清野:定義している言葉も、これだけでやっていきますよではなく、今後も業界とQiitaの実態に合わせる形でブラッシュアップさせていきたいと思っています。

プログラミングの知識や経験は必要?必要じゃない?

伊藤:もう1つ質問がありまして、先ほど言った「ポエム系の記事」についてです。例えば、最近の流行に物申す的な「〜〜は死んだ」的な話を書く人がいるじゃないですか。ああいったのをポエムと呼ぶのであれば、それはQiitaとしてはOKですか?

清野:そこは運営だけでは決められないなと感じています。
Qiitaでは、具体的にどこに違反しているかを通報できるようにしていて、何か通報がきたときには、「こういう意見がきていますよ」とユーザー自身に伝えるフローにしています。
逆にいうと、通報がきているからNG、ということではなく、こういうのはQiitaコミュニティでは今のところ不快に思う人が多いようです、という形で共有するというわけです。

伊藤:みんなでルールの境界を考えていきましょうということですね。ちなみに、通報はどれくらいの頻度でくるものなんですか?

清野:だいたい毎週、何かしらの通報がありますね。

伊藤:そんなにあるんだ!なるほどね。
今でもはてなブックマークとかを見ると、これはQiitaに載せていいのかって書いてくる人たちがいて、おそらくはガイドラインが変更されるまではそれが的を得ていたのですが、今回の変更によって「いや、いいんだよ」になるケースが多くなると思います。

あとは、どうやってこれを周知するかですね。あまり知らない人が多いと思うんですよね。知らないからこそ、引き続き突っ込む人が減らないのかなと。

清野:そこは力を入れてやっていきます。せっかくガイドラインを改定しても、見られないと意味がないので。
ちなみに今回の改定について、同じ部分でネガポジ両方の意見があるんですよ。

伊藤:と言いますと?

清野:ポジティブな意見としては、プログラミング以外の内容もOKになったことでグレーじゃなくなるんだ、というものです。
一方でネガティブな意見としては、逆にプログラミングじゃなきゃダメなんだと認識する人もいました。数学とかノーコードとかは投稿しちゃいけないとか。

伊藤:「プログラミングの知識と経験を活用している人」という部分が、両方の捉え方をされてしまったということですね。
ちなみに「ノーコードってプログラミングじゃないよね?」に対しては、どんな考えになるのですか?

清野:ノーコードは確かにプログラミングそのものではないですが、プログラミングに関わる知識は少なくとも使うことになるので、「プログラミングの知識と経験を活用している人」に該当すると考えています。

伊藤:そういうことですよね。僕もいいじゃんって思っている人なんですけど、突っ込む人は突っ込むだろうなと。

清野:だからこそ、何回も発信しなきゃと考えています。

間違った解決策がどんどんと増殖していく問題への対応は?

清野:運営としてもう1つ懸念していることがありまして、今回の改定で色々な内容がOKになったことに付随して、逆に自分にとっては不要な投稿も、どうしても増えていく可能性があります。この部分について、コミュニティとしては懸念しています。

伊藤:投稿内容も、より多様になるでしょうからね。

清野:Qiitaとしては、以前から情報のパーソナライズを積極的にやっています。つまり、ユーザーの行動ベースで、その人にとって面白意図思われるコンテンツを提供する体験を目指しています。なるべく全員が利益を受けることができる体験にしたいなと思っていて、その仕組みをうまく活用したいなと思っています。
今ですと、例えばホーム画面ですね。

伊藤:ホーム画面ですか、僕はほとんど使っていないですね(笑)

清野:そうなんですね。普段はどんな使い方をされていますか?

伊藤:タイムラインでタグとかで追いかけていることが多いですね。だいぶ前に、まだホームフィード機能ができた頃にホームをクリックすると、いつのやつだろうという記事が出てきて、そこから早々に開かなくなっちゃいましたね。
今見ると、そうでもなくなっていますね。

清野:ここの部分は日々アップデートしています。

伊藤:やっぱり、もっとPRが必要ですね。アップデートしているという。

清野:頑張ります!最近はそういったQiitaのアップデート情報をリリースノートで出したり、その情報や障害の情報を届けやすくするためにTwitterアカウントの整理をするなど、情報が伝わりやすくなるように改善を続けていきたいなと思っています。
他に、ユーザーとしてQiitaにこうなってほしい、というものはありますか?

伊藤:正直に言いますと、初心者によくありがちな、間違った解決策がどんどんと増殖していく問題がイヤだなと。ここでエラーが出たらRubyのバージョンを下げればいいよ、みたいな。いや、そうじゃなくてというやつです。僕としては辛いなって感じています。

清野:初級者・中級者・上級者、それぞれの人数がQiita内で増えてきている中で、今回のガイドラインは横の部分を整備した形になるので、縦の部分も考えなければですね。

伊藤:縦の部分というと例えば、Downvoteボタン(よくないねボタン)があったほうがいいのではないか、という意見もありますよね。
清野:そういったご意見はフォームやSNSで拝見するので、一定の需要はあると感じています。

伊藤:初心者が萎縮しちゃうというのもあるんですけどね。コメントとか編集リクエストとかで対応するのですが、これが本当にいたちごっこでして。Qiitaの影響力が強いだけに、難しいなーと思っています。

清野:そうなんですよね。正しくない情報があがることは、Qiitaとしても嬉しくはないので、それも含めて難しいなと思います。
おっしゃる通り、みんなで直していくという方向で進めていきたいと思っているので、コメントや編集リクエストを使ってほしいのですが、まだまだ機能として足りていないとも感じています。

伊藤:実際、行動に移す人も少ないですよね。僕なんかも、違うなって思っても、仕事が忙しいとそのままそっと閉じちゃうこととかありますからね。

清野:機能改善はもちろんですが、伊藤さんみたいな方を増やしていくことも大事だなと思います。運営だけだと、どうしても技術の偏りが発生してしまいますからね。

Qiitaへの貢献をユーザーに還元できる仕組みを作りたい

伊藤 : 記事のメンテナンスをする人を増やすにはどうすると良いと思いますか?

清野:Qiitaとしては、貢献活動に対するインセンティブを模索しているところです。お金にするかは分かりませんが。

伊藤:Stack Overflowを作った人は、お金じゃダメだと言っていますね。結局お金にすると、どこかのタイミングで悪い人が入ってくると思います。
(参照 : https://www.youtube.com/watch?v=NWHfY_lvKIQ

実際に広告で収入が入るようになってから、インターネットに質の悪いコンテンツが増えてしまっていますしね。

清野:Qiitaの方向性としては、何か良質な記事を書いたことで、もうちょっと大きい規模でその人に還元ができたらいいなと思っています。例えばイベントに登壇してもらったりとか。まだまだ構想段階なんですけどね。

伊藤:評価で還元するのは、いいような気がしますね。Qiita投稿がきっかけで、本の執筆につながった人もいますからね(苦笑)*¹ジャストアイデアで言うと、出版社の人などは記事を書いてくれる人を探していますから、Qiitaがブリッジするのとかも良いかもしれませんね。

*¹ 伊藤さんご自身がQiitaの記事がきっかけで、Rubyの本を執筆されています。

清野:いいですね。今以上に記事投稿や編集リクエストなどの貢献を評価できる仕組みを作りたいなと思っているので、しばしお待ちいただければと思います。

編集後記

今回はQiitaコミュニティガイドラインの改定についての話し合いでしたが、いやはや、「エンジニア」という表現であるべきか否かの議論は考えさせられますね。概念として広すぎるので認識の齟齬が発生しやすくなるという意見はもっともである一方で、Qiita運営会社の思いとして「エンジニア」という表現を使いたいという考えもよく分かります。

いずれにしても、このような議論が巻き起こることこそが、Qiitaが深くエンジニア(この場合の「エンジニア」の解釈はさておき)に浸透していることの表れだと言えるでしょう。引き続き、良質でポジティブなディスカッションとそれに伴う良質でポジティブなアップデートに期待したいなと感じた次第です。

取材/文:長岡 武司

関連記事