基礎知識

基礎知識 第5回「問題解決力とは!?」

2019年6月16日

ああ、またエラーが出て動かない。

もうやってられないよ。

 

すぐに諦めないでください。

エンジニアには、問題解決力が大切です。

今回はその問題解決力について解説していきます。

Nanayaku

 

問題解決の基礎

問題解決の基礎となるものは「思考=考える」です。

論理的思考・多面的思考などの手法を用いるとき、思考がどういうものか分かっていなければ、根本的な解決が出来ません

人は感情で動く動物であるため、100%合理的な行動はできません。

そこで重要になるのが、パラダイムシフトです。

パラダイムシフトとは、理想を実現するために必要最低限の合理的な思考に変えることです。

ちなみにパラダイムとは、思考の枠組みのことです、

 

問題解決のプロセス

問題解決のプロセスには、以下の7つの工程があります。

  1. 問題の定義・・・考える対象を定める
  2. 問題の分析・・・細分化する(考えられる問題の原因)
  3. 問題の統合・・・カテゴリー(分類)毎にまとめる
  4. 解決策の提示
  5. 解決策の実施
  6. 確認

また、問題を定義する上で大切な3本の柱があります。

  • ポイントはずれていないか
  • 論点(イシュー)がずれていないか
  • 漠然としていないか

 

問題・解決・能力とは

  • 問題・・・理想と現実のギャップにより、理想への到達を妨げているもの
  • 解決・・・理想を現実にすること
  • 能力・・・理想に到達するための力

 

プログラミングにおける問題解決力

  1. 常に計画を持つ
  2. 前提条件を疑う(開発環境、バージョンなど)
  3. 問題を分割する(複数のエラーが絡む)
  4. 問題を言い換える(違う角度から問題を見る
  5. 問題の簡略化する(いきなり完璧を求めない)
  6. できる事から始める(出来ない事は出来ない。出来るようになって行く。自走力)
  7. 目的を忘れない(なぜtech boostに入ったのか?今やっている事が目的に近づけるのか?)
  8. 確認をこまめに行う(動作確認。エラーの解決が楽になる)
  9. 類似点を探す(経験から応用する)
  10. 感情的にならない(冷静沈着に)

どこでエラーが起きているか考える

 command
RoutingError

クライアントのリクエスト(URL)を受けるrootsがない

 

 command
uninitialized constant SessionController

リクエストに対応するコントローラーが見つけられない(スペルミスがほとんど)

 

 command
Unknown action

リクエストに対応するアクションがない

 

 command
Template Error

viewのファイル名、レンダリングなどが間違っている

 

 command
uninitialized constant SessionController::Users

リクエストに対応するUsersが無い(::は階層)

 

 command
NomethodError

methodが無い(スペルミスがほとんど)

 

エラーがM(Model)・V(View)・C(Conrol)のどこで発生しているか考えることが大切です。

どういう仕組みで動いているは、公式サイト(railsガイドGitHubのREADME.md など)で調べられます。

 

最後に

なるほど、自分は感情的になっていたのかもしれません。

冷静になって考えてみます。

 

システム開発は、トライ&エラーの連続です。

すぐに諦めないで、感情的にならず落ち着いて、エラーが発生している場所を探してみてください。

Nanayaku

 

よし、もっと勉強してエンジニアになるぞー!

 

今は情報が集めやすいので、独学でもエンジニアを目指せますが、プログラミングスクールに通うほうが良いです。

実際に私もプログラミングスクールに通ってエンジニアになりました。

興味がある方は、こちらの記事をご覧ください。

【不安解消】食肉工場の会社員がtech boostの無料説明会を受けた感想

Nanayaku

 

 

-基礎知識
-,

© 2021 Nanayaku blog Powered by AFFINGER5