こんにちは。
今回は、僕が体験したプログラミング学習を過去を振り返りつつ、記事にしていこうかと思います。
まず僕は、新卒でシステム開発を行うIT企業に就職しました。もうかれこれ10年ほど前になりますか…。
仕事内容はプログラミングです。
当時の僕は、全くのITド素人でした。タイピングも人差し指だけでしていました😅
しかも完全に文系タイプで、漢字や歴史のような暗記系は得意で、数学が苦手でした(笑)。数学をやりたくなくて、文系に来たタイプです☺️
そんな僕がIT企業に就職し、どのように学習していったのか…
これからプログラミングを学習しようと思っている方に参考になるように書こうかと思いますが、僕の新卒で入社した当時のお話になりますので、学生の方は、新入社員研修ではどんなことやるんだろうかと、より参考になると思います。
未経験文系学生でもIT企業でやっていけるのか
まず気になるところとしては、未経験文系学生でもIT企業でやっていけるのかどうか…
結論としては、全く問題ありません。
僕が新卒で入社したのは10年ほど前になりますが、同僚が30人ほどいました。当時で、文系理系の比率は、5:5でした。
現在では、業界としてはどんどん文系の比率が多くなってきていると思います。
新入社員研修は4ヶ月間ありましたが、その間にプログラミング自体が合わなくて、やめてしまった同僚は確か2人ほどいましたが、他の方は、無事研修を終えて立派に現場に配属されています。
新入社員研修
4ヶ月間の新入社員研修での学習内容は、次のとおりとなります。
- コンピュータ基礎理論
- プログラミング 言語 (C言語、Java言語)
- チーム開発
- プログラミング実戦課題(個人での課題が出され、ひたすらプログラミングをしました。)
こちらの企業は、僕が所属していた当時で、設立30周年を迎えていましたので、歴史も実績もある企業でした。従業員数は200名ほどだったでしょうか。
そんな企業が行っている上記の研修内容は、つまりIT業界で仕事をしていく上で、必要な知識なんですね。
簡単に紹介していきたいと思います。
コンピュータ基礎理論
パソコン等、IT関連全般の知識になります。
コンピュータ基礎理論の学習は、情報系の国家資格に「基本情報技術者試験」というものがありまして、この資格に沿った内容で学習をしました。
例えばパソコンは、入力装置は「マウス・キーボード」、出力装置は「モニター」等パソコンのメカニズムであったり、インターネット等のネットワーク、データベース、セキュリティ等幅広い分野を学習しました。
正直プログラミングを習得するという意味では、コンピュータ基礎理論は、直接的には関係ありません。
少し話は逸れますが、僕は上述のとおりIT企業に就職しますが、その後一度IT業界を離れます。
全く異なる業界である地方公務員(市職員)に就職して、そして、再びIT企業に再就職するという経歴を辿ります。
一度IT業界を離れ、数年振りにIT企業に再就職する前に、プログラミングスクールに通いました。
この時のスクールのカリキュラムには、コンピュータ基礎理論にあたるカリキュラムがなかったんですね。
ですので、プログラミングだけを最速で効率的に習得したいとなれば、実はコンピュータ基礎理論は、必ずしも必要ありません。
IT企業への就職を目指されている方は、コンピュータ基礎理論の学習は、就職してからでもいいと思います。
事前学習としては、プログラミング言語の学習が重要ですね。
プログラミング(C言語、Java言語)
プログラミング 言語に関しては、以下の書籍を用いて学習しました。
全くの初心者であった僕からしても内容は、わかりやすかったです。
しかし… ページ数が非常に多いんですね。共に600ページ近くあって、全くの初心者かつ、独学で勉強を始めるには、中々量が多いと思います。
独学の方は、挫折しないで学習を進めていくには、もう少しボリュームの少ない参考書と併せて使用するのが良いかもしれないですね。
チーム開発
参考書を使ったプログラミング言語の学習が終わると、チーム開発課題がありました。
システム開発の現場では、もちろん個人ではなくチームで開発するため、より現場に即した研修でした。
チーム開発は、周りの意見に触れることが出来るので、技術者として成長する上では、非常に大きな経験です。
「そんな考え方があったか!」というように新しい気づきや発想に触れることが出来ます。これは独学では、得ることのできない大きなメリットだと感じます。
そのため、IT企業への就職を目指されている方は、可能であればプログラミングスクールを通うことをお勧めします。
独学かプログラミングスクールへ通うか悩まれている方もいらっしゃると思いますが、両者の大きな違いは、上述のとおり周りの意見を聞くことが出来るか否かだと思います。
僕もプログラミングスクールに通って、他の受講生の意見に触れることができ、非常に参考になりました。
当時の新卒の僕は独学であった場合、プログラミングを続けることができたかどうかは怪しいです😅
会社の同僚と一緒に切磋琢磨できたことは、挫折しなかった大きなポイントでした。
プログラミング実践課題
これは、4ヶ月間の研修のうち、最後の1ヶ月間の内容です。
30問くらいの課題が出され、ひたすらプログラミングしていったという内容です。具体的にどんな内容だったかほとんど覚えていませんが…
例えば、キーボードから入力された数字によって、以下のとおり対応する文字列を画面に出力せよみたいな課題を解いていったという感じです。
- 1 → おはよう
- 2 → こんにちは
- 3 → こんばんは
(もちろん、こんな簡単なものではないですよ(笑))
これは非常に力がついたと思います。
プログラミングを習得する上で大切なことは、やはりとにかくコードを書くこと!
スポーツで例えると、いくら知識を身につけても実際に体を動かさないと上手くならないですよね。それと似ていると思います。
最低限の知識を身につけたら、とにかく実践!書き方がわからなくなったら、参考書を読めばいいです。
以上、僕が初めてプログラミング学習を行った内容でした。
まとめ
新人研修を通じて学習で大事だと感じたポイントをまとめてみます。
- コンピュータ基礎理論は後回し。プログラミングの学習が優先。
- 最初の参考書は、完全な初心者は、学習のハードルを下げる意味で、比較的ページ数の少ない入門書を使用する。
(学習のハードルを下げる目的は、挫折しないためです。※特に独学の場合) - チーム開発課題は、プログラミングを習得する上で、最も実践的かつ効果的な方法
- とにかくコードを書くこと。参考書を完璧に読み込もうとしない。
変数や分岐、繰り返しなどの基本的な構文がぼんやりと理解できたら、コードを書いて実行してみること。
今後も自分自身の経験を踏まえて、お伝えしていこうと思います!