パソコンの前でカタカタひたすらコードを書いているんだろうか?
プログラマーについて、もうちょっと詳しく知りたい。。
こんにちは、古賀です。
「プログラマー」って好きな場所で、好きな時にコード書いて、
自由な感じで仕事ができる!
と思っている方もいるのではないでしょうか?
もちろん、そのようなイメージで仕事をされている方もいらっしゃると思います。
一口に「プログラマー」と言っても、様々です。
本記事で、「プログラマー」とは、
「どんな仕事をしているのか?」
「どのようなスキルが必要なのか?」
「プログラマーはどんなキャリアプランを歩むのか?」
など、一般的なプログラマーについて、お話したいと思います!
自己紹介が遅れましたが、
わたしは大学卒業後、上場「SIer」企業に就職し、プログラマー、システムエンジニアとして
約10年間働いておりました。
「自社製品」&「自社完結型」の「SIer」企業でしたので、全システム工程を経験しております。
プロフィールの詳細はこちらです。
-
プロフィール
こんにちは、古賀正雄です。現在36歳です。 簡単ではありますが、こちらのページで自己紹介とこのブログについてお話します。 高校時代 学生時代は主に野球をしていました。 進学先の高校も野球で選びました。 ...
続きを見る
本記事で解説する「プログラマー」は、
「SIer」企業で働くプログラマーをメインにお話します。
「システムエンジニア」と「プログラマー」の役割が一括りになっている
「インターネット・WEB業界」の「WEBエンジニア」とは
少し内容が違いますのでご注意ください!
「SIer」業界についてはこちらの記事にまとめています。
-
SIer業界ってどんな仕事?独立系SIer企業で働いた経験からお答えします!
IT業界に挑戦したいけど、その中のSIer業界ってどういうとこなんだろう? 自分の能力に合っているかどうか、どんな仕事をしているか知りたい。。 IT業界と一口に言っても、そ ...
続きを見る
※YouTubeで同内容を公開しております。
プログラマーとは?
まず始めに「プログラマーとは何なのか?」についてです。
プログラマーは、パソコンに向かって何やら文字を書いているイメージがあるかと思います。
その書いている文字は「プログラミング言語」と呼ばれているものです。
「プログラマー」は、
「プログラミング言語」を使って、コンピューターを動かし、
世の中に出回っている
「電化製品」
「PCで使うシステム」
「ゲーム」
「WEBサイト」
などを作る仕事
です。
ありとあらゆる場面でプログラムが使用されてますので、
プログラマーが活躍する分野も様々です。
その分野によってプログラマーの仕事の流れは変わってきますが、
プログラマーは、一般的にシステムエンジニアが作成した設計を基に開発作業を行います。
その仕事の内容や流れについて解説していきます!
システムエンジニアについてはこちらの記事にまとめています。
-
システムエンジニアとは?プログラマーとどう違う?SEの仕事内容を解説!
IT業界で働こうと思ったけど、「システムエンジニア」ってどういう仕事なんだ? 「プログラマー」とは違うのかな? こんにちは、古賀です。 「システムエンジニア」って響きがいい ...
続きを見る
プログラマーの仕事内容や流れについて
まず「SIer」業界を例にして、プログラマーの仕事の範囲についてお話します。
赤枠で囲まれた範囲がプログラマーの仕事範囲になります。
「開発作業」がメインの仕事になりますが、
会社によっては、設計を担当したり、テスト作業を担当することもあります。
後程ご説明しますが、
プログラマーは将来的にシステムエンジニアへステップアップするのが基本です。
少しずつ仕事の範囲を広げていくことで、早く次のキャリアへ進むことができるでしょう!
システムエンジニアから引継ぎ
開発作業に入る前に、システムエンジニアから「引継ぎ」を受けます。
システムエンジニアが「仕様書(設計書)」を基に、
今回作成するプログラムについて説明してくれます。
経験が浅いうちは、
「システムエンジニアの言っていることがさっぱりわからない」
ということが多いと思いますが、
先輩プログラマーが一緒に引継ぎを受けてくれて、サポートしてくれたりします。
また、システムエンジニアによって、
説明が雑だったり、
設計書が粗かったり、
間違った設計をしたりすることがあります。
「設計書の内容を正しく理解できるか?」
「システムエンジニアの気持ちを汲み取ることができるか?」
「設計書の間違いを指摘できるか?」
が優秀なプログラマーになる第一歩になります。
プログラムを作成する
引継ぎを受けて、実際にプログラムの作成を行います。
開発に使用するソフトや使用するプログラミング言語は、会社によって様々です。
指定された開発ソフト、プログラミング言語で「コーディング(コードを書くこと)」をしていきます。
プログラマーは、このコーディングにほとんどの時間を使います。
「開発時間をいかに短くできるか」が、
プログラマーの腕の見せ所です!
デバッグする
プログラマーは「コーディング」をして終わりではありません。
自分が書いたコードが正しく動作するか、
確認する作業「デバッグ」をしなくてはなりません。
ゲームをしていて、おかしな動作を見つけた際に、
「バグだ!」
という言葉を耳にしたことがあるかもしれません。
「デバッグ」は「バグを取り除くこと」を意味しています。
作成したプログラムは、この後システムエンジニアがテストすることになりますが、
その前に自分でテストをします。
「バグが見つかれば、コードを修正する」
それを繰り返し、
プログラムの精度を上げていきます。
デバッグが不十分だと、
テスト工程で余計な時間がかかったりしますので、
システムエンジニアに迷惑を掛けてしまいます。
いかに「バグをなくした状態でプログラムを作成できるか」がポイントです!
システムエンジニアに迷惑を掛けないために、
「デバッグには時間を使え!」
と先輩方が言うと思いますが、優秀なプログラマーである程、
デバッグ時間が少なく、精度も高いものです。
この辺りはまた別の記事でお話します!
納品する
デバッグが終わり、出来上がったプログラムをシステムエンジニアへ「納品」します。
(お客様への納品作業はシステムエンジニアが担当します。)
ただの「納品」だと思うかもしれませんが、侮ってはいけません。
プログラムは、複数の「ファイル」や「部品」、「データ」から成り立っており、
1つでも「納品漏れ」があると、プログラムが正しく動作しなくなってしまいます。
「納品漏れ」とはいえ、それは「バグ」の1つです。
納品作業もミスのないように行う必要があります。
修正する
納品後にシステムエンジニアがテストを行いますが、
その時に新たなバグが見つかったりします。
人間ですからね。
どんなに気を付けてもバグは少なからず出るでしょう。
また、
「やっぱりココはこうしたい」
とシステムエンジニアから変更のお願いされることもあります。
その場合は、
「開発」⇒「デバッグ」⇒「納品」
と修正作業を行います。
この往復作業をいかに少なくできるかがポイントになります!
以上が、プログラマーのメインどころの仕事内容になります!
プログラマーの必要スキル
プログラマーの必要スキルをいくつかお話したいと思います。
プログラミング言語
まずは、「プログラミング言語」の習得ですね。
これがないと開発作業ができません。
言語には、
- 「C」
- 「C++」
- 「C#」
- 「VB」
- 「HTML」
- 「CSS」
- 「PHP」
・・・
と様々です。
会社や開発するモノによって、使用する言語は変わります。
どの言語がどのようなモノを作っているかどうかは、こちらの記事でお話しております。
-
【2020年】プログラミングを始める!目的別プログラミング言語の選び方!
プログラムを勉強しよう!っと思ったけど、どの言語を勉強すればいいんだろう? 言語の数が多くてどれを選ぶべきなのか。。 選ぶ基準が知りたいなぁ。。 こんにちは、古賀です。 & ...
続きを見る
新卒であれば、その会社で扱う言語の研修があると思いますので、
研修で基礎的な力を付けていけば問題ありません。
プログラム未経験で、これから転職を考えている方は、
まずは「Progate」や「ドットインストール」で無料で学び、
プログラミングスクールで本格的に学ぶのが良いかと思います。
プログラミングスクールについてはこちらの記事でお話しています。
-
プログラミングスクールの選び方とオススメを紹介!就職先の支援など目的に合わせて選ぼう!
プログラミングを本格的に勉強して仕事に繋げていきたいけど、 プログラミングスクール多すぎる。。 どういう目線で選べばいいんだ。。 こんにちは、古賀です。 プロ ...
続きを見る
早さと正確性
ある程度勉強すると、プログラムはできるようになると思います。
他のプログラマーと差別化するためには「早さと正確性」が重要です。
仕事には必ず納期がありますから、早いに越したことはないです。
ただプログラムの場合は、正確性の方が重要です。
正確性を出そうとすれば、時間が掛かってしまう。
早くしようと思えば、正確性がなくなってしまう。
この相反するものを制すれば、一流プログラマーの仲間入りです!
コミュニケーション能力も大切
プログラマー1人だけでは、仕事は成立しません。
システムエンジニアや、他プログラマーと協力して、1つの製品を作り上げます。
個人戦ではなく、チーム戦なのです。
そのため「コミュニケーション能力」も大切です。
周りと協力する意識を持つことで、
信頼が集まり、
さらにプログラマーとして成長できますよ!
検索能力と自己学習する力
プログラムを行っていると、
「これ実現できるのかな?」
という場面が多々あります。
そんな時は、自分で答えを見つける「検索能力」が必要です。
ネットには多くの情報が転がってます。
その情報をうまく拾って活用できれば怖いものなしです。
そして、「調べては活用する」を繰り返して、
「自己学習」をしましょう。
ボーとしていると、すぐに新しい技術が出てきます。
乗り遅れないように、自分で学習する力を身につけましょう!
プログラマーのキャリアアップ
「SIer」業界では、
入社すると一般的に「プログラマー」としてキャリアをスタートすることになります。
その後、
「システムエンジニア」
「プロジェクトマネージャー」
とキャリアアップしていきます。
もちろん「プログラマー」をそのまま継続する人もいますが、
給与の面では「システムエンジニア」や「プロジェクトマネージャー」より低いです。
プロジェクト管理側に興味がなく、
プログラマーをずっと続けていきたいのであれば、
「WEBエンジニア」として「インターネット・WEB業界」へ就職・転職するのが良いと思いますよ!
まとめ:プログラマーとは?
ここまでの話をまとめます。
まとめ
<プログラマーの仕事>
・プログラマーは「プログラミング言語」を使ってコンピューターを動かす仕事
・システムエンジニアの設計を基に、プログラムを行うことが一般的
・設計やテストを行うこともあるが、開発がメイン作業
<プログラマーの仕事の流れ>
・「引継ぎ」⇒「コーディング」⇒「デバッグ」⇒「納品」⇒「修正作業」
<プログラマーの必要スキル>
・プログラミング言語
・早さと正確性
・コミュニケーション能力
・検索能力と自己学習
<プログラマーのキャリアアップ>
・「システムエンジニア」⇒「プロジェクトマネージャー」になることが一般的
・「プログラマー」を続ける人もいるが、給与面は「プログラマー」の方が低い
・「プログラマー」と続けるのであれば、「WEBエンジニア」の方がオススメ!
わたしがプログラムに出会ったのは、大学1年の時でした。
週に1回プログラムの授業がありましたが、最初は意味不明でした。
しかし大学2年の終わりごろに、
「プログラムはコードの上から流れて処理する」
「文法を正しく書く」
という極々普通のことを理解したら、少しずつ伸びてきました。
気付けば、周りで「デキる」方になっていました。
そして自分のプログラム能力が通用するかなと思い、
IT業界に挑戦しました。
最初は先輩に頼ってばかりでした。
「これは今の俺にはできない。。」
と先輩に仕事をパスしてしまったこともあります。
めちゃくちゃ悔しかったです。
そこから努力を続けていくと、
気付けば周りから信頼されるプログラマーになっていました。
(自分で言うのもなんですが。。)
「プログラマーの仕事はキツイ?」と聞かれれば、
「全然キツくないです!」
と答えます。
周りから信頼されれば、仕事もしやすくなります。
時間もコントロールできます。
「デキル奴」になればいいんです。
今はインターネットで勉強できる時代です!
プログラミングスクールも充実してます!
恐れることなくチャレンジしてみてください!
努力し続けてください!
あなたの活躍を楽しみにしてます!
まとめ記事に戻る
-
未経験からエンジニアへ!エンジニアデビューから年収1000万までの完全ロードマップ!
※本記事は、各記事のまとめ記事です。 こんにちは、古賀です! 本記事では、 「プログラミング未経験者がエンジニアとして働き、 年収1000万に到達するまでの道のり」 をご説 ...
続きを見る