社内SEを目指すとき、あるいは配属されたばかりのとき、「自分のコードで本当に務まるんだろうか」という不安は、誰しも一度は抱えるものだと思います。
この記事では、職業訓練校を卒業して社内SEになり、3年やってきた私の肌感をもとに、「コードが書ける」と言えるのはどのレベルからなのかを整理しました。
専門家の解説ではなく、現場で手を動かしてきた人間の主観として、読んでもらえたら嬉しいです。
結論を先に:基本文法が理解できていれば、まずやっていけた
3年やってみての答えを先に書いておきます。基本的な文法が理解できていれば、社内SEとしてはまず問題なくやっていけました。
入社前の私が書けたのは、Javaの基本文法と、ごく簡単なSQLくらいです。Webアプリの知識もほんの少しありましたが、業務に活きるレベルではありませんでした。それでも、なんとかなりました。
ただ、「文法を理解している」と「業務でちゃんと書ける」のあいだには、いくつかの段階があります。なのでこの記事では、社内SEのコーディングレベルを7段階に分けて、自分が今どのあたりにいるのかを判断するモノサシを提示します。
社内SEのコーディングレベルを7段階に分けて考えてみた
社内SEの現場で求められるコーディングには、文言を直すだけのものから、システム全体の設計に関わるものまで幅があります。私なりに整理してみたのが、以下の7段階です。
- レベル1:文言修正ができる
-
「帳票のタイトルを変えて」「画面のメッセージを直して」のような、文字列の差し替え作業ができるレベルです。ソースコードのなかから該当箇所を見つけられるかが、最初のハードルになります。
- レベル2:既存の動きを少し変えられる
-
「並び順を降順にして」「入力チェックの条件を変えて」のような、既存ロジックの条件値やパラメータを変える作業です。コードを読んで「ここを変えればいい」と判断できる必要があります。
- レベル3:既存の処理に項目や条件を追加できる
-
「合計行を追加して」「一覧に担当者名の列を増やして」のような作業です。SQLや処理の流れを理解して、既存のパターンに倣って追加できるレベルです。
- レベル4:業務ロジックの変更に対応できる
-
「承認フローを3段階から4段階に変えて」のような、業務の仕組みに踏み込んだ変更です。仕様を理解して影響範囲を洗い出し、どこをどう直せばいいかを自分で設計できるレベルです。
- レベル5:機能や処理をゼロから作れる
-
「月末に自動で集計するバッチ処理を新規で作って」のような、まるごと新しい処理の開発です。テーブル設計、処理フロー、エラーハンドリングまで自分で組み立てられます。
- レベル6:曖昧な要望から形にできる
-
「この手作業を自動化したい」のような、課題だけを渡されて、そこから仕組みを考えて提案・実装できるレベル。要件整理から実装まで一人で回せます。
- レベル7:システム全体を設計・判断できる
-
「データ量が10倍になっても耐えられるようにして」のような、アーキテクチャに関わる意思決定ができる立場。性能・保守性・コストを総合的に判断します。

ちなみに私自身は、今レベル5、ときどき6くらいの感覚でやっています。難しい要件は上司に相談することもありますが、ゼロから処理を組むことは普通にできるようになりました。
入社時はレベル1〜2でした。今振り返ると、3年でけっこう来たなと思います。
コーディング以外の部分——評価・給与・スキルの伸び方なども含めた社内SE3年間のリアルについては、別の記事にまとめています。転職を検討している方はあわせて読んでもらえると、解像度が上がるかもしれません。

結論:レベル3まで届けば「書ける」と言っていいと思う
最初に前提を置かせてください。私の職場はシステムを内製している会社です。外注がメインの会社では事情が違うかもしれないので、その視点で書いています。
.jpg)
あくまで私の主観です。会社や仕事の種類によって境界線は動くので、ざっくりした目安として読んでもらえたら。
そのうえで、3年やってきた肌感として、「コードが書ける」と言える最低ラインはレベル3だと感じています。なぜそう言えるのか、レベルごとに分けて書いてみます。
レベル1〜2は文法さえ理解していれば届く範囲
レベル1〜2の作業は、該当箇所のコードさえ読めれば対応できるものがほとんどです。「ここの文字列を差し替えて」「この数値を変えて」というのは、その箇所の意味さえ分かれば手が動きます。
なので基本的な文法を理解していれば、ハードルはそれほど高くありません。
ただし一つだけ前提があります。たとえば「ここを小文字に直して」と指示されて、字を書き換えただけで終わってしまう。その処理が何をしているのか分かっていない。そういう状態は「書けている」とは言えない、というのが私の見方です。文法を理解しているとは、そういうことだと考えています。
レベル3からはプログラム全体の流れを読む力が必要
レベル3になると、急にステップが一段上がる感覚があります。
「この処理に項目を追加する」「特定の条件のときだけスキップする」といった作業は、該当箇所だけ見ても判断できません。プログラム全体の流れ、データがどう渡ってどう加工されるか、そういう視点が必要になります。
ここまで来ると、簡単な修正なら自分で判断して直せるようになります。だから私は、レベル3が「コードが書ける」と言える最低ラインだと感じています。
レベル4からは「業務の知識」が混ざってくる
レベル4以上は、純粋なコーディング力の話ではなくなってきます。
「承認フローを3段階から4段階に変えて」と言われたとき、まず必要なのは業務の仕組みを理解する力です。コードを書く力は、その次に来ます。誰が承認して、どんなときに差し戻されて、月次でどう集計されるか——そういう業務知識がないと、影響範囲を正しく洗い出せません。
これが「コードが書ける/書けない」とは別の軸の能力です。なので、レベル3とレベル4のあいだには、それなりに明確な線が引かれている、というのが私の感覚です。
.jpg)
.jpg)
.jpg)
コーディング力と業務知識は別軸なので、混ぜて考えると自分のレベルがわからなくなります。
もちろん、業務ロジックの設計は上司に相談しながら進めて、コードの修正だけ自分で担当するという働き方もあります。それでも仕事は回るので、レベル3まで来ていれば、社内SEとしてはまずやっていけるはずです。
コーディング力とは別軸の話になりますが、社内SEで実際に一番求められるスキルが何だったかについても別の記事に書いています。コードが書けるかどうかとは違う視点で読んでもらえると、社内SEの仕事像がより立体的に見えてくると思います。


入社時点で必要だったのは「基本文法の理解」一つだけだった
ここからは私自身の話になります。
入社したとき、私が持っていたのはJavaの基本文法の理解と、ごく簡単なSQLくらいでした。Webアプリの知識もほんの少しはありましたが、業務に活きるレベルではなかったです。これらは職業訓練校で学んだものです。


社内では複数の言語が使われていて、そのなかにJavaは入っていませんでした。
最初に「やっていけるかな」と思ったのを、今でも覚えています。
実際にやってみると、新しい言語の学習はそれほど苦労しませんでした。文法を一つしっかり理解していれば、別の言語に乗り換えるときに「ここはJavaで言うとあれだな」と頭のなかで対応がついて、すんなり入れます。条件分岐、ループ、配列の扱い方、関数の作り方——名前や書き方は違っても、考え方の骨格は共通しているからだと思います。
だから入社時点で必要なのは、何かの言語の基本文法を一つしっかり理解していることだけ、というのが3年やってみての私の結論です。
参考になりそうな話をもう一つ書いておきます。私の職場には、プログラミングをまったく知らない状態で配属された人もいます。その人は入社してから一から学び始めて、3年ほど経った今、レベル2〜3くらいまで届いています。
その人は社内SEとしてプログラミング以外の仕事もしていたので、3年間フルにプログラミングにコミットしていたわけではありません。それでも時間をかけコードが書けるレベルになっています。
.jpg)
.jpg)
.jpg)
ゼロからでも3年あればここまで来るんだ、と一番身近で見られたのは大きかったです。
つまり、文法すら知らない状態で入ったとしても、ちゃんと学べる環境さえあれば、3年あれば最低ラインまで届きうるということです。もちろん本人の努力次第ではあるんですが、決して不可能な話ではないはずです。
「コードが書けない」状態から始めるなら、何をすべきか
ここまで読んで「自分はまだレベル1〜3あたりかも」「そもそも文法もあやしい」と感じた方に向けて、最後に少しだけ書きます。
私自身は、職業訓練校に通ってプログラミングの基礎を学びました。これは前職を辞めて時間があったからこそ取れた選択肢で、働きながら通うことはできません。
働きながら学びたい場合に、現実的な選択肢になるのがオンラインの学習サービスです。
私自身は使ったことがないので「これがいい」と言える立場ではありません。もし今の自分が同じ状況からスタートするなら、無料で試せる範囲のサービスをいくつか触ってみて、自分に合うものを選ぶと思います。文法の入り口くらいなら、無料体験の範囲でも十分つかめるはずです。
完璧に書けるようになる必要はありません。ひとまずレベル3まで届けば、社内SEとしての足場はできます。そのくらいの心構えで、一歩目を踏み出してもらえたらと思います。







