エンジニアの転職

更新日:2020/10/15

論理的思考はプログラミング能力にどのように関係する?プログラミングを通して身に付く?

論理的思考はプログラミング能力にどのように関係する?プログラミングを通して身に付く?

この記事では、前半で論理的思考とプログラミング能力が互いのどのような関係にあるかをご紹介します。

論理的思考はプログラミング能力に深くかかわっており、それゆえにプログラミングを通して論理的思考力を磨くことができます。後半では、実際にプログラミングを通して論理的思考力を磨く場合の方法についてご紹介します。

なお、

  • 論理的思考とはどのようなものか?
  • エンジニアになぜ論理的思考が求められるのか?
  • 一般論としてどのように身に付ければよいのか?

については、以下の記事を参考にしてください。

エンジニアに論理的思考はなぜ必要?どのように身に着ければよい?【面接・就活に活かす】

プログラミングと論理的思考の関係は?

プログラミングと論理的思考の関係は?

効率的なプログラミングに論理的思考が必要

ある程度大きなプログラムを作成する場合、ただ漫然とコーディングしていくと、何回も手戻りが生じ、その結果としてバグも頻発することがよくあります。そのため、論理的思考を用いて目標や必要な処理といった情報を事前に整理し、計画的にプログラミングに取り組むことがよく行われています。

プログラミングを通して論理的思考のトレーニングも可能

そのため、プログラミングを通して論理的思考のトレーニングが可能です。論理的思考のトレーニングというと、

  • 仕事の中で実際に応用する
  • 自分の意見を論理的思考で整理し文章にしてみる

などが挙げられます。しかし、仕事であれば論理的思考のトレーニングばかりにかまけている訳にも行きませんし、自分の意見を文章化したとしても、それが客観的に論理的かどうかを判定するためには誰かに読んでもらうという高いハードルを越える必要があります。

一方、趣味のプログラミングであれば、仕事と異なり存分にトレーニングの場として活用できます。また、論理的思考が十分使えているかを、作業時間といった客観的な指標で自己完結的に評価することがある程度可能です。そのため、1人でも論理的思考力を向上させたいのであればプログラミングは良い手段になります。

プログラミングを通して論理的思考を鍛えるには?

プログラミングを通して論理的思考を鍛えるには?

コーディング前の準備やデバッグ作業が論理的思考力の良いトレーニングになる

プログラミングにより論理的思考力を鍛えることはできますが、ただプログラミングに取り組めば論理的思考力向上に繋がる訳ではありません。コーディング作業というよりも、その前の準備として行う設計が、論理的思考力の良いトレーニングになります。

最終的な目標を達成するために必要な処理を書き出してみる

実際にコーディングに移る前に、最終的な目標を達成するために必要な処理を書き出していきましょう。それぞれの処理について、

  • 既にどのようにプログラミングすればよいか分かる
  • ライブラリなどで既に存在している、あるいは探せばありそう

というレベルになるまで、更に具体的な幾つかの処理に分割していきます。

この作業は、論理的思考における目標から逆算して必要な要素を順番に求めていく過程そのものです。また、「この処理を実施するためにはこの処理が必要」という根拠を考える必要もあるため、必要な要素に妥当な根拠をつける訓練にもなります。

フローチャートを作成し、処理の流れを決める

必要な処理を書き出したら、フローチャートを作成して処理の流れを決めましょう。どのように処理を分岐させ、どの順で処理を実施するのが一番効率的かを考えながらフローチャートを作成します。

この作業は、目標を達成するために最適な処理の実施順を考える良い訓練となります。

どの機能を関数・クラスにするのかを意識して設計してみる

必要な処理を書き出すと、幾つかの処理は入力や出力が変わるだけで、実行内容そのものは同じであることに気付くはずです。コーディングに移る前に、そのような処理を関数やクラスとして設計しておきます。

これは論理的思考というよりも、ITエンジニアとしての良い訓練になります。予めどのような関数やクラスを準備するか決定することは、コーディングやデバッグといった作業の効率的な実施に繋がります。

デバッグ作業でも論理的思考力を使う

設計段階のほか、エラーが生じた際のデバッグ作業も論理的思考を適用する良いトレーニングの場になります。エラーメッセージからどの処理でエラーを吐いているのかを確認したら、そこからデバッガや標準出力機能を使い、想定していた挙動とは異なる挙動をしているサブルーチンや想定していない値が入っている変数などを順に調べていきます。

この作業も必要な処理の書き出しと同様、目標から逆算して必要な要素を順番に求め、その根拠を考える良い訓練となります。

簡単なプログラムを作成しても効果は薄い

ただし、前節の内容からも分かるように、事前の準備が無いと手戻りが生じてしまうようなある程度の規模があるプログラムを作成する必要があります。

実際、高々関数1つ2つから成るような簡単なプログラムであれば、思いついた内容から適当にコーディングに着手しても、人によってはすぐに成果物が得られてしまいます。これでは論理的思考のトレーニングとしての効果はあまり見込めません。

論理的思考のトレーニングとするためにはある程度プログラミングの知識が必要

従って、プログラミングで論理的思考力を鍛えるためには、それなりの規模のプログラムを作るためのプログラミングに関する基礎的な知識が必要になります。例えば、コーディングに使うプログラミング言語ではどのようなライブラリが提供されているのかが把握できていなければ、必要な処理をどのレベルまで具体的に書けばよいのかも分かりません。

プログラミングを通して論理的思考を鍛えるためには、コーディングに用いる言語で出来る処理について予め知識を持っていることが要求されます。そのため、わざわざ論理的思考を身に付けるためにプログラミングに取り組むことが最適かと言われると難しい部分はあります。

まとめ

プログラミングは論理的思考のトレーニングとしても活用できますが、そのためには基礎的な知識が要求されます。他分野の場合は一長一短がありますが、ITエンジニアとして活躍したいのであれば、技術と論理的思考の両方を身に付けることができ一石二鳥です。ITエンジニアとして今後働いていきたいと考えている方は、ぜひ取り組んでみましょう。

もう一度「論理的思考はプログラミング能力にどのように関係する?プログラミングを通して身に付く?」を読む ↑

論理的思考力を活かしてエンジニア転職するなら

論理的思考力を活かしたエンジニア転職におすすめな転職エージェント・転職サイトを比較するなら「エンジニアにおすすめ!IT/Web系に強い転職サイト11選|現役プロが比較・ランキング」という記事を参考にしてください。未経験可やポテンシャル採用などの求人を扱う転職エージェントや転職サイトを紹介していますので、ぜひ自分ぴったりの職場を見つけてくださいね。

IT/Web系に強い転職エージェント・転職サイト11選!現役エンジニア厳選

いきなりの転職が不安な方はプログラミングスクールという選択も

いきなり転職活動を開始する前に、「まずはプログラミング言語のスキルを身につけておきたい」。そう考える方には、プログラミングスクールの受講をおすすめします。

未経験・社会人でも安心して学習できるスクール、そして転職付き(転職保証型)のスクールなど、条件や目的によって選ぶ基準も様々だと思います。まずはじっくりと比較して、少しでも気になる教室があれば無料相談・体験会に申し込んでみると良いでしょう。

未経験・社会人、学生におすすめなプログラミングスクールを比較するなら、「おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!」という記事を参考にしてください。

プログラミングスクール比較11選!社会人や未経験者にもおすすめ!【転職・就職にも有利】

転職付き(転職保証型)のプログラミングスクールの詳細を知りたいかたは、「【無料あり】転職支援・保証型プログラミングスクール比較11選!社会人・学生さんの就職に強い!」をご覧いただき、自分の目標や目的にぴったりのスクールを見つけてくださいね。

【無料あり】転職支援・保証型プログラミングスクール比較7選!社会人・学生さんの転職・就職に強い!

-エンジニアの転職
-, , , , ,

関連記事

【仕事の流れが分かる】現役SEに聞いた!1日のスケジュールや働き方とは?

【仕事の流れが分かる】現役SEに聞いた!1日のスケジュールや働き方とは?

サヤカさん(仮名) のプロフィール 年齢 30代 性別 女性 会社の業種 JavaやPHP、VB.NETを主言語としたSIer 担当の職種 Webアプリケーションの開発がメイン。Windowsアプリの …

未経験エンジニアの1年目に 必要な知識やスキルとは?

未経験エンジニアの1年目に必要な知識やスキルとは?業界3年目のSEが解説【体験談】

本記事をご覧いただく皆さん、いかがお過ごしでしょうか?   コロナウィルスの影響が落ち着きつつありますが、依然として油断はできない状況ですね。このコロナウィルス騒動により、リモートワークが推奨された影 …

現場で求められるSE(システムエンジニア)の人物像とキャリアプラン

現場で求められるSE(システムエンジニア)の人物像とキャリアプラン

本記事は、 SEのキャリアアップに必要なことって何だろう 専門職と管理職どっちを選ぶべきかな・・ マネージャーにはなりたくないな・・ そもそもエンジニアに向いているのかな・・ このような疑問や不安を抱 …

3D CADのイメージ

「機械設計エンジニアの1日」の仕事の流れと働き方、生活スタイルとは?未経験者は必見です

池田さん(仮名)のプロフィール 年齢 40代 性別 男性 会社の業種 大型機械の製造メーカー 担当の職種 機械設計エンジニア 池田さんには40代・未経験からエンジニア・プログラマー・SEに転職成功する …

サーバーのイメージ

SEの転職先はIT企業だけではない、社内SEやフリーランスの道も!

目次1 IT企業は転職先の「王道」2 広がるシステムエンジニアの仕事の領域3 社内SEに特化したエンジニア専門の転職エージェント4 フリーランスとして独立し起業家への転身の道もある IT企業は転職先の …

[PR]:
積極的にエンジニア採用中!

転ストの中の人

  • 運営者のstaff H
  • 運営者のstaff M

エンジニア歴15年のstaffHとWebデザイナー・ディレクター歴20年のstaffMの2名が中心となりこのサイトを運営しています。転職/就職やフリーランスへの転向、未経験からのプログラミング学習など、これから”新しい一歩を踏み出そうとしている、エンジニア・クリエイター”に役立つ情報を発信しています。

プロフィール詳細 / Twitter




[PR]:
[PR]:
ページのトップへ戻る