プログラマーになったらギャップが多かった

2020-09-17

こんにちは管理人(@vip___p)です。

プログラマーとして働きだして一度振り返ってみようと思います。

内容としては、理想と現実のギャップを書いていこうと思います。
働いてみると意外とこんな業務があるのかとか多いです。
実際働く前に知っておいたら多少楽になると思います。

下記のような方は是非参考にしてください。

  • プログラマーに興味があるが業務内容がわからない
  • どのような言語がいいかわからない
  • 実務未経験
  • 職業訓練やスクールで学習中

では確認していきましょう。

プログラマーの理想とのギャップ

まずは簡単にギャップを感じた部分を記述していきます。
実務未経験な方など参考にしてください。

圧倒的コード量

データの量に驚きました。
多分初めて現場に出た人などびっくりすると思います。
コードを追うのに一苦労なんてことはざらにあります。

自己学習で何万行のコードを書く人はなかなかいませんよね。
なれたら少し気持ちが楽になります。
やはり初めてだと、気持ちで負けてしまいますね。(笑)

またシステムの改修などする場合
10年以上前のコードに触れるわけですから
知らない記述方法など随時調べる必要があります。

中にはバージョンが上がって現在非推奨の記述方法などが当然あるので注意が必要です。

データベース(DB)のデータ量や使用頻度

DBってあんまり学習している人がいないのではないでしょうか。
正直、プログラマーやし関係ないとか思っているあなた大間違いです。

めっちゃ使います。

時間があるなら勉強しておきましょう。
DBに詳しい人とか重宝されたりします。

DBとか言われたら難しいイメージがあるかもしれませんが、
プログラミング言語を一から学習すると考えたら学習量は少ないですし、
現場でも重宝されるので個人的にはおすすめです。

またDBの量も最初はけた違いに感じました。
実際に学習しているとテーブルとか自分で作成しているので量としては多くないはずです。
ですが実際に稼働しているシステムですから当然量が多いです。
ここも慣れるまで大変だと思います。

SQLをあまり学習していない方は下記の本がおすすめです。
訓練学校やスクールなどで際よされているおすすめ本です。

フレームワーク

学習当時はフレームワークの重要性を知りませんでした。
Javaを学習していて基礎的な内容は学習しているつもりでした。
例(配列,if,for,List等)
ほんと基礎的な部分ですね。
ここの内容は使えて当然です。

ほぼほぼ現場ではフレームワークを使用します。
勉強していないとかなり大変です。
独自のタグとか処理とかが多いわけですから。
Javaで言うとStrutsとかSpringとかSeasar2など。

フレームワークとは何か簡単に言うと
開発効率を上げてスキルの差をなくすために使用するものです。
これだけ言われたら「めっちゃいいやん!」と思う方も多いと思いますが
学習時間は当然かかるし慣れるまで大変です。
しかも現場のコードは量が多いのでこれまた一苦労です。

テストが多い

思ったよりテストが多いです。
そもそもテストとは何か皆さん知っていますか?
私は軽くしか知っていませんでした。
だってテスターやないし関係ないとたかをくくっていました。

でも実際は結構な頻度でやります。
特に初心者の方とか。

そもそもテストとは不具合なくプログラムが処理されるかです。
でも不具合などあんまり起きなさそうとか思っていると痛い目見ます。

大きく分けて単体テストや結合テストの2種類です。
単体テストとは1機能ごとのテストで、
結合テストとは1連の流れのテストです。

テストを実施して結果を記入するとか
不具合の報告書とか
詳細設計書とか
とにかくエクセルを使用します。

これはそこまで苦労することはないと思いますが
意外と知らない便利機能などがあるのでしっかり勉強する必要があります。

Javascriptは意外と使う

Javascriptは意外と使います。
バックエンド側の作業だから使用することはないと思っていましたが
意外と使用することがあります。

とっつきやすいのでそこまで苦労することはないと思いますが
余裕があるのであれば学習はしておきましょう。

初学者の皆さんへ

初学者の皆さんへ差し出がましいですがアドバイスをまとめています。
まあ昔の自分に向けて書いている部分があります。
興味があったら参考にしてください。

おすすめの言語は?

何の言語を学習するか悩むかと思います。
あくまで個人的な意見ですが私はJavaでよいと思います。

大きく分けて理由は4つ。

  • オブジェクト指向を学ぶことができる
  • 求人数が多い
  • 書籍や学習ツールが豊富
  • ほかの言語にも移行可能

個人的には書籍や学習ツールが多いのでお勧めです。
プログラマーとして働きだしても学習することは当然多いですが
学習サイトや書籍もピンキリです。

わかりやすい内容もあればとっつきにくい内容もあります。
スキルを取得するなら当然前者です。
勉強するなら最短コースが望ましいです。

下記の本を読んでいると基礎的な内容が学習できます。
訓練学校やJavaプログラマーの多くの方が愛読書です。

Javaを学習していく中で欠かせない内容がサーブレット関連。
入門を読んだ後に読むのがおすすめです。
意外と読んでいる人が少ないですが重要です。

こっちは実践です。

おすすめの学習方法

おすすめの学習法
DBに接続して、フレームワークを使用してWEBアプリケーション
等作成すると知識が広がるのでお勧めです。

Javaの知識に自信がない場合はフレームワークはなしで実施してみても
良いかもしれません。
実際に何かを作成するのが技術向上の近道です。
面接のときにでも話せるのでぜひ作ってください。

環境構築を整えるのは結構大変ですよね。
でも現場では環境構築を整えることから始まることもあります。
ですので整えれるのであれば整えておきたいですね。

JavaではEclipseとTomcat、DBにはMySQLを接続して
学習しておればよいでしょう。

まとめ

まとめ

プログラマーのギャップについてまとめてみました。

当時は見落としていた部分が多くありました。

つたない文章ですが、皆さんの参考になれば幸いです。

何かお気づきの点があればコメントお願いいたします。