• Skip to main content
  • Skip to primary sidebar

プログラミング入門ナビ

プログラミング学習初心者のための情報メディア by Proglus(プログラス)

You are here: Home / Archives for エンジニアへの道

エンジニアへの道

プログラミング学習での「質問のお作法」を理解しよう!最小限のやりとりで効率的に解決!

2020-12-31 By takayama

質問する女性

はじめに

ITエンジニア

プログラミング学習をしていると、必ずわからないことやどうしても解決できない問題が出てきますよね。

こんな時、プログラミング講座を受講していれば講師に質問できますし、独学の場合でもWeb上のコミュニティで質問を投げ掛ければ誰かが答えてくれるのがインターネットのいいところです。

しかし、質問をしても「もう少し詳しい状況説明がないとわかりません」等と逆質問を受けたり、何だか講師の人と噛み合わなくて何度もやりとりをしたり…といった経験はありませんか?

それ、もしかするとあなたの質問のしかたに問題があったのかもしれません。

この記事ではプログラミングにおける正しい「質問のお作法」を解説します。

質問のお作法が身に付けば、自分や相手の時間を無駄にせず効率的に問題解決できるようになるので、これまで意識したことがなかった方はぜひご一読ください。

悪い質問のしかた、していませんか?

困っている男性

「第○○回目講座のコードを自分でも書いて実行してみましたが、エラーになってしまいます。どうすれば解決できますでしょうか?」

よく目にするタイプの質問ですが、実はこれは悪い質問の典型例です。

何がいけないのでしょうか。

想定される実行結果が明確化されていない

「どうなっていたら成功なのか?」(何がしたいのか)の部分がありません。

この質問では講座を指定しているので講師には詳しく書かなくても伝わる可能性はありますが、自由入力に対して何らかの処理をして返すようなプログラムだったりすると、質問者が一体何を入力してどんな結果を想定していたのか見当がつきませんよね。

ここがわからないとその後の話がこじれてしまいます。

詳しいエラー内容の説明がない

ひとことに「エラー」といっても様々な種類があります。

変数への参照エラー、指定されたパスにファイルがない、無限ループ等、枚挙にいとまがありません。

プログラムに問題があるのか、実行環境に問題があるのか、その切り分けですら手がかりがないので何のアドバイスもできないことになってしまいます。

自分で行った対処とその結果がない(もしくは何もしていない)

一般的に「何かわからないことがあればすぐに人に聞く」のが良しとされる業界もありますが、プログラミングやITの業界では「検索サイトで調べてすぐに出てくるようなことは人に聞かない」「15分くらいは試行錯誤してみる」のが最低限のマナーとされています。

「知を集約してタスクを効率化し人々を単純作業から開放する」ことこそがプログラミングの最終目的であり、それに反することは好まれないからでしょう。

自分で試行錯誤した内容とその結果が書かれていないため、どこが悩みどころなのか?が伝わりにくくなっています。

質問のお作法ができていないと嫌われる?

不機嫌な女性

先述のポイントを一言でまとめると、質問してから解決までの間にだらだらと時間がかかってしまうのが特徴です。

もちろん、質問した内容自体が難解なテーマでありその解説に時間がかかってしまうこともありますが、そのような場合は本質的な部分に時間をかけているので問題ありません。

質問を受けた側が「何がわからないのか?」「どんな答えを求めているのか?」を把握するための本質的でないコミュニケーションの部分に時間がかかってしまうのが問題なのです。

プログラミングの業界では特にロジカルな人が多いため、質問をした時にゴールの明確化や課題の言語化、問題の切り分けといった部分が甘いと「できないプログラマーだな」とレッテルを貼られてしまうことがあります。

教えることや説明すること自体は、それを通して自身の理解を深めたりすることもできるため好きな人が多いです。

そのためこれらがきちんとできていれば好意的に教えてくれますが、できていなければ「またこの人か…」と嫌な顔をされてしまうかもしれません。

先輩方を困らせないためにも、現場に出る前の今のうちから質問のお作法を身に付けておくのがとても重要です。

これだけ気をつけよう!質問のお作法

質問する女性

それでは、どんなことに気をつければいいのでしょうか。

次のポイントさえ押さえれば恐れることはありません。

先ほどの「悪い質問」にならないよう、裏返しのことをやっていくだけです。

何がしたいのかを明確化する

単に「第○○回講座のコードを実行した」だけではなく、それがどんなコードで、実行するとこういう結果になる想定である、というところまで書きましょう。

例えば「自分の姓を文字列で入力するとその文字数を返してくるプログラムで、『Nakamura』と入れたら『8』が返ってくるはずです」などと書くといいでしょう。

エラー内容を詳しく説明する

原因を特定するために必要なので、最低限下記の内容は盛り込むようにしましょう。

  • 実行したソースコード
  • (あれば)関連するファイル等
  • エラーの内容(エラーメッセージのコピペや実行結果画面のスクリーンショット等)

自分で試行錯誤し結果を明記する

これが最重要です。エラーの内容をヒントに、自分なりに調べて方法を試してみるだけでも様々な知見が得られますし、うまくいけば自力で解決できてしまうこともあるでしょう。

もし解決できなくても、「この方法を試してみたけれど今度はこんなエラーが出てダメだった」ということを質問に追記できれば、質問を受けた側にとってもより具体的なヒントになります。

まとめ

いいね!する男性

プログラミングにおける「質問のお作法」について解説しました。

お作法というと堅苦しい感じがしますが、肝要なのは「相手と自分の貴重な時間を無駄にしないよう丁寧にコミュニケーションする」ということです。

ここで説明したポイントを押さえていれば問題ありませんので、気軽に質問しながら慣れていくのがいいでしょう。

もちろん、質問前の試行錯誤のフェーズは自分の学習にも役立ちますので忘れずに行ってくださいね。

動画で学ぶプログラミング入門

オンラインスクールProglus(プログラス)でプログラミングを学んで、創れる人になろう!

在宅学習応援!今なら複数の基礎コースが無料!!

今すぐ詳細を確認する

Filed Under: エンジニアへの道 Tagged With: エラー, プログラミング, 解決, 質問方法

プログラミング学習を成功させるポイントを3つお送りいたします

2020-05-28 By プログラミング入門ナビ編集部

オフィスにいる男性

プログラミング学習は、学習コストの投資に対するリターンの期待値が高いです。そのため、人生をより良く、より楽しくしたい方には、プログラミング学習をとてもおすすめしています。
しかしながら、間違った学習方法により、挫折してしまう人も多いです。

プログラミング学習を成功させるポイントは沢山あるのですが、

ここでは、ポイントを3つピックアップしてお伝えいたします。

 

ポイント① 将来なりたい姿に合わせて適切なスキルを選ぶ

今後どのように活躍したいかによって、学ぶべきスキルが異なります。あなたが思い描く将来像によって、力を入れて学習するスキルを変えてください。

一概には言えないので、あくまで例となりますが、

  • スタートアップ起業で働きたい:Ruby やJavaScript
  • 開発費が数百億円、数千億円の大大企業や公的機関などの規模の大きな法人に向けたビックスケールのプロジェクトの開発がしたい:JavaやC#
  • iPhoneアプリを創りたい:Swift
  • Androidアプリを作りたい:Kotolin

といった具合です。

一つの言語を習得すると、他の言語の習得もハードルが下がります。

汎用性があり、分野を問わず使う機会が多いため、現時点で何を学習したらいいか分からない方はまず、HTML、CSS、JavaScriptから始めてください。

 

ポイント② 自分の実力&即戦力であることを示すポートフォリオを作ることを意識する

新卒でIT企業に就職される方は「やる気があります、何でもやります」で採用してもらえる可能性も高いです。

しかし、中途採用の場合は基本的には即戦力採用です。実務未経験でITエンジニアとして就職するには、実力が分かるポートフォリオを作ることが重要です。

架空でも良いのでウェブサービスを作って採用担当者に実力を示すことや、ソースコードを現場の担当者に書類選考の資料として見せるなど、ポートフォリオ作りを意識して、そこから逆算して基礎学習を行ってください。

言い換えると、創りたいものがあるから、それを作るための学習をするということです。このように考えると、モチベーションが続きやすいです。

 

ポイント③ 気兼ねなく聞ける環境を確保する

プログラミング学習に限ったことではないのですが、新しいスキルを身につける時に、適切なアドバイザーを見つけることはとても大切です。

私も経験があるのですが、行き詰まったときに自力で解決するのはとても時間が掛かる場合があります。

しかし、経験者に聞いたら3分で解決するというのはよくあることです。

一番の理想は、就職して実務経験を通して先輩に教わることです。

なぜなら、お金を貰いながらスキルアップできるからです。

 

私も、先輩に沢山教わりましたし、教える側の仕事もたくさんしました。

就職したときに、先輩や上司に当たる方も採用した新人が成果を出してくれないとプロジェクトが回らないため、親身に教えてくれる人が多いです。

 

とはいえ、就職するためには勉強が必要なので、そのときにも聞けるアドバイザーを探してください。

まずは友人、知人、親族を探します。見つからない場合は、お金を払ってでもアドバイザーを確保したほうが、結果が出るまでが早いです。

SNSなどで、無料で相談に載ってくれる先輩エンジニアの方もいたりします。

しかし、基本的には本業の合間に対応しているので、遠慮して聞かないといけない、返信まで1、2週間かかるなど、ゴールに向かって遠回りをしている方もいらっしゃいましたので、注意してください。

まとめ

プログラミング学習を成功させるポイント3つ

  • ポイント① 将来なりたい姿に合わせて適切なスキルを選ぶ
  • ポイント② 自分の実力&即戦力であることを示すポートフォリオを作ることを意識する
  • ポイント③ 気兼ねなく聞ける環境を確保する

を紹介いたしました。

私は、プログラミングを学習して仕事にしてきたおかげで、今、本当に仕事が楽しくて仕方がない状況です。

ぜひ、皆さんもプログラミング学習を成功させて、転職などご自身の目指す目標を達成してください。

おすすめの教材については、動画の説明欄に記載していますので、参照してください。
あと、動画が役に立ちましたら、チャンネル登録もよろしくお願いします。

動画で学ぶプログラミング入門

オンラインスクールProglus(プログラス)でプログラミングを学んで、創れる人になろう!

在宅学習応援!今なら複数の基礎コースが無料!!

今すぐ詳細を確認する

Filed Under: エンジニアへの道 Tagged With: エンジニア, プログラミング入門

AIプログラマーになるには?仕事内容や初心者からの目指し方を紹介!

2020-05-26 By プログラミング入門ナビ編集部

AIのイメージ

はじめに

AIのイメージ

人工知能(AI:Artificial Intelligence)が近年注目を集めています。

高齢化による労働力不足や働き方改革といった社会的懸念を解決できる期待感から、ある調査によればこの分野の市場規模は近年のうちに3900億ドルを超えると予測されているほどです。

これに伴い、人工知能を用いたアプリケーションやシステムを構築するAIプログラマー人材の需要が高まると見られています。

人材不足や業務内容が複雑であることから、年収も高く1,000万円台を超えることもあるようです。

この記事では、AIプログラマーの仕事内容や、初心者から目指す場合にやるべきことを紹介します。

AIとは?

疑問を抱く男性

人工知能(AI)と一言にいっても、様々な定義があります。

アメリカの哲学者ジョン・サールが提唱した「強いAI」「弱いAI」という分類によれば、前者は自意識を持った人間の代わりになるようなもの、後者は人間が持つ知性の一部を有し特定の仕事を行うものを指します。

近年ビジネスへの応用事例が増えているのは後者ですね。前者が映画に出てくるような人工知能のイメージですが、世の中に出てくるのはまだ先のことになりそうです。

以降、この記事では後者の「弱いAI」を指して「AI」や「人工知能」という用語を用います。

AIを実現する肝の技術は機械学習とディープラーニングです。この単語も耳にされたことがあるかもしれません。

本記事では詳しい説明を省きますが、簡単にいうと膨大なデータからとある特性に基づいて傾向を学習し分類や予測を行うための技術です。

この「とある特性」を人間が予め選定する必要があるのが機械学習、人工知能が自分で「とある特性」の選定まで行うのがディープラーニングで、さらにこれらも学習方法の違いによりいくつかの種類に分類されます。

AIの応用技術

AIの基本機能はデータの分類や予測ですが、これらは一体どのように応用されるのでしょうか?

こちらも実に様々ですが、主に下記のような用途に使用されています。

画像認識

顔認識

画像の中から人間の顔が写っている部分を検知する顔認識技術や、どんな物が映り込んでいるかを予測する物体認識などの用途に使用されます。

顔認識はカメラのオートフォーカス機能や撮った写真の分類等に欠かせない技術となりました。物体認識は自動運転等の分野で活用されていますね。

音声認識

音声認識

音声信号を分析して話している言葉やその話者を認識します。スマートスピーカー等に搭載されていますね。

あくまで音声信号から語を抽出する部分が音声認識によって担われており、その意味を分析するには次に挙げる自然言語処理が活用されます。

自然言語処理

言語処理

テキストデータの羅列からその意味合いを理解します。SiriやAlexaに代表されるAIアシスタント機能や検索エンジン、翻訳機能等で活用されていますね。

スマートスピーカーやスマートフォンでのAIアシスタント活用が広がることで学習データがどんどん集まり、さらなる発展を遂げている過程です。

AIプログラマーが活躍する業界は?

それでは、どのような業界でAIプログラマーが活躍しているのでしょうか。

モビリティ

自動運転

自動車の自動運転やドローン・ロボットの自動制御には人工知能が欠かせません。モビリティ本体に取り付けられたカメラや様々なセンサから入ってくる情報を瞬時に処理して次の動きを判断し、その通りに動かすために活用されます。

スピードと正確性が何より重要なので、様々な機械学習アルゴリズム知識に熟知していること、ある程度のハードウェア知識も求められるでしょう。

金融システム

金融システム

金融商品の価値予測を行い、投資者へのアドバイスまたは代理運用まで行う用途への注目が高まっています。従来、熟練した人間が行っていた業務を人工知能が行うことでコストを下げることができるためです。

同様に保険商品の価値判定や、消費者金融の金利判定にも応用され始めています。

こうした金融商品の分野で活躍するエンジニアには、統計や確率等の数学知識を求められる場面も多いです。

医療システム

医療システム

医療現場はデータの宝庫です。大量の症例・レントゲン写真やカルテなどの情報から、治療方法や新薬を見つけるための応用が始まっています。

また、個別の患者の症状やレントゲン写真から病名を予測したり、遺伝子情報から将来発生し得る病気と対策を提案するサービスもあり、こちらも人工知能の活用事例の一つです。

適切な生活習慣・運動習慣を提案するアプリが人気を集めている通り、ヘルスケア分野での活用も期待されています。

初心者がAIプログラマーになるには?

まず、AIの研究者とプログラマーは別物と考えましょう。研究者の目的は最新の人工知能技術を探究し、自社のシステムにどう取り込めばより良いものにできるかを考えることです。

実際の設計を誰が行うかは案件により異なりますが、AIプログラマーはこの設計に基づきコーディングを行うのが役割です。

もし研究者を目指したい場合は、今のところは大学に入り人工知能分野を専攻するほか道がありません。

初心者の状態からAIプログラマーになるにはもう少しハードルが低いです。主には下記のことに取り組むのが良いでしょう。

機械学習の基礎知識を身につける

AIの中核をなすのが機械学習なので、この基礎知識がなければ現場で会話が成り立ちません。

まずは初心者でも入り込みやすい書籍を読んで知識を身につけましょう。

おすすめは下記です。

人工知能は人間を超えるか(松尾豊、角川EPUB選書)

人工知能は人間を超えるか

AI研究の第一人者である松尾豊氏による「いま人工知能ができること、できないこと、これからできるようになること」を初心者にもわかりやすく説明した本です。

まずは人工知能と自分との距離を縮めるための導入としておすすめです。

見て試してわかる機械学習アルゴリズムの仕組み(秋庭伸也ほか、翔泳社)

見て試してわかる機械学習アルゴリズムの仕組み

機械学習にも様々なアルゴリズム(処理の考え方やその方法)があり、用途により向き不向きがあります。どのようなアルゴリズムがあって、動きがどう違うのかを説明した本です。

これは実際にプログラムを書きながら学ぶ前提となっているため、次項で述べる「Pythonスキル」を身につけた後に取り組むのが良いでしょう。

Pythonのスキルを身につける

言語を学ぶ人

GitHub公式ブログによりますと、GitHubで機械学習(”machine-learning”)というトピックでタグづけされたリポジトリのうち、最も多く使用されている言語はPythonです。

これは、多くの機械学習や統計処理に関する人気ライブラリがPythonのものであるためと想定されます。

C言語やJavaなどでも人工知能の実装は可能で、それぞれライブラリもありますすが、もはや人工知能といえばPythonというスタンダードが定着しているというのが業界の共通認識です。

そのため、新しく人工知能のための言語を学ぶならばPythonをおすすめします。

なお、ProglusでもPythonの講座を準備中です。受講可能となり次第、こちらでもお知らせいたします。

AI分野の資格を取得する

資格の獲得

必須ではありませんが、AI分野の資格を取得しておくとAIプログラマーの職を得るにあたって知識をアピールしやすいです。

E資格

E資格は、日本ディープラーニング協会が運営している認定試験です。同協会のAI資格にはもう一つ「G検定」がありますが、そちらがジェネラリスト(ビジネス寄り)向けの試験なのに対し、E資格はエンジニア向けの試験となっています。

受験には同協会が実施するJDLA認定プログラムの受講が必須です。

受講料やプログラムの受験料は決して安くはありませんが、AIに関して広く学びつつ資格も取りたい場合にチャレンジすると良いでしょう。

Pythonエンジニア認定データ分析試験

Pythonソフトウェア財団のスポンサーである一般社団法人Pythonエンジニア育成推進協会が主宰予定のPythonエンジニア認定データ分析試験は、Pythonを使ったデータ分析の基礎や方法を問う試験です。

まさに業務内容に直結したスキルのアピールになりますね。

現時点で試験はまだ準備中のため、要綱や実施時期については公式ページにて適宜確認してください。

まとめ

学習に励む女性

AIプログラマーの仕事内容と、初心者からAIプログラマーを目指すためにやるべきことについて紹介しました。

決して簡単な道ではありませんが、人材不足が深刻視されている分野ですので、チャンスは大いにあります。

次から次へと新技術が開発されるため、新しいことを楽しく学べる方にはおすすめの職業です。

我こそはという方は、ぜひチャレンジしてみてください。

動画で学ぶプログラミング入門

オンラインスクールProglus(プログラス)でプログラミングを学んで、創れる人になろう!

在宅学習応援!今なら複数の基礎コースが無料!!

今すぐ詳細を確認する

Filed Under: エンジニアへの道 Tagged With: AI, Python, プログラマー, 人工知能, 初心者, 機械学習

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Interim pages omitted …
  • Go to page 5
  • Go to Next Page »

Primary Sidebar

Proglus

Twitter

Follow @programmingnavi Tweets by programmingnavi

人気の記事

  • MySQLをXAMPPを使ってWindows環境にインストールする方法
  • 無料のSSL証明書Let’s Encryptを設定・更新・自動更新する方法(CentOS7, Apache2.4対応)
  • 初心者のプログラミング学習には13インチのMacBook Proがおすすめ!その理由も解説!
  • Visual Studio CodeでHTMLを書くときの便利な設定方法!ミスの防止や開発効率UPに役立てよう
  • よくあるSQLのエラーの種類と自力でエラーを取り除く方法について説明します
  • macOSで2つのファイルの差分を確認するには?便利なdiffツールを紹介
  • AWS Cloud9のプレビューが上手く表示されない時の対処法
  • WindowsからSSHでサーバに接続する方法(RLogin利用)
  • MySQL 5.7 for Windowsのアンインストール方法
  • Apacheインストール時にエラー Cannot find a valid baseurl repo: base/7/x86_64

最近の投稿

  • ウェブアプリケーションエンジニアになりたい!何を学習するべきか?
  • VSCodeで画像が表示されない場合の対処法
  • プログラミング学習での「質問のお作法」を理解しよう!最小限のやりとりで効率的に解決!
  • VirtualBoxでNATとホストオンリーアダプターによる安全なネットワーク環境構築方法
  • TypeScriptとは?JavaScriptとの違いは?人気の理由を徹底解説!

カテゴリー

  • エンジニアのしごと
  • エンジニアへの道
  • ツールの使い方
  • ニュース
  • プログラミング入門

タグクラウド

AI AWS AWS Cloud9 Bootstrap Cloud9 CodeWing CSS Git GitHub Heroku HTML JavaScript li Linux macOS MySQL MySQL Workbench Nuxt.js ol Proglus Python Ruby Ruby on Rails SQL Udemy vscode Vue.js Web開発 Windows インストール エラー エンジニア オンライン学習 サーバー スクリーンショット セール プログラミング プログラミング入門 プログラミング学習 ユーデミー 初心者 改行 未経験 機械学習 開発環境構築

アーカイブ

  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年11月
  • 2019年9月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月

検索

Copyright © 2021 · programmingnavi.com ・About・プライバシーポリシー