SEやってるんだけど仕事がわからない…そんな悩みを抱えるSEは意外と多いです。
SEの仕事は一般的な会社と比較すれば高度なスキルが求められる、難易度の高いお仕事です。
- プログラミング
- システムの設計
- 規格や仕様
むずかしいことだらけです。仕事がわからないという場面があってもおかしくないし、実際に10年SEやってるわたしでも未だに『わからない』という場面にしょっちゅう出くわします。
仕事がわからなくて悩むことは多いと思いますが、今回は10年戦士のSEが対処法について書いてみます。

SEの仕事でわからないことがあったときの対処法
1.『わからない』ことを伝える
SEの仕事には『わからない』という場面がたびたび発生します。
- プログラミングがわからない
- 他人のソースコードがわからない
- 規格、仕様がむずかしくてわからない
- 人の話がわからない
仕事がわからないというのは知識が不足している、仕事ができない証拠、というようなイメージがあり、正直に『わかりません』と言うのには抵抗があるんですよね。
SEは知識や技術でお金を稼いでいますので、わからないと言うことは知識・技術がないと相手に思わせてしまいます。
ですが、わからないときは正直にわからないと言ったほうが自分にとっても相手にとっても利益があります。
たまに、

と責めてくる人もいますが…

仕方のないことはあります。ウソをついて適当な回答をすると、作業の手戻りが発生するなど、不利益なことが発生します。

これぐらいのことを言えるようになりましょう。
2.ある程度の開き直りが必要
SEの仕事はむずかしくてわからないことも多いし、わかったつもりでいても間違っていたりします。その結果、バグが発生したり作業が手戻りになることもあるでしょう。
そういう失敗を繰り返すことにより、SEとして自信を失ってしまいます。

SEをやるために絶対に必要なスキルに、

上司のお叱り、お客さんからのクレーム。すべてをまともに受け止めようとするとメンタル潰れます。
わたしも長いことSEをやっていますが、メンタルを潰した人、うつ病になって長期間休暇している人を何人か見てきました。
うつ病は一度発症してしまうと、予後が悪くて何度も繰り返し長期休暇に入ります。薬も強力で泥沼にハマっていく…。

仕事がわからなくて他人から冷たい視線を受けることもありますが、自分を責めることなく『他人事』という気持ちでスルーしましょう。それができずうつ病になるぐらいなら、転職するなどして環境を変えるのが良いです。
3.基礎的な知識を基本情報・応用情報処理技術者試験で抑えておく
SEにはいろいろと取るべき資格があります。
その中にIPA(独立行政法人 情報処理推進機構)が主催する、
- 基本情報処理技術者
- 応用情報処理技術者
という資格があります。
SEに人気の資格だと、
- oracle(データベース)
- cisco(ネットワーク)
といったベンダー資格が人気です。ですが、ベンダー資格は受験料が高額ですし数年で効力がなくなる『失効』があります。
一方、基本情報処理技術者や応用情報処理技術者は国家試験のため失効がありません。効果は半永久的に続きます。断然コストパフォーマンスが良いのです。

と軽んじている人が多いのですが、そんなことはありません。
10年目SEが一番大切なことを言わせていただきます。それは『基礎を完璧に習得すること』です。

なぜなら、基礎を理解していると、基礎知識から派生でむずかしいことが理解ができるようになるからです。たとえるなら、基礎知識はSEの技術力のオールのようなものです。
仕事がわからない、という原因は、単純に基礎がまだ固まっていないからということが考えられます。
4.プログラミングがわからない時はC言語を学ぶ
『SEの仕事がわからない』の中には、プログラミングがわからないという人が多くいると思います。
同じように、上述した通り基礎をしっかり固めることが大切です。
今どきのSEの仕事では『C言語』を学ぶ機会はきっと少ないでしょう。
- C#
- Java
- PHP
このあたりがメジャーなところでしょうかね。これらのプログラミング言語はリッチなアプリを簡単にすばやく作れるのでとても助かります。ですが、初心者がいきなり手を付けようとすると…少々難易度が高いです。

覚えることが多すぎるのです。Windowsアプリを作るにはプログラミング以外にWindowsの仕組みを知る必要があります。webアプリを作るにはHTML・Javascriptやデータベースの知識が必要になります。どうしても複合的な知識が必要になってきます。
C言語ならば分岐、繰り返し、構造体までを覚えれば一通りプログラミングができるようになりますが、C#だとコントロール、メッセージ、イベント、オブジェクト指向…などなど、とっかかりにくい知識もないとアプリは作れません。
プログラミングの学習というのは階段を登るようなもので、1段ずつ順序を守って勉強しなければならないものなのです。
C言語はそこらへんの書店で販売されている入門の書籍やwebサイトで学べるし、オブジェクト指向といった…少しばかり抽象的でとっつきにく話は出てきません。
これまた大事なことを言いますが、プログラミングは基本的に3つの要素でできています。
- 処理は連続する
- 処理は分岐する
- 処理は繰り返す
これをシンプルに表現できるのがC言語です。
プログラミングがわからない人は、むずかしく考えすぎているだけなんです。遠回りに思えるかもしれませんが、プログラミングがわからないという方はC言語からやり直してみてください。
- 変数と型
- if, for, whileといった制御文
- ポインタ
- 構造体
- アルゴリズムとデータ構造
上記を習得することができれば、理論上はどんなプログラミング言語も習得可能になります。早ければ1ヶ月程度で勉強を終えられるでしょう。
5.精一杯努力してダメなら転職

精一杯努力をしてみたけれども仕事がわからない。そんな人もいるでしょう。
実際に、わたしの身近にも死ぬほど努力はしていたけれどもSEの仕事がわからなかったという人がいました。
SEの仕事はある程度『センス』が必要な仕事です。センスがなければどれだけ努力してもうまくいかない。

と言う人もいますが、それは成功した人の結果論に過ぎません。実際には努力だけではなく、運もあったはずです。運とは、生まれ持ったセンスなども含まれます。
- 仕様や規格がわからないなら、事業内容が異なる会社に転職
- プログラミングがわからないなら、プログラミングをしない社内SE・テストエンジニアに転職
新卒で入社してから3年未満であれば異業種・異業界への転職も可能です。何ができるか?何に適正があるのか?ということはわからないでしょうから、転職エージェントと相談して決めると良いです。
また、社内SEやテストエンジニアといった選択肢もありますので、IT業界内でも問題を解決することができます。
社会人3年目以上の場合には異業界・異業種への転職はあまりおすすめはできません。社会人3年以上の社員には企業は即戦力を求めるため、いきなりわからない仕事を割り当てられることもあります。つまり、仕事がわからないという理由で転職したのに、もっとわからない仕事をすることになる可能性が高いということです。

まとめ
- わからない時には正直に『わかりません』と言う勇気を持つ
- 時に責められることもある。開き直る、スルースキルが必要。
- 基本情報や応用情報で基礎力を固める。
- プログラミングの基礎はC言語がおすすめ。
- がんばっても芽が出ないなら転職する。
わたしが危惧するのはなんといってもうつ病といった精神疾患を患ってしまわないかということです。今までに何人か見てきましたが、本当に辛そうでした。
突然、脂汗がぶわっと吹き出していたり、長期休暇と復帰を何度も繰り返したり。お金だって満足に稼げず生活も苦しかったでしょう。そんな病気が『一生モノの病気』になってしまいます。これだけは避けてください。