プログラミング初心者の方と話をしている時、「自分は文系だけど、大丈夫ですか?」と聞かれることがある。
私はプログラミング講師として、数多くの方にプログラミングを教えてきた。その経験上、「文系だから向いていない、理系だから向いている」とは全く思わないし、その逆もしかりだ。
理系だろうが、文系だろうが、優秀なプログラマーは多い。
プログラミンを行う際、時には複雑な計算が必要なプログラムもある。そういった部分を見ると、理系向きの仕事のように思えるだろう。
しかし、プログラミング言語は文字で記述するため、いうなれば一種の言葉である。とすれば、文系向きとも考えられる。
プログラマーは理系、文系どちらの要素も必要になると考える。その根拠をプログラマーに必要な能力、資質から分析してみよう。
目次
プログラマーに必要な能力、資質とは?
理系がいいのか、文系がいいのかを考える前に、まずはプログラマーに必要な能力、資質を整理してみる。
論理的思考力
プログラマーには「論理的思考」が重要だ。一つ一つの処理手順を論理的に組み立てる力だ。一つ一つの処理は簡単だが、それを適切な順番で実行させる必要がある。
これは計算式や図形の証明問題の解答などを組み立てることにも通じる能力なので、その意味では理系向きだ。
しかし同時に、論理学の三段論法などの命題証明や、文章構成力にも通じるものなので、文系の能力にも近い。論理的思考とは、一つ一つのことを丁寧に考える力とも言える。
その意味においては、理系、文系関係なく論理的思考ができる人はいるはずである。
忍耐力
プログラマーには忍耐力が必要だ。まず、自分が書いたプログラムにミスがないかどうか、チェックする必要がある。入力する際にもパンチミスがないようにしなければならない。
インタプリタ型なら、テスト実行をしながら、バグのチェックをするし、コンパイラが必要なら実行モジュールを生成してからの単体テストになる。
一回のテストで完成することはなく、数回テストが必要なケースがほとんどである。プログラムのどこにミスがあるのかを、地道な作業で突きとめなくてはならない。
また、急に仕様変更になることもある。プログラムの一部を書き換えることで、他のプログラムに影響がでる場合もあり、部分的な修正は注意が必要だ。
コミュニケーション力
システム開発のプロジェクトは数人のチームで作業にあたることが多いので、チーム間のコミュニケーションは欠かせない。
お互いの意思疎通が十分でないと、仕様書通りに作成できないこともある。プログラミングそのものは孤独な作業だが、全体としてのコミュニケーションは必要で、相手の言うことを正しく理解する、自分の言いたいことを正しく伝える能力が大切になる。
また、システムエンジニアになれば、クライアントの要求を正しく理解する必要があり、コミュニケーション力は更に必要になる。
プログラマーの適正とは「向いてる人」「向いてない人」を講師が紹介
私は、プログラマーの養成講師として多くのプログラマーを輩出してきた。 生徒の中には、どんどん知識を吸収して開発スキルを上げていく人がいる。 まさにプログラマーに「向いている人」と言えるが、それらの人に ...
続きを見る
未経験からプログラマー、理系のメリット
論理的思考ができる点では理系の方がメリットがあるだろう。
バグがあったとしても、バグが素早く発見できれば、スピードアップにつながる。またゲームプログラミングではベクトル計算などの複雑な計算が必要になることが多い。数学での計算力を活かすこともできる。
また必要最小限のコードでコンパクトなプログラム目指す場合にも、理系の合理的な考え方が役に立つだろう。
未経験からプログラマー、文系のメリット
論理的思考という面でみれば、理系に有利そうだが、これは文系でも大事な要素だ。
例えば「起承転結」なども一連の流れに沿って文章構成をするという意味では論理的である。また、仕様書を読んで、内容を正しく理解する読解力も文系有利とみてよいだろう。
また、仕様書を書く側になったとしても、分かりやすい文章が書ければ、文系のメリットとなる。
まとめ
以上のことから、理系でも文系でも、プログラマーになるためにはどちらでも構わない思うし、どっちだから優秀なプログラマーになるも言えない。
論理的思考力以外に必要な、忍耐力やコミュニケーション力は理系、文系は関係がない。
結局大切なことは、プログラマーとして責任もって仕事ができるか、どうかで、そのために努力ができる人が向いていると言える。
自分が文系出身でも、理系出身でも、自信をもってプログラマーを目指して欲しいと思う。
システム構築では、クライアントの業種に関する知識も必要だ。業務の流れが分からないとテストもしにくい。またIT関連の技術は進歩が速いので、日々の情報チェックは欠かせない。
このように勉強することも多く、常に知識を吸収し、技術を磨くように意識していなければならない。
プログラマーの適正とは「向いてる人」「向いてない人」を講師が紹介
私は、プログラマーの養成講師として多くのプログラマーを輩出してきた。 生徒の中には、どんどん知識を吸収して開発スキルを上げていく人がいる。 まさにプログラマーに「向いている人」と言えるが、それらの人に ...
続きを見る
転職支援付き、無料プログラミングスクールの徹底比較【転職プロが解説】
無料プログラミングスクールは「無料でITエンジニアに必要な知識が学べる」「仕事の紹介もしてくれる」という、未経験者からプログラマーを目指す人にとって、有難いサービスである。 しかし、無料となると逆に「 ...
続きを見る