この記事では、プログラミングとは何か、その特徴や用途ををわかりやすく解説します。
2020年・2021年から実施された小・中学校におけるプログラミング教育の必修化や、2025年に迫る大学入学共通テストでの「情報科目」の設置などを背景に、ITリテラシーの必要性は年々増している傾向にあります。
また、国内におけるIT人材の不足が深刻化していることもあり、ITエンジニアといったプログラミングスキルがある人材の需要は増し、他の職種に比べ高い報酬を設けるケースが増えてきました。
そんな現状から、プログラミングに興味や関心を抱き始めた人もいるでしょう。
とはいえ「プログラミング」という言葉を聞いたことはあるものの、具体的なイメージが湧かない人は多いですよね。十分な知識を持たずに学習を始めても、挫折してしまいます。
そこで、今回はそもそもプログラミングとは何なのか、その意味や特徴を活用事例も交えわかりやすく解説します。代表的な職種や主なプログラミング言語も紹介するので、ぜひ参考にしてください。
次の動画では「プログラミングとは何か」をわかりやすく解説しているので、よければご覧ください。
- プログラミングとは「コンピュータを動かすために指示すること」を指す言葉
- コンピュータを動かすための指示書を「プログラム」という
- プログラミング言語とは「プログラムを書くときに用いる言語」
プログラミングとは?初心者がおさえておきたい基礎知識
はじめに、初心者がおさえておきたいプログラミングの基礎知識を、3つにまとめて紹介します。
プログラミングの意味
プログラミングとは「コンピュータを動かすための指示書を書くこと」です。
コンピュータは人間と違い、指示された通りのことしかできません。コンピュータを動かして思い通りの結果を出すためには、正しい指示書の作成が必要です。
この指示書が「プログラム」であり、プログラムの作成によってコンピュータに指示を伝える作業がプログラミングといえます。
プログラミング言語とは?
プログラミング言語とは「プログラムを書くときに用いる言語」を指す言葉です。
コンピューターが理解できる機械語は0と1の羅列であり、人間にはまず理解できません。プログラマーが機械語のプログラムを直接書くことは難しいため、プログラミング言語が使われるようになりました。
プログラミング言語は、コンピューターに実行させたい命令を英単語などの組み合わせで表現します。プログラマー自らが理解できる形でプログラムに落とし込めるため、効率が向上するのです。
ただし、プログラミング言語は200種類以上も存在し、言語ごとに利用分野や習得難易度が異なります。そのため、目的や用途に応じた言語選びが重要です。
なお、プログラミングを学びたい気持ちはあるものの、どの言語が自分にあうのか、どう学習を進めればいいのかなどがあいまいな人は「プログラミング学習プラン診断」をお試しください。
かかる時間は1分ほど。4つの質問に答えるだけで、あなたにあう言語や学習プランを診断してもらえます。
効率よくプログラミングを学習したい人は、ぜひ一度お試しください。
\ 4つの質問に答えるだけ /
プログラミングが普及するまでの経緯
今や世界中に普及しているプログラミングですが、その始まりは何十年も前にさかのぼります。
最初のプログラミング言語が生み出されたのは1950年代。当時は、人間が理解しやすい形でプログラムを表現できる「高水準言語」と呼ばれていました。
世界で初めてコンピューターに処理されたのは「FORTRAN(フォートラン)」と呼ばれた高水準言語です。当時からプログラミングに欠かせない条件分岐といった概念を持ち、1957年に実用化され広く普及していきました。
インタプリタ型言語(※1)やオブジェクト指向型言語(※2)など、FORTRANの登場以降に新しく生まれたプログラミング言語の多くは、既にある言語のエッセンスを受け継いで生み出されたものがほとんどです。
例えば、今でも広く使われる「C言語」はFORTRANの影響を受けていると言われています。
そして今では、200種類を超えるプログラミング言語が存在します。
プログラミングでできること
確かなプログラミングスキルのもとプログラムを作ることで、自分の思いどおりにコンピューターを操作できます。ただし、ここで言う「コンピューター」はパソコンだけを指しているわけではありません。
プログラミングによって操作できるコンピューターは、大まかに次の3つに分類されます。
種類 | 具体例 |
パソコン | 個人向けPC、ビジネス向けPC、サーバー(データ管理やシステム稼働用) |
モバイル端末 | スマートフォン、タブレット |
その他の電子機器 | 家電製品、産業機械、公共設備(信号機など) |
パソコンやモバイル端末に搭載されている「Windows」や「Android」などのOS(オペレーティングシステム)上でプログラムを動かすことで、動画を再生したりカメラ機能を利用できます。
また、パソコンやモバイル端末に限らず、テレビなどの電子機器にも専用のOSが組み込まれています。プログラミングによって、電子機器をプログラムで制御することも可能です。
上記を踏まえ、ここからは活用事例も交えプログラミングでできることを、7つにまとめて紹介します。
なお、副業での収入獲得を目指しているものの、どんな仕事が自分に合うかわからない人は「副業診断」をお試しください。
かかる時間はたった1分ほど。5つの質問に答えるだけで、自分にあう副業を診断してもらえます。
自身が取り組みやすい副業で収入を獲得したい人は、ぜひ一度お試しください。
\ 5つの質問に答えるだけ /
Webアプリ開発/Webサイト制作
プログラミングを活用すれば、Webブラウザ上で動作するWebアプリやWebサイトを制作できます。次のようなインターネット上で目にするWebサイトは、すべてプログラムで作られています。
プログラムを駆使すれば、世界中の人が利用できるWebサービスを開発できるのです。
スマホアプリ開発
スマートフォンにインストールして使えるスマホアプリの開発も、プログラミングでできることの1つです。
「App Store」や「Google Play」で配信されている次のようなスマホアプリはプログラムで作られています。
- 連絡が取れる「LINE」
- 人気ゲーム「モンスターストライク」
- 飲食店が探せる「食べログ」
- 銀行・金融機関の公式アプリ
スマートフォンは2022年時点で国内の71.2%が利用している点から、その需要が続く限りプログラミングでアプリ開発を行う仕事はなくならないといえます。
なお、IT企業への転職や副業での収入獲得を見据え、独学でプログラミングスキルを習得できるか不安な人は「侍エンジニア」をお試しください。
侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。
「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。
\ 給付金で受講料が最大80%OFF /
AI(人工知能)開発
判断・推測といった人間の思考をコンピュータで再現するAI(人工知能)も、プログラミングで開発可能です。
イメージしやすいロボットはもちろん、次のようなAIの開発にもプログラミングは活用されています。
ビジネスや医療分野・公共交通機関など、AIは日常生活で身近に活用されつつあります。
なお、ITの仕事に興味はあるものの、どの職種が自分にあうのかわからない人もいますよね。そんな人は「ITキャリア診断」をお試しください。
かかる時間はたったの1分。5つの質問に答えるだけで、自分にあうIT職種を診断してもらえます。
自身に適した職種が知りたい人は、手軽に試してみると良いですよ。
\ 5つの質問に答えるだけ /
組み込みシステム開発
電子機器にプログラムを組み込んで制御する「組み込みシステム」の開発も、プログラミングでできることの1つです。
身近にある家電製品から製造業などで使われる産業機械、暮らしに欠かせない公共設備まで、プログラミングで作られている次のような組み込みシステムはさまざまな場面に存在します。
- テレビの表示制御
- 工場の製造ラインの制御
- 信号機の点灯・点滅制御
私たちの生活に欠かせない点から、上記のような組み込みシステムの開発は需要が安定した分野といえます。最近では、配膳ロボットを導入する飲食店が増えるなど、ロボット開発の需要も増しているのです。
ゲーム開発
「コンシューマーゲーム(家庭用ゲーム機として使われることを前提に作られるコンピュータゲーム)」や、VRゴーグルを用いて遊ぶ「VRゲーム」の開発も、プログラミングでできることの1つです。
具体的には、次のような世界中で大ヒットしたゲームの多くがプログラミングで作られています。
開発に使用されているプログラミング言語に違いはあるものの、さまざまなゲームが開発できるのはロマンがありますね。
業務システム開発
特定の業務を効率化・自動化するための「業務システム」も、プログラミングで開発可能です。
社内で使用する勤怠管理や生産管理のシステムはもちろん、次のような消費者の生活にも関わるシステムも、プログラミングで作られています。
- 銀行口座の管理システム
- 新幹線の発券管理システム
- 小売店の販売管理システム
また、身近な例では個人がパソコン作業を自動化するため、プログラミングで独自のシステムを構築することもあります。ビジネス・プライベートを問わず、暮らしを快適にするうえで業務システムの開発は必要性が高い分野といえます。
データ分析
大量のデータから傾向や特徴を見つけ出すデータの分析も、プログラミングでできることの1つです。
次のような手作業では膨大な時間がかかる分析も、プログラムを使えば正確かつスピーディーに実行できます。
- マーケティングで商品の売上データを分析
- 株価データを分析して今後の動向を予測
- スマートウォッチで収集した健康データを分析
なお、プログラミングでのデータ分析は前述したAI開発にも必要不可欠です。収集した大量のデータからAIの学習に必要な情報抽出や傾向の分析に役に立ちます。
代表的なプログラミング言語
ここからは、代表的なプログラミング言語を5つ紹介します。
環境構築が不要な「JavaScript」
JavaScriptは、Webサイトに動きをつけるプログラミング言語です。
具体的には、Webサイトの広告ポップ表示や画像のスライド機能などを作成できます。
JavaScriptはあらゆるWeb開発で使われるため、高い需要があります。スキルを習得すれば、安定した仕事獲得が期待できます。
Webブラウザさえあれば動作を確認できるため、特別な環境構築が要らず、初心者でも学びやすいのが特徴です。
ただしJavaScriptを学ぶ場合、前提として「HTML/CSS」の学習が必要です。HTMLはWebページの表示内容を定義し、CSSはWebページのデザインをカスタマイズします。どちらも、Webの基本といえる重要な言語です。
Web開発で需要が高い「PHP」
PHPは、Web開発に重宝される使プログラミング言語です。
同じWeb開発で使用されるJavaScriptが動作するのは、Webブラウザ上(フロントエンド)ですが、PHPはWebサーバー上(バックエンド)で動作します。
PHPのプログラムは、Webサーバー上のデータベースからデータを取得して加工を行い、フロントエンドのプログラムに渡す役割を担当します。
PHPはバックエンド開発の需要が圧倒的に高く、初心者でも仕事を探しやすい言語です。
なお、Webコンテンツを構築する「WordPress」は、PHPで作られており、WordPressサイトのカスタマイズにPHPが使われることもあります。Web開発での使用頻度が高いため、Web開発をメインにしたい人は覚えておきたい言語です。
覚えやすく汎用性の高い「Python」
Pythonは、AIをはじめとした多くの開発分野に使われているプログラミング言語です。文法がシンプルで分かりやすく、初心者でも比較的短期間で覚えやすいといえます。
また、Pythonは需要が高い言語であるため、初心者でも仕事を探しやすいのも魅力の1つです。
Pythonを習得すれば、AIやデータ分析・Web開発など、幅広い分野で活躍できるでしょう。
さまざまな開発現場で活用される「Java」
Javaは、高い汎用性が特徴のプログラミング言語です。
Javaのプログラムは、「JVM(Java Virtual Machine)」という仮想環境上で動作します。仮想環境はほとんどのOS上で動作できます。
また、プログラムの動作も比較的高速なため、処理速度が求められる組み込みシステム開発にも利用されています。例えば、企業で使用される勤怠管理システムや、病院で使用されるセルフ受付システムなどはJavaで開発されるケースもあるのです。
処理速度が速い「C言語」
C言語を使えば、高速で無駄のないプログラムを作成できます。
コード量が多くなる側面はあるものの、高い処理速度が求められるシステムや並行処理が必要なシステム開発に向いています。組み込みシステム開発でいうと、家電や自動車などを制御するプログラムの開発に使用されていますね。
また、Javaをはじめとした多くの言語は、C言語を参考にしており、C言語を学んでおけば他の言語を学ぶときに活かしやすいです。
プログラミングを扱う主な仕事
プログラミングを扱う仕事は種類が多く、すべては紹介しきれません。そこで、ここでは代表的な職種を、5つにまとめて紹介します。
プログラマー
プログラマーは、ソフトウェアに欠かせないプログラムを作る職種です。プログラマーとひと言でいっても、開発分野はWeb系やAI系など幅広く、現場や案件によって扱うプログラミング言語も変わります。
メインの仕事は、仕様書や設計書といった開発文書をもとにプログラムを書くことです。ただし、プログラムにはバグ(問題)が付き物のため、作成後は開発環境を用いて実際に動かす「デバッグ」を行います。
デバッグ後は動作が仕様や設計どおりか確認する「テスト」が必要ですが、テスト専門の「テスター」に依頼することも多いです。
プログラマーはどのような開発分野でも欠かせない役割を担う仕事といえます。
システムエンジニア(SE)
システムエンジニアは、ソフトウェア開発の「上流工程」を中心に幅広い業務を行う職種です。上流工程では、どのようなソフトウェアを作るか決める「要件定義」や、その実現方法を具体化する「設計」を行います。
要件定義では、顧客からソフトウェアに関する要望をヒアリングします。システムエンジニアはチームをまとめる役割を担うことが多いため、顧客やチームメンバーと円滑にコミュニケーションするスキルが欠かせません。
また、プログラマーが使う仕様書や設計書はシステムエンジニアが作成します。一般的にシステムエンジニアはプログラマーの上位職とされるため、プログラマーが目指すキャリアパスの1つともいえます。
データサイエンティスト
データサイエンティストは、ビッグデータの活用を通して企業のさまざまな課題解決をサポートする職種です。
課題を解決するためのデータ収集や可視化、分析を行い、最適な戦略や解決策を顧客に示します。案件によっては、企業が扱うデータ分析基盤の構築や、課題解決に向けたAIモデルの開発を担う場合もあります。
データサイエンティストが主にプログラミング言語はPythonです。ほかにも数学や統計学、データベース(大量のデータを扱う仕組み)など、さまざまな知識が要求される難易度の高い仕事といえます。
「稼げる職業」としても注目されているため、将来的が高い仕事に位置付けられています。
ネットワークエンジニア
ネットワークエンジニアは、ITシステムとユーザー、ITシステム同士をつなぐ「ネットワーク」を扱う職種です。
目的や用途にあうネットワークの設計から構築、運用・保守まで幅広い仕事があるため、複数人で分担しながら作業を進めます。
ネットワークエンジニアは主にネットワーク関連の機器・ソフトウェアを扱うため、プログラミングは必須ではありません。ただし、企業独自のルールで通信制御を行うプログラムが必要な場合などは必要となるケースも増えています。
社会のITインフラを支えるネットワークエンジニアは、AIが普及したとしても安定した需要が期待できる仕事です。
セキュリティエンジニア
セキュリティエンジニアはその名の通り、セキュリティ対策のスペシャリストです。企業のセキュリティリスク(脆弱性)を調査・分析し、解決策を提案・実施することでIT資産やデータをサイバー攻撃から守ります。
セキュリティエンジニアも、必ずプログラミングを行うわけではありません。しかし、脆弱性チェックツールの開発やデータ収集・解析の自動化などに活用して、業務効率化につながる場面は多いでしょう。
また、セキュリティリスクを調査するうえでプログラムをチェックすることも多いです。そのため、さまざまなプログラミング言語のセキュリティ対策に関する専門知識が求められます。
専門性が高いため簡単ではありませんが、高単価な案件も多く年収アップが狙いやすい仕事です。また、昨今のビジネスにおけるセキュリティ意識の高まりから、今後さらなる需要拡大が期待できます。
なお、今回紹介した上記以外にもプログラミングを仕事にする職業は数多くあります。年収や働き方なども踏まえ、プログラミングを仕事にする職業をより詳しく知りたい人は下の記事を参考にしてください。
→ プログラミングを仕事にする職業とは?年収や需要、働き方も紹介
プログラミングの需要・将来性
ここからは、次のトピック別にプログラミングの需要・将来性を解説します。
現状プログラミングの需要は高い
現状、プログラミングの需要は非常に高いといえます。
経済産業省の調査より、2015年から現在に至るまでプログラミングといったITスキルのある人材は不足し続けているからです。なお、今後も人材不足は加速し、2030年には最大で約79万人ものIT人材が足りなくなるという試算も出ています。
また、IT人材の不足を背景としたプログラミング仕事の求人数や平均年収からも、需要の高さはうかがえます。
事実、求人検索エンジン「indeed」で「プログラミング」と検索すると、2023年10月時点で23万件以上の求人がヒットするほどです。
プログラマーといったITエンジニアの平均年収も比較的高い傾向にあります。令和3年分の「民間給与実態統計調査」によると、日本全体の平均年収は約443万円。一方、ITエンジニア全体の平均年収は約494万円です(2023年6月時点/求人ボックス調べ)。
経済産業省の「我が国におけるIT人材の動向」から、ITエンジニアの年収は年代が上がるにつれ増していき、50代では900万円を超える人も少なくありません。
プログラミングの仕事が売り手市場である点から、現在の需要は非常に高いといえます。
今後も高い将来性が期待できる
前述したIT人材の不足を背景に、今後もプログラミングは高い将来性が期待できます。
昨今は第4次AIブームがスタートしたと主張する識者がいるほどに、テクノロジーの発展がめざましく、新しい技術が続々と登場しています。プログラミングは新たな技術の実現に欠かせないため、今後の需要はさらに拡大するでしょう。
例えば、AIが文章や画像などを生み出す「生成AI」が普及したことで、AIエンジニアの需要は急速に拡大しています。ほかにも、ブロックチェーン(※3)やWeb3(※4)などの技術が普及したことで、プログラミングの需要拡大は一層期待できます。
新しい技術に必要となるプログラムを生み出すプログラマーは、テクノロジーの発展を後押しする存在といえます。今後もテクノロジーが発展し続けることを考えれば、プログラミングの仕事もより必要とされていくでしょう。
未経験からプログラミングを学ぶには
ここからは、次のトピック別に未経験からプログラミングを学ぶ方法を、具体的な手順も交えて紹介します。
主な学習方法
独学でプログラミングを学習する場合、次の3つの方法が代表的といえます。
どの方法が正解・不正解ということはありません。それぞれのメリットやデメリットを考慮し、自分にあった勉強方法を選びましょう。もちろん、複数の方法を組み合わせてもOKです。
おすすめの勉強手順
プログラミングを勉強する際は、次の手順で進めるのがおすすめです。
- 1.本や学習サイトでプログラミングの基礎文法を身につける
- 2.実際にサンプルプログラムをコーディングしてみる
- 3.オリジナルのプログラムを作成してみる
まずは本や学習サイトなどで基礎文法を身につけましょう。細かい知識まで詰め込もうとすると必要以上に時間がかかってしまうため、最低限必要な知識に留め、複雑な内容は後回しにすると挫折しにくいです。
次に、本などへ掲載されているサンプルプログラムを実装してみましょう。文章だけで理解しようとするより、自分の手を動かすほうが格段に頭へ入りやすくなります。
一通りサンプルプログラムが書けるようになったら、オリジナルのプログラムを作成してみましょう。その際、ポートフォリオ(作品集)として提示できるよう、デザインや内部設計に工夫を凝らしておくと、就職活動にも活かせるのでおすすめです。
文字ベースでの基礎学習は最低限に実践しながら学習を進めることで、効率よくプログラミングの知識を定着させられます。
上記を踏まえ、初心者からのプログラミング学習の始め方を詳しく知りたい人は、次の記事を参考にしてください。
→ プログラミング初心者は何から学ぶ?勉強の手順をわかりやすく解説
プログラミングにまつわるQ&A
最後に、プログラミングによくある質問へまとめて回答します。
プログラミングが向いている人ってどんな人?
次の項目に当てはまる人は、プログラミングが向いているといえます。
- 考えることが好き
- 知らないことを学ぶのが好き
- 座り仕事が苦にならない人
上記に当てはまらないからといってプログラミングへの適性がないとは限りません。ただ、当てはまっていれば習得しやすいでしょう。考える力は、プログラミングの仕組みを理解するために必要で、集中力や学習意欲は継続した学習に大切になります。
手軽にプログラミングへの適性を知りたい人は、下の記事を参考にしてください。
→ プログラミングの適性診断サイトおすすめ3選!適した人の特徴も紹介
「プログラミングは理系が有利」って聞いたけど本当?
「プログラミングは理系が有利」という噂は、半分が正しくもう半分は正しくありません。
理系大学生(または理系大学出身者)の場合は、カリキュラムの一環でプログラミングを経験するケースが多くあります。文系出身者は学ぶ機会が設けられていないため、自然と理系出身者が有利になるわけです。
ただし、これはあくまで経験があるかないかの差。すべての理系出身者がプログラミング学習を経験しているとは限らない点から、理系だからといって必ずしも有利になるとは言い切れません。
文系・理系を問わず、努力すればプログラミングのスキルは身につけられます。理系だからと油断せず、文系だからと悲観もせず、正しい方法で学習を継続することが大切です。
今からプログラミングを学び始めるか悩んでいる人へ
プログラミングに興味はあるものの、今から学び始めるか悩んでいる人は多くいますよね。
そこで、ここからは弊社がプログラミングに興味がある人100名を対象に実施した意識調査を紹介します。今から学び始めるべきなのか悩んでいる人はぜひ参考にしてください。
ちなみに、今回調査した100名の回答者が「プログラミングを始めようと思ったきっかけ」や「学びたい目的」として挙げたのは次のとおりです。
上記から、転職やフリーランスへの独立など、キャリアチェンジを目的にプログラミングへ興味が湧き学びたいと考えている人は多いようですね。
また「いつ頃から勉強を始めたいか」を聞いたところ、46%の人が「できるだけプログラミングの勉強を始めたい」と回答しました。
「いますぐ勉強したい」と回答した人を含めれば、半数以上の人ができるだけ早くプログラミングを学び始めたいと感じているようです。
ただ、プログラミングを学びたい気持ちはあるものの、48%の人が「難しそう」といった理由で勉強を始められないと回答しています。
なお、35%の人は「忙しくてプログラミングを勉強する時間がとれない」と回答しています。
早く学びたいと考えている一方で、プログラミングに対する難しさやまとまった勉強時間が必要だといったイメージから、なかなか手が出しづらいと考える人は多くいるようです。
上記で述べたようなイメージからか「学習方法」を聞いたところ、61%の人が「プログラミングスクールで学習したい」と回答しました。
スクールと独学、それぞれを選んだ具体的な理由は次のとおりです。
独学への不安や確実にスキルを身につけられるといったイメージから、スクールを活用してプログラミングを学びたいと考える人は多いようです。「スクールを利用するお金や時間に余裕がない」という理由で独学を選んだ人が多い点からも、スクールを活用して効率的にスキルを取得したいと考えている人は多いといえますね。
まとめ
今回は、プログラミングの基礎知識やできること、勉強法など網羅的に解説しました。
プログラミングは、今や生活に欠かせないITを根元から支える仕事です。プログラマーの需要は今後より高まっていくと予想されるため、今のうちにスキルを身につけることをおすすめします。
とはいえ、プログラミング学習は正しい方法・手順で進めないと挫折してしまいます。独学で習得できるか不安な人は、スクールの利用も検討しましょう。
参考文献
- 文部科学省「プログラミング教育」
- 厚生労働省 職業情報提供サイト 「jobtag」
- IPA 独立行政法人 情報処理推進機構「DX白書2023」
- 経済産業省「我が国におけるIT人材の動向」「IT人材育成の状況等について」「IT人材需給に関する調査」
- 松尾研究室「生成AI時代の人材育成」
- 厚生労働省「開発した教育訓練プログラム」
- プログラミング教育の問題と対策
- プログラミングの本質的難しさと 日本語/英語プログラミング言語の比較検討
- TIOBE Index
本記事の解説内容に関する補足事項
本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。
また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に、提供コースは「教育訓練給付制度の指定講座」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。
記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。
この記事の監修者
フルスタックエンジニア
音楽大学卒業後、15年間中高一貫進学校の音楽教師として勤務。40才のときからIT、WEB系の企業に勤務。livedoor(スーパーバイザー)、楽天株式会社(ディレクター)、アスキーソリューションズ(PM)などを経験。50歳の時より、専門学校でWEB・デザイン系の学科長として勤務の傍ら、副業としてフリーランス活動を開始。 2016年、株式会社SAMURAIのインストラクターを始め、その後フリーランスコースを創設。現在までに100名以上の指導を行い、未経験から活躍できるエンジニアを輩出している。また、フリーランスのノウハウを伝えるセミナーにも多数、登壇している。