SEの仕事というのは世間一般の職業と比較すれば難易度の高いほうでしょう。
IT業界に入ってきてもプログラミングを習得することができずに辞めていくという人もたくさんいますからね。
じゃあプログラミングができれば仕事ができるのか?というと、そういうわけでもありません。
SEの本当の仕事はプログラミングでソフトウェアを作ることではなく、お客さんが抱えている問題を解決することです。
プログラミングはあくまでもSEとしての入り口、仕事のための手段でしかない。それすら習得できない人がたくさんいるってぐらいなので、仕事でうまくいっていないSEというのもたくさんいるでしょう。
今回は仕事がうまくいかないと悩むSEたちに向けたメッセージです。

仕事がうまくいかないと悩むSEたちへ
SEの仕事はむずかしい!ということを受け入れる
まず最初に、SEの仕事というのはむずかしいということを理解しておいてください。

見えるだけです。SEのうち7割は頭を抱えて苦しみながら仕事をしています。
自分が大変なときは周りがみんなうまくやれているように見えてしまうものなのです。なぜか自分だけができていない…そう錯覚するんです。
よく見てみるとわかるのですが、自分と等しいってぐらいうまくやれてないって人が必ずいます。
むずかしいことができない、うまく仕事をこなせていない。そんな自分が悪いわけではないんです。むしろ、SEはほんのわずかでも仕事を進められれば良いほうなんです。
むずかしい…だからミスをする
ソフトウェアにはミスがつきものです。たとえばバグの発生など。
なぜソフトウェアはむずかしいのか?その答えは…

ということです。
お客さんが抱える問題を解決するのがSEの仕事です。その問題解決のアプローチは1つではありません。こちらが最適と思われる案を提案するのですが、2個3個と思い浮かぶはずです。
いったいどれが最適なのか?これを間違えるとあとで痛い目見ます。だからむずかしいと悩むんです。
考えて考えて考え抜いた結果…やっぱりA案じゃなくてB案だったわ…なんてこともよくあります。作り終わったとに気づくのが厄介です。
結果、とてもメンテしづらいソフトウェアが完成してしまい、それを永遠とサポートするという地獄に落ちます。
時には人から、

と責められることもあるでしょう。でもこれは仕方のないことなんです。ミスをした人が悪いのではない。『バグを憎んで人を憎まず』の精神でいきましょう。
みんなミスしてる
ミスが発生しやすい仕事なわけですが、あなただけがミスをしているのではありません。
あなたが尊敬する先輩も、過去にたくさんの成果を出して昇進した上司も、全員たくさんのミスをしてきています。
わたしはこういうとき、『罪を重ねる』という表現を使ったりするのですが、みんな過去にたくさんの罪を犯してきています。
ソースコードを見ているとわかるのですが、過去の罪が精算されずに残っているものも多くありますね。
#ifdef _SUZUKI_DEBUG_ 処理X; /* 消すとなぜか動かなくなる */ #endif

そんなSUZUKIさんも今では課長をやっています。聞いてみても『忘れた』という回答しか返らない。
みんなそんなもんです。仕事をうまくこなせるかどうかのギリギリのラインで精一杯仕事しているんです。
ミスを無くすのではない。ミスを減らすのである。
SEをやっていて仕事がうまくいかないと悩む人は完璧主義な傾向があるのでしょう。
ソフトウェア開発というのはまだまだ未成熟だし、0か1しかない世界なのでちょっとしたミスでも致命的なバグにつながったりします。
物理的な世界ならばそんなことは起こらないのですが、論理的な世界の場合はミスをゼロにするということは不可能と思って良いでしょう。
ミスを無くすのではなく、ミスを減らせるよう努力します。
- 開発対象についてよく知る・調査する。
- 工程ごとにレビューをして第三者を巻き込んでいく。
よく仕事ができる人ほど、上手に人を頼ります。そういう人はわかっているんです。自分の意志の外にある問題にはどうしても気づくことができないということを。
また、レビューをすることで問題が起きても『気持ち的に連帯責任』となるので精神的に楽になります。
自分を守ることができるSEこそ一人前
わたしが考える仕事のできるSEとはなにか?

これです。
SEというのはうつ病といった精神疾患を患う可能性が高い職業です。その理由としては、
- ミスが許されない現場なのにミスが発生するのが必然。
- バグ1つで会社の経営を揺るがしかねないプレッシャー。
- むずかしい仕事を当たり前のようにこなさなければならないという風潮。
- お客さんと上司からの圧力・ストレス。
わたしは10年SEやっていますが、けっして平坦な道ではありませんでした。というか未だに<strong>ギリギリ続けられているようなものです。
会社をひっぱっていくような超弩級なSEですらうつ病になって会社を辞めていきます。たいして仕事ができないけど図太いSEのほうが最後まで残ります。
SEというのは技術力ではなく、いかに自分を上手に守っていけるか、それこそが本当に求められることなんです。
自分を守れないSEはどれだけスキルが高くても続きませんよ。

まとめ
- SEの仕事はむずかしい
- ミスが起こっても仕方がない
- できるだけミスを減らす努力はする
- 最後は自分を守る術を身につける
SEという職業は完璧主義な人ほど続きません。これは断言できます。

と聞かれたならば、わたしは迷うことなく『ストレスと上手につきあっていける人』と答えます。
スキルなんて2番目です。まずSEを続けられること。これが何より大事であり、続けるために必要なことがストレス耐性ということ。
これができないならSEは早めに見切りをつけたほうが良いでしょう。わたしはそういった耐性がないから毎日ギリギリです。あと数十年これが続くと思うと…ちょっと将来心配ですね。