プログラミングを勉強して内製化してみる?

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化を進める上での判断力・理解力が上がることは確かです。

ひとつ注意点

プログラミングを勉強して、ベンダーや開発会社と話す際に専門用語を使うことには注意が必要です。

「わかっている人」と思われると、説明が省略されたり、前提知識がある前提で話が進んだりします。知識が中途半端な状態で「わかっている人」扱いされると、理解できていないまま話が進み、後で認識のズレが発覚するリスクがあります。

「少し勉強しましたが、詳しくはないので丁寧に説明してください」という姿勢の方が、発注者として正確な情報を得やすくなります。