僕はコンピュータ関連の技術者として、コンピュータメーカーで働いています。いわゆる『SE(システムエンジニア)』というやつです。ただ僕はSEという言葉が嫌いで、もちろんそういう風に呼ばれることも嫌いなので、コンピュータ関連の技術者とかエンジニアとか、そういう回りくどい言い方をするようにしています。
自分もSEだという方、または家族・友人がSEだという人はとても多いと思いますが、そもそもSEってなんなんでしょう?
Yahoo!の用語辞典によると、こんなかんじ。
SE (システムエンジニア) 【System(s) Engineer】 コンピュータシステムの設計やシステム開発のプロジェクト管理などをする技術者のこと。対象となる業務を分析して、どのようなシステムがふさわしいか設計したり、プログラマを束ねてソフトウェアの開発プロジェクトを指揮したり、ハードウェアやソフトウェアを組み合わせてシステム全体を構築したりする業務を担う。うーん…なんだかあまりにも幅が広くて、漠然としていますよね。プログラマはプログラムを書く、プロジェクトマネージャはプロジェクト管理を行うなどという風にはっきりとしているのですが、SEの場合はその仕事の範囲がはっきりしないばかりか、中心となる役割すらはっきりしません。
実際のところ、システム開発の現場では様々な作業が必要になります。それはコーディングやテスト、業務分析や仕様設計などの『システム開発っぽい』ことに限らず、契約などの事務作業や顧客のクレーム対応、下請け・孫請けのSE・プログラマの管理などなど…。時には、顧客のかわりに、顧客の社内向け資料を作らされたりもします。
要するに、SEの仕事とは、システム開発における膨大な作業のうち、プロジェクトマネージャやプログラマなどの『役割がはっきりしている人たち』がやらない全てのことをすることなのです。当然、プロジェクトマネージャやプログラマの範囲に仕事が及ぶこともしばしばです。
本屋さんに行くと『SEに必要なスキル』みたいな本が山積みになっています。それを読むと、SEには英語力・業務分析力・仕様設計力・コミュニケーション力・プレゼンテーション力・会計知識・業界(金融・製造・流通)知識、他にも上げていくとキリがありませんが、とりあえず膨大な範囲の知識が必要だということがわかります。これにくわえて、プロジェクト管理のスキル、プログラマとしてのスキル、そしてRDBMS、Webアプリケーション、ネットワーク、セキュリティなどなど…。とてもじゃないですけど、これを全て一人の人間が身につけるなんていうのは無理な話です。でも恐ろしいことに、実際にSEにはこれだけのスキルが必要なのです。
スーパーマンで無ければこなせない仕事を任せられた、普通の人間であるSEは、どうなってしまうのか…。
長くなってしまったので、次回に続きます。
コメントする