プログラミングを勉強して内製化してみる?
IT化を自社でやるため、プログラミングを勉強しようと考えることがあります。勉強すること自体は良いことですが、「本格的なシステム開発」への道のりがどのくらいのものか、先に把握しておきましょう。
プログラミングを学ぶために必要なこと
まず、何を学ぶ必要があるかを整理します。
プログラミング言語
プログラムを書くための言語です。代表的なものだけでも以下があります。
| 言語 | 主な用途 |
|---|---|
| Python | データ分析・AI・自動化スクリプト |
| JavaScript | Webフロントエンド・サーバーサイド |
| TypeScript | JavaScriptに型を追加した言語 |
| PHP | Webアプリケーション(WordPressなど) |
| Java | 業務システム・Androidアプリ |
| Swift | iOSアプリ |
| Kotlin | Androidアプリ |
| SQL | データベース操作 |
| C# | Windowsアプリ・業務システム |
「プログラミングを勉強する」というとき、どの言語を選ぶかは目的によって変わります。Webシステムを作りたい場合と、データを分析したい場合と、スマホアプリを作りたい場合では、学ぶ言語が違います。
フレームワーク・ライブラリ
言語だけでは開発効率が悪いため、実際の開発ではフレームワーク(開発の骨格)やライブラリ(便利な部品)を使います。PythonならDjango、JavaScriptならReact・Vue・Node.jsなど、それぞれに代表的なものがあります。言語を覚えた後は、これらも学ぶ必要があります。
データベース
システムのデータを保存・管理する仕組みです。MySQLやPostgreSQLなどが代表的です。SQLという言語を使ってデータを操作します。業務システムを作るには、データベースの設計・操作は必須の知識です。
インフラ・サーバー
作ったシステムをインターネット上で動かすためのサーバー・ネットワーク・クラウドの知識が必要です。AWSやGoogle Cloudなどのクラウドサービスの基本的な使い方、セキュリティの考え方、ドメイン・SSL証明書の設定なども含まれます。
バージョン管理
複数人で開発する場合や、コードの変更履歴を管理するためにGitを使います。GitHubなどのサービスとあわせて、基本的な使い方を覚える必要があります。
ここまで読んで、「これは思ったより多いな」と感じた方は、正しい感覚だと思います。
DIYと家を建てるの違い
プログラミングに興味を持つことは、DIYに興味を持つことと似ています。棚を作る・ペンキを塗る・タイルを貼る——DIYで楽しめることはたくさんあります。
しかし「家を建てよう」となると話が変わります。構造計算・設備配管・電気工事・防火対策——専門知識と実績が必要な領域が出てきます。
プログラミングも同様で、簡単な自動化スクリプトを作る・Excelのマクロを書く・ノーコードツールをカスタマイズするといったことは、勉強すれば手が届きます。一方、業務で実際に使える本格的なシステムを作るには、相応の時間と経験が必要です。
勉強することは悪いことではない
プログラミングを勉強することは、IT化を進める上で役に立ちます。
- ベンダーが何を言っているかが理解しやすくなる
- システムの設計や仕様について議論しやすくなる
- ノーコード・ローコードツールを自分で扱えるようになる
- 小さな自動化・データ整理を自分でできるようになる
「システム開発ができる」レベルまで到達しなくても、IT化を進める上での判断力・理解力が上がることは確かです。
ひとつ注意点
プログラミングを勉強して、ベンダーや開発会社と話す際に専門用語を使うことには注意が必要です。
「わかっている人」と思われると、説明が省略されたり、前提知識がある前提で話が進んだりします。知識が中途半端な状態で「わかっている人」扱いされると、理解できていないまま話が進み、後で認識のズレが発覚するリスクがあります。
「少し勉強しましたが、詳しくはないので丁寧に説明してください」という姿勢の方が、発注者として正確な情報を得やすくなります。