個人チャットなどでの技術相談に対しての自分のスタンス

ソフトウェアエンジニアが個人チャットなどで無償の技術相談を持ちかけられた時の自分なりの対応指針

mono 
8 min readOct 6, 2019

TL;DR

  • 個人チャットなどでの技術相談への対応は、基本的にこちらに一方的にコストだけかかるのでやめてほしい
  • 有償の仕事としてなら請けるか検討可能
  • お金をかけずに解決したいなら、各種質問サイト・コミュニティなどあるので、そこで質問してください(偶然僕が喜んで無償で回答することもあり得ます)

先日こういうツイートをしました。「対応の仕方に悩む」と書きましたが、自分なりの考えは元々あるもののそれを伝えること自体がけっこうな手間なので悩ましい、という感じでした。

良い機会なので、今回自分のスタンスを記事にして、今後はこれを渡すだけで済むようにしてみます。

前提として技術相談への回答は我々ソフトウェアエンジニアの仕事そのものである

前提として、我々ソフトウェアエンジニアはビジネス上の課題をコーディングに限らない何かしらの手段で解決してその対価を受け取ることを生業としています。

技術相談への回答は、その仕事内容の典型例の1つであり、普通に考えれば対価が発生して当然です。個人チャットで来た技術相談へ回答するには貴重な個人の時間を捻出する必要があります。

有償の仕事としてなら請けるか検討可能

なので、仕事として相談されれば対応検討します。積極的に募集していないですが、一応以下のページでざっくり条件記載していますので興味あればご検討お願いします(条件は自身の状況によって変わるので随時更新しています)。

知り合いなら、ちょっとした相談程度なら良いのでは??

まず、「ちょっとした相談程度」の線引きが難しいですし、どの程度であれ、きちんと回答するにはそれなりのコスト(主に時間)がかかります。そもそも「ちょっとした相談程度」という軽いものならば、自己解決してほしいです。それができない程度の難しい問題について尋ねていることであり、それを無償で簡単に回答してもらおうという考えはおかしいことだと理解してほしいです。

個人チャットへの回答は世に知見が蓄積しない問題

技術的な回答を個人間だけで済ませてしまうと、せっかくの知見が世に蓄積せずもったいないです。その回答を別途何かしらの形に整えてシェアしたりすればある程度両立できますがそういうことまでやっている人は少ない印象です(僕はそういうやり方はよくしますが)。

お金をかけずに質問して回答を得られるかもしれない場の紹介

とはいえ、お金をかけずにで解決したい疑問があることも理解できます。個人的な質問の場合それに対して安くない支出が伴うには抵抗があるかもしれませんし、会社の仕事として必要な場合もお金はあっても手続き的にやりにくいという場合などもあると思います。

調べて自己解決

いかなる場合でも、まずはググったり公式ドキュメントやその他発信を探して自己解決を試みましょう。そもそも僕自身99%この方法で知識を蓄積していて世のソフトウェアエンジニアも大体同様のはずなので、理屈的にはこれで解決するはずです。

自分ではあまり調べたり考えたりせずにコストをかけずに、カジュアルに個人チャットで聞いて相手にコストをかけるような行為はまったくフェアでないです。

とはいえ、がんばっても経験・知識不足でなかなか自己解決できないことがあるのも理解できます。なので、僕の思いつく範囲で人に聞く場合に適した場を紹介します。

Twitterでつぶやく

#iOS・#Swift ・#Flutterなどその技術のハッシュタグを付けると拾われる率が多少高まるはずです。僕は目に付いた興味を引かれたネタや一瞬でヘルプできるようなネタに対してけっこうリプライしています。

Stack Overflow

ググってよくたどり着くことが多いであろうソフトウェア開発関連の質問サイトです。日本語版もありますが、がんばって英語サイトで英語で聞いたほうが母数が多い分解決しやすいです。

teratail

僕はたまに眺める程度ですが、日本語版Stack Overflowよりはこちらの方が利用者多そうで良いかもしれません。

Discord・Slackなどのコミュニティ

最近は、大抵の技術について、それぞれDiscord・Slackなどでコミュニティが形成されていると思います。適当にググれば見つかると多います。僕の観測範囲では、きちんと相手に伝わる形で質問すれば大抵良い回答が得られている気がします。

日本のSwift/iOSコミュニティは僕がDiscordサーバー立てました(そのわりに全然参加できてなくてすみません🙇‍♂️)。

また、あまりやっている人がいないやり方ですが、個人的にはStack Overflowで聞いた上でこういったコミュニティのチャットにもURL貼ってヘルプ募る、とかやると知見が世に蓄積して良い気がします。同様にそういうきちんと書かれた質問URLをTwitterなどで僕にリプライしてもらったらもし暇な時間があれば回答しようという気になります。

また、特にこういう場で聞いて助けてもらったら、後に自分のスキルレベルが上がった時に恩返し的に助ける立場に回ると健全だと思います。

勉強会の懇親会などで聞く

勉強会の懇親会などは、まさにその勉強会のトピックについて意見交換したい人の集まりなので聞くのにぴったりな場ですね。とはいえ、聞いてばかりだと微妙なので、自分からも代わりの知見をある程度提供できるとなお良いですね。

公式のサポートを活用

特にAWS・GCP・Azureなどのクラウド系サービスでは、技術的な疑問へのサポート窓口が用意されていることが多いです。会社で有償の契約している場合、専門的かつ優先的なサポートを受けられたりするので、ぜひ活用しましょう。

どうしても僕に聞きたい場合はとりあえずTwilogで検索してください

https://twilog.org/_mono で検索すると過去の呟きを全文検索できます。すでに過去に呟いたことを個人チャットで聞かれるとさらに残念な気持ちになるので( ´・‿・`)

それで見つからなく、どうしても僕にカジュアルに聞きたい場合は、プライベートなチャットではなくTwitterで自然な流れで聞いてもらえるとわりと快く回答できることも多いと思います。

また、例えばFlutterの場合はコードのスクショとかではなくそのまま実行可能なmain.dartのgistsとかあると、すぐに検証できてアドバイスもらえる確率が上がると思います(gistsがあるものに関しては僕がすべて回答するという意味ではないです)。そうやって質問する側ができる限り配慮するのもマナーだと僕は思っています。

余談

こちらと少し似ていると思ったものの、僕の場合は以下の理由でもう少し丁寧に伝えて相手の理解を促したいと思っていて、この記事書いた次第です。

  • チャットでの返答もそれなりにコスト(時間)のかかることであるものの、何か製作することに比べると手短に済むことは確かなので、まあ良いかと対応してしまいがち → この手間を今後なるべくかけたくない
  • ただ、悪気ないパターンもある(それが大半な印象)ので、いきなりここまで強烈に拒絶する選択も取りたくない

以上はあくまで業務外のプライベートな個人チャットに関しての話であり、業務中に同僚などから受ける質問はもちろんウェルカムなスタンスです。ただ、その場合でもまずは一定時間自己解決を試みる姿勢は大事だと思っていますし、純粋技術的な知見はなるべくオープンにするようにしていたり、共通点もけっこうあると思っていますが。

こんな風に別途ツイートすることが多いです

--

--