- GAFAMに転職した現役の技術職が執筆
- 2流文系卒からプログラマーに転身
- 初心者からプログラマーになって、一人前のエンジニアとして歩んでいける戦略を公開
- 年収1800万円以上
プログラミングを始めたいけど、なんか難しそう。わかりやすく概念みたいなものを教えてほしい。
プログラミングを理解するために押さえておきたいポイントは次の通りです。
プログラミングとは?プログラマーとは? 理解するために押さえておきたいポイント
プログラムとは?
プログラムとはコンピュータへ指示する命令です。プログラムを作成する人のことをプログラマーと呼びます。プログラミングとは、プログラムを作成することを表します。プログラムは、コンピュータに「これをしてほしい」とお願いするようなものです。たとえば、「ボタンを押したら画面にメッセージを表示してね」といったように、優しく丁寧に一つひとつ指示をしていきます。コンピュータは指示通りに動くため、もしプログラムが間違えていると、そのまま誤った操作をしてしまいます。それが、よく言われるバグという不具合になります。
頭がバグるとか、バグは日常的に使ってるけど、本来はプログラムの不具合のことだったのか。
バグの語源
「bug」という言葉自体は、英語で「虫」を意味します。機械に何か問題が発生した場合、それを「虫」に例えて「バグ」と呼んでいたのが始まりとされています。19世紀の機械工学や電気工学の分野で、装置がうまく動作しない原因を「バグ」と呼ぶことがあったのです。
プログラマーは、システムエンジニアとどう違うの?
プログラマーとシステムエンジニア
プログラマーとシステムエンジニアの違いは次の通りです。
プログラマー
プログラマーは、コンピュータに「何をどう動かすか」を直接指示する人です。たとえば、ゲームを作るときに、キャラクターがどう動くか、ボタンを押したら何が起こるか、などを細かくコード(プログラム)として書きます。プログラマーは、設計された内容に従って実際に動くプログラムを作る役割です。
- 仕事のイメージ: レシピに従って料理を作るシェフ
- やること: 指示通りにプログラムを書く、エラーを修正する
- 例: 「ボタンを押したら画面にメッセージが表示される」ようなプログラムを書く
システムエンジニア(SE)
システムエンジニア(SE)は、システム全体がどうやって動くかを計画し、設計する人です。たとえば、大きなビルを建てるときに、どこに部屋を作って、どのように電気や水道を引くかを設計するように、システムエンジニアはコンピュータのシステムやアプリの全体の構造を決めます。そして、その設計に基づいてプログラマーが細かい部分を作るので、SEは「全体の設計」を担当します。
- 仕事のイメージ: 設計図を作る
- やること: システム全体を計画する、どう動かすかを考える
- 例: 「このアプリでは、ボタンを押すとメッセージが表示されるようにして、ユーザーが簡単に操作できるようにしよう」という全体の計画を立てる
なるほど。
プログラマーとシステムエンジニアの給料はどのくらい違うの?
プログラマーとシステムエンジニアの給料の違い
一般的に、システムエンジニア(SE)の方がプログラマーよりも給料が高い傾向にあります。理由は、システムエンジニアの仕事がシステム全体の設計やプロジェクト管理など、より多くの責任を伴うためです。一方、プログラマーは具体的なコーディングやプログラムの実装に集中する仕事なので、給料はシステムエンジニアより少し低いことが多いです。
具体的な給料の例
- プログラマーの年収: 初心者の場合、年収は約300万円~500万円が一般的です。経験を積むと600万円以上も可能です。
- システムエンジニアの年収: 初心者でも年収は400万円~600万円ほどで、経験を積むと800万円以上になることもあります。
給料の違いのポイント
- プログラマーは、実際にプログラムを書く作業に集中するため、システム全体を設計するSEよりも少し給料が低くなりやすいです。
- システムエンジニアは、システムの全体像を把握し、プロジェクト全体を管理する責任があるので、給料が高くなる傾向があります。
両方とも経験を積むことで給料が上がり、将来的にはそれぞれの道で高い年収を目指せますが、システムエンジニアはより責任が重い分、給料が高くなりやすいです。
なんか思ってたより少ないイメージ。広告とかで1000万円超えるようなことを言ってるのみ見かけるけどどうなの?
一般的に1000万円を超える年収はよく話題になりますが、主にフリーランスや高いスキルを持ったエンジニア、そしてマネージャー職や上級エンジニアに該当することが多いです。
私の所感
フリーのエンジニアは信頼できる人なら1000万円/年を普通に超えます。20代でも瞬間風速で1000万円を超えることは可能です。正社員でも一部のスーパーエンジニアと呼ばれる人たちは、日本でも2000万円を超えますし、私が正社員として勤める外資系企業でも、US採用であれば2024年時点で物価高の影響もあり、技術職で5000万円を超える求人も普通にあります(怖い)。私は日本採用の技術職で2000万円にも到達していませんが、まだまだ上を目指せる環境にあります。残念ながら自分のことをスーパーエンジニアと認識したことはありません、ただ外資系企業に身を置いているだけです。
プログラマーやシステムエンジニアが1000万円を超える年収に達するケース
- フリーランスエンジニア
- フリーランスとして働くプログラマーやシステムエンジニアは、プロジェクト単位で仕事を受けるため、うまく契約を取れば高収入を得ることが可能です。
- 特に、高度なスキル(クラウド技術、AI、ブロックチェーンなど)を持っているフリーランスは、案件ごとに高額な報酬を得ることができます。
- 年収1000万円以上を狙うフリーランスエンジニアは、自分で案件を獲得し、複数のクライアントと契約することで収入を増やすことができます。
- 高いスキルを持つエンジニア
- AI、データサイエンス、クラウド技術(AWS、Azure) など、需要の高い分野に強いエンジニアは、企業からの報酬も高く、1000万円以上の年収に達することがあります。
- 特定の技術に精通しているエンジニアや、フルスタックエンジニアなどの幅広いスキルを持つ人は、企業にとって非常に価値が高いので、高年収を期待できます。
- 管理職や上級職のエンジニア
- 企業内でキャリアを積み、プロジェクトマネージャーやシステムアーキテクトのような上級職になると、1000万円以上の年収に達することが珍しくありません。
- また、大手企業や外資系企業では、技術的なスキルに加えてチームの管理やプロジェクト全体の戦略を担うことで、報酬が大幅にアップするケースがあります。
フリーランスを目指すことで短期間で高収入を得ることは可能です。私も、プログラマーを3年やって、フリーランスになりましたが、100万円/月を超える月は確かにありました。働き方次第で高額な年収を狙えるというのは確かです。特に今後は人材獲得が難しくなっていくので、単価はますます上がっていくと思います。
今のキャリアで1000万円を目指すことは到底難しそう。となると早いうちにプログラマーに転身した方が賢明か…
どのくらい時間を投資したら稼げるようになりますか?
今の世の中、初心者がプログラマーとして稼げるようになるまでの最短期間は、学習ペースや目指す分野によって異なりますが、最短で3~6ヶ月でお金を稼ぎ始めることも可能なようです。フリーランスの小さな仕事を探す選択肢もあります。クラウドソーシングサイト(例: LancersやUpwork)では、プログラムの修正や小さなウェブ開発の仕事がたくさんあります。
みなさんがどこを目標にしているかにもよります。最短で数万円稼げるようになるのは確かに3か月ぐらいかもしれませんが、本業でがっつり稼ぐ場合は半年から1年ぐらいはかかるのではないかと思います。
プログラミングをすぐに始めてみたい人はこちらの記事も参考になります。