システム開発の現場で生じるさまざまなエラーは、全てを即時解決することが難しく、不明点をGoogleなどで検索しながら作業を進めるエンジニアの方も多いはず。プロジェクトによって言語など開発環境が異なるため、全ての想定リスクを事前に把握しておくことは容易ではありません。
しかも、プログラミング言語やサービスはアップデートを繰り返しており、その都度調べなくてはなりません。Google検索をうまく活用する”ググり力”は、エンジニアと切っても切り離せない関係です。
では”ググり力”をマスターするにはどうしたらいいのでしょうか。今回は株式会社エーピーコミュニケーションズのプロフェッショナル職エンジニア・長谷川脩さんに”ググり力”をマスターするための3つのポイントを伺いました。
長谷川 脩さん
株式会社エーピーコミュニケーションズ クラウド事業部 クラウドエンジニアリング部 プロフェッショナル職エンジニア
”ググり力”を高めるために意識するべきこと
今回はエンジニアに求められることが多い”ググり力”について伺います。”ググり力”を高めるために意識するべきことは、どんなことでしょうか?
「何を解決したいのか」を意識して検索することです。Googleで調べものをするとき、知りたいことを何となく打ち込んで検索する人は多いのではないでしょうか。そのときに漠然と検索するのではなく、自分が検索したいことを5W1Hに分解してキーワードに置き換えましょう。
例えば、「Pythonで現在日を2022/1/13のように表示したい」という目的があるときに、検索するキーワードは『Python 日付(または年月日) 変換』の3つになります。
なるほど、調べたい内容をキーワードに分解してから検索するということですね。
それと、効率的にググるためには、どのような検索ができるのかを知っておくことも重要です。Googleの検索機能はかなり充実しており、知られていない便利な機能がたくさんあります。詳しくは後ほど解説しますね。
検索後に意識してほしいこともあります。それは、調べたサイトの中で役に立ったと思うものは「お気に入り」に登録する習慣をつけること。ネット上の情報は、時間が経つと同じ検索条件では結果に表示されなくなることがあります。情報自体が消えてしまうこともあるため、対策として自分用にメモを残しておくのも良いでしょう。
すぐに使える”ググり力”の基本
すぐに使えるGoogle検索の具体的な方法をいくつか紹介します。まずは、基本となる完全一致検索とAND条件検索です。
完全一致検索は、『”Google検索”』のように検索したいワードをダブルクォーテーション(“)で括って調べる方法です。通常の検索では入力したキーワード通りでなく、『Google』と『検索』のように検索ワードが分解されて関連性の薄いページも検索結果に表示されてしまいます。完全一致検索は、調べたい単語を分解しない状態で検索するときに有効です。
AND条件検索は、『"ググり力" AND "使える"』または『ググり力 AND 使える』のように、調べたいキーワードが複数あったときに全てを含める目的で使います。通常の検索では、キーワードが全て含まれないページ(3つのキーワードのうちの2つだけ含まれるページなど)も検索結果に表示されてしまいます。キーワード全てのキーワードを網羅したサイトを探したいときは、ダブルクォーテーションで囲ったり、ANDでつないだりして調べると効率的です。
なるほど、完全一致やAND条件検索で、サイトを絞り込めるんですね。
ただし、完全一致検索やAND条件検索には欠点があります。一文字でも違う、言い回しが異なる、スペースが入っているなど、一つでも検索条件が違うと検索結果に出てきません。エンジニアは英語を使うことも多いですよね。わからない単語を調べる時に少しでもスペルが違うと、正確に調べられないので注意が必要です。
完全一致検索やAND条件検索は融通が利かないところがあるので、目的のサイトが見つからないときには、キーワード数や長さを調整しながら試行錯誤していきましょう。
キーワードの中身も少しずつ変えながら、検索を試していくということですね。公式サイトの情報に限定して検索したい場合もあると思いますが、そのときにはどうすれば?
それならいい方法があります。技術サイト、個人ブログ、公式サイトなどの中で、調べたいサイトのページを検索する方法です。『site:サイト名』という文言を検索ワードに含めると、対象のサイト内のページだけを表示することができます。
なるほど、これは便利ですね。
弊社のプロフェッショナル職エンジニア※に、普段どんな“ググり方”をしているのかアンケートをとってみたところ、『ひとまず関連ワードで検索』が一番多かったです。それでも調べきれないときに、完全一致検索やAND条件検索、もしくはサイトを絞るなどの方法で検索していくようですね。
また、具体的な検索テクニックについても、弊社のプロフェッショナル職エンジニアに聞いてみました。その結果、最も活用されているのは『検索期間を絞る』ことです。
検索画面の「ツール」タブで検索したい期間を選択することで、最新バージョンの情報だけを表示させることができます。製品によっては、検索結果に表示された内容が古いバージョンの情報になっていることもあるので、エンジニアにとって便利な機能だと思います。
これなら効率的に製品の最新情報を調べられますね。
画像検索の機能も便利です。一般的に画像検索は人、キャラクター、乗り物、風景を調べるときに使うと思いますが、製品やコードを調べるときにも有効です。プログラミングは文章で長々と説明されてもわかりにくいので、画像で実際にコードをみたほうがわかりやすいことも多いです。
画像検索にこんな使い方があるんですね。
例えば『Python 日付 変換』というキーワードで検索したい時には、画像検索を使って実際のコードを画像で見た方が、コードが読めるエンジニアにはわかりやすいです。
また、単語の意味を調べるときには、調べたい単語に『〜とは』と付け加える検索方法がよく知られています。特に製品の公式サイトが英語の場合は、そのサイトを見ても単語自体の意味がわからないことも多いので、『〜とは』で調べた方がQ&Aになっていてわかりやすいです。
プログラミング言語について調べるときにも便利ですね。
メジャーなプログラミング言語のPythonやRubyは日本語サイトも表示されますが、マイナーな言語では英語サイトの割合が高くなります。そういったときにも、『〜とは』の調べ方は便利だと思います。ただし、本格的に調べるなら公式ドキュメントを調べたほうがいいですね。
公式ドキュメントを見るときに時間がかかることも多いのですが、効率的な調べ方はありますか?
私の場合は1から見ようとはせず、要約部分(overview)を優先的に見るようにしています。そして、自分のパソコンでプログラムを書いたり、ツールをインストールしたりして実際に操作してみます。頭で理解するだけではなく、手を動かしてドキュメントの情報を確認していくことが重要です。
というのも、人はインプットだけではすぐに忘れてしまいます。膨大な情報の中から必要な情報を選択して理解し、すぐにアウトプットすることが必要ですね。
なるほど。読んでわかった気にならないで、使わないとダメだということですね。
エラーを解決するための”ググり力”
エラーを解決するためには、どのように検索をすればいいのか教えていただけますか?
エラーを解決するための”ググり力”は、エンジニアに必須のスキルです。エラーが出たらまずは落ち着いて、エラー対応時におけるプロジェクトのルールを確認しましょう。そして関係するメンバーと連携しましょう。それから検索に取り掛かってください。
問題が発生したときに、自分で抱え込んで何も話さないのでは問題をいつまでも解決できません。全体に周知したくないときには、上司や同僚、同じチームの人に情報共有をして解決することをおすすめします。
一人で解決できなければ、関係者と連携していくということですね。
はい、それができたら検索です。まずは、ログから検索ワードを抜き出します。ログにはエラーメッセージが出ます。まずはメッセージを出すところが第一歩です。
ログは製品ごとに違ったフォーマットになっています。その中でも特にJavaはエラー画面が理解しにくいといわれています。なぜかというと、必要以上に丁寧な深掘りをしてくれるから。それがかえってログの量が多くなり、見づらい原因になっています。
また、サービスごとにログの内容も異なります。まずはログの見方を勉強して、自分が担当するサービスのログにはどのようなものがあるのか、ググって把握しておくことが必要です。例えば、Javaの場合には先頭に書いてあるのがエラーメッセージのことが多いので、そこを重点的に見ていくと検索するべきキーワードがわかってきます。
ログから検索キーワードを抜き出すときに注意するべきことはありますか?
表示されたエラーメッセージをそのまま検索しても解決にたどり着けません。エラーメッセージから、内部情報、個人情報を削るようにしましょう。エラーメッセージには個人情報が含まれていることが多いからです。個人情報保護の観点でも、IPアドレス部分は必ず削除するようにしましょう。
ログを正しく確認して、どんな検索をすれば良いのか把握する。そこまでいけば検索できそうです。
ええ、問題を解決するための検索ワードがわかったら、ググってみましょう。ただし、検索結果には個人のブログなども多く、どれが正しい情報なのかすぐには判断できないことも。製品ページにはエラーメッセージの情報がほとんど書いてないので、困惑することも多いと思います。
そんなときはどうすればいいのでしょうか?
『Qiita』や『Stack overflow』などの質問サイト、公式の質問フォーラムが役立ちます。過去に同じような質問をしている人が多く、スレッドを追うと解決できることが多いです。
質問サイトなどで同じ質問をされている人がいれば、参考にして解決できるかもしれませんね。
時には“ググる”だけでは解決方法を特定できないこともあります。その場合は、エラーメッセージを抽出し内容を調べるだけでも、エスカレーションを受ける上長や責任者にとっては有意義だと思います。
ググるときの注意点はありますか?
安全性の低いページをクリックしないように注意しましょう。エラーメッセージには英語の日常会話のような文章が含まれる場合があり、全く関係のないサイトが検索結果に表示されることがあります。迂闊に個人サイトなどを開くと、ウイルス感染や情報流出の危険があります。
安全性を担保するためには、先ほど紹介した検索テクニックで特定のサイトに限定して検索します。『site:サイト名』の検索で、『Qiita』、『Stack Overflow』だけを調べるのが無難です。
なるほど、わかりました。日本語のサイトで、Qiita以外に比較的、信用できるサイトはありますか?
私が参考にしているのは、『はてなブログ』です。このブログサービスでは、エンジニアの個人ブログやIT企業のオウンドメディアなど様々なブログが開設されています。弊社のエンジニアが書いている『てくなべ』という個人ブログはAnsibleやネットワーク自動化に関する情報が豊富で、Ansibleなどの調べ物をするときは先ずこのブログで検索をします。
このように検索したい内容と合致するサイトをいくつか見つけておき、そこから調べはじめると効率的だと思います。それぞれ専門性が異なるので、「AWSを調べるときはこのサイト」と決めておくといいかもしれません。
ちなみに、APCのエンジニアの皆さんは普段の検索で、どんなサイトを見ているのでしょうか?
それについても弊社のプロフェッショナル職エンジニアを対象にアンケートを取っています。
一番多いのは『Qiita』や『ITメディア』などの技術投稿やまとめサイトです。次に『はてなブログ』などに投稿されている個人ブログ、『GitHub』などの質問サイト、公式ドキュメントという順になっています。
ちなみに、SNSを使って調べている人はほとんどいませんでした。中には、「時と場合による」という回答もあり、目的によって使い分けるエンジニアもいるようです。
ヒアリングありがとうございます!ちなみに、”ググり力”というのはどのように高まっていくのでしょうか?
私の場合は、経験を積み先輩から指摘やアドバイスを受けることで、少しずつ高まっていきました。以前の職場で、わからないことを調べる力が足りず苦労したことを覚えています。大変な思いをしながらも、そこで初めて検索力つまり”ググり力”の必要性を痛感しました。
課題は山積みでしたが、それを解決するためにいろいろと調べるようになり、自分に合ったググり方を身につけていきました。あえてレベルの高い環境に身を置き、ググり力を駆使して課題解決に取り組むことも、エンジニアの成長にとっては大切だと感じています。
英語のページを検索するための”ググり力”
英語のサイトを検索するための”ググり力”についても教えてください。
先ほども述べたように、『Stack Overflow』など海外のサイトを参考にすることも多いので、エンジニアにとって最低限の英語の知識は必要だと思います。日々の実務では、Google翻訳やDeepL翻訳などの翻訳機能を活用するのも良いでしょう。
キーワードによっては、検索結果に全く関係のないサイトが多く表示される場合があります。例えば『Chef』や『Test Kitchen』というツールがありますが、そのままのキーワードで検索すると料理系の検索結果が表示されて、目的のサイトが表示されないのです。
そんなときはどうすればいいのでしょうか?
一つ目は、検索する際に、検索対象が属するシステムの種類を添えることです。例えば、test kitchen は IaC の一種なので、"test kitchen IaC" と検索すれば、目的のページが出てくるでしょう。
二つ目は、翻訳機能を使って原文と見比べると、雰囲気がわかると思います。また文章の一部分ごとに翻訳機能をかけていくと、少しずつ慣れてきてわからない単語の意味も推測できるようになります。
英文をそのまま読むのが大変なら、翻訳機能を有効活用するのも良いということですね。
ええ、翻訳しながら読んでいけば問題解決に繋がりますよ。最近はDeepL翻訳などAIの性能が良くなってきていて、専門用語も正しく翻訳できるようになっています。使える物はどんどん使っていきましょう。
英語サイトの中で最も多く使うのは公式ドキュメントだと思います。『site:サイト名』や『site:公式ドキュメントのサイト名』などで検索して、翻訳機能を活用すれば理解できるはずです。エラーメッセージをそのまま検索窓に貼り付けるのではなく、整形した上で検索します。最後まで翻訳して、自分の欲しい情報なのかどうかを吟味するのが良いでしょう。
実をいうと、私は英語が苦手です(苦笑)。それでも、翻訳機能や今回紹介した“ググり力”を駆使して、さまざまな課題を解決できるようになりました。皆さんもぜひ、“ググり力”を今後の仕事に活かしてみてくださいね。
<取材後記>
長谷川さんにとってググり力”のあるエンジニアは、刑事ドラマ『相棒』の主人公、杉下右京さんのような存在とのこと。「事件(課題)を解決するためどんな場所にも調査に行き、真相を究明しようとするところが、エンジニアの”ググり力”の高さと似ている」と、話していたのが印象的でした。
ライター
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから