💭

セキュリティエンジニアに転職して感じた考え方の違い

2021/12/06に公開

この記事はLITALICO Engineers Advent Calendar 2021 6日目の記事です。
今年9月から教育・福祉系の会社に入社し、セキュリティエンジニアとして働いています。

働き始めてすぐに、今までとは全く違うソフトスキルを期待されていることに気が付きました。違うことはわかったものの、どう違うのか全く見当がつかなかったため、社内外のセキュリティエンジニアに色々と聞いてみました。

今まで

私のキャリアは顧客のサーバー・ネットーワークの保守運用を行うインフラエンジニアから始まり、セキュリティに関する問い合わせ対応を含むテクニカルサポートや、業務の自動化・効率化をやってきました。いずれの仕事も他チームとの役割分担がはっきりしていることと、トップダウンで仕事が降りてくることがほとんどであることが共通していました。仕事は業務改善など自発的に作ることもできましたが、改善するのは自分が携わる業務のみだったので、組織を横断して考えることはありませんでした。他のチームとの関わり方については、何か依頼をすることはあるものの、仕組みや文化を変えるなど積極的に働きかけることはありませんでした。

求められるソフトスキル

実際に働き始めて感じたことと、ヒアリングして感じたセキュリティエンジニアに求められている特徴は以下の2つです。

第三者的

あらゆることをセキュリティに軸足をおいて考え、コスト面や実効性を考え合理的に結論を出すことが求められます。また、売上やユーザー数など会社としての損得を考慮しない立場でもあります。特定の部署に依存しないので、他のチームに頭が上がらないということもあまり無いと思いました[1]

より抽象的

セキュリティエンジニアは大抵のユーザー企業で、組織の大きさに対して人数が少なく、できるだけ低コストで仕事を遂行することが求められます。そのため、何か問題が発生した後の場当たり的対応ではなく、根本原因を解決する事が必要になります。

根本原因を解決するには、そもそも何が問題でそれがどこにあるかを検知する必要があります。それらは自分のチームの外にあるため、他の部署のメンバーにどんな業務があってどんなことを重要視した結果、問題が発生したかを探らなくてはいけません。それらは具体的ではなく、様々な事象が組み合わさった結果、抽象化された問題として浮かび上がってきます。他チームの状況を探る具体的な手段として、アジャイルで進めている他のチームのミーティングに参加し、積極的に情報を取りに行くという方もいらっしゃいました。

どのように身につけるか

前述したソフトスキルは、私のようにトップダウンで仕事が振られていた人にとって、仕事の中で身につけていくことは難しいですし、指摘されたからといって一朝一夕でできるものでもありません。では現在セキュリティエンジニアとして働いている方はどのように身に着けてきたのでしょうか。

結論:人による

ご自身がどのようにこれらを身に着けてきたのか質問したところ、返ってきた答えは以下です。

  • 大学院で叩き込まれた
  • セキュリティベンダーで叩き込まれた
  • 失敗も含めて実務で憶えていき、CISOの立場になってから身につけたことも多々ある

彼らから共通して言われたのは「自分が身につけてきた方法は再現性がない」ということでした。人によって違うので「このように身に着けていきましょう」と言語化も難しく、少なくとも私はそういったアウトプットを見たことがありません。

そうは言っても、セキュリティエンジニアのキャリアを歩み始めた以上、これらは必ず求められるスキルです。私や他の職種からセキュリティエンジニアにキャリアチェンジした方がやれることをいくつか考えてみました。

基礎知識をつける

セキュリティと一口に言っても、技術面だけでなくコーポレートや法制度など多岐に渡ります。おそらく最初は過去に自分がやってきた業務と近しい仕事を任されるでしょうが、それが本当に自分に向いているかはまだわかりませんし、無関係ではありませんので全体を押さえておくことは必要でしょう。おすすめされたやり方は以下です。

  • 各社から出されているセキュリティフレームワークを理解する
  • 安全確保支援士[2]を取る

今までの経験を活かす

他の職種からセキュリティ領域の仕事に変えた人は、今までの業務経験でセキュリティに関して何か思うところがあったのでしょう。その経験は全く無駄ではなく、開発経験がある人だと問題点がわかりやすいので、有効な場面もあると言われました[3]。現場に立ったことがないと想像しにくい事があることも事実で、社内調整の際に大いに生かされる経験でしょう。

また、今までやってきた領域の隣から学んでいくこともおすすめされました。私の場合OSI参照モデルを参考に、やってきた領域の上下のレイヤや、それに対応するコンピュータの処理を学んでいます。コンピュータの処理を学ぶのに渋川さんのGoならわかるシステムプログラミングがとても参考になっております。

2022.6.8追記

半年間働いてみて実感したのは、プロジェクトマネジメントの経験は絶対に必要だということです。会社をセキュリティ面で改善しようとすると、全社を巻き込んでいくプロジェクトを立ち上げることも少なくありません。プロジェクトを立ち上げることはメリットだけでなくもちろんデメリットもあるため、リスクの測定や費用の見積もりを行った上で経営層に提案する必要があります。私自身、5名程度の規模のプロジェクトマネジメントは行ったことがありましたが、数百名を超える規模の経験はなく、全く想像がつきませんでした。とはいえ、未経験の状態から全社規模のプロジェクトを任される機会は少ないと思うので、セキュリティエンジニアへの転職を考えている人はまず中小規模のプロジェクトマネジメントをしてみるのはとてもおすすめです。

抽象的に考えることを癖付ける

何か課題を解決しようとしたときに、これは場当たり的対応ではないか、根本的な解決になっているかどうかを必ず自分に問うようにしました。既にセキュリティ領域での経験の長い人がチームメンバーにいるのであれば、根本解決になっているかどうかレビューしてもらうと良いと思います。

話をして思ったこと

私の知る限り、すでにセキュリティエンジニアとして働いている人は、大学でセキュリティの研究→セキュリティベンダーというコースを経ている人がほとんどでした。なので、私もその人達と同等の知見も持たなければと思いこんでいました。でも「現場経験のある人の意見が求められる場面も多い」と言われ、意外でしたし嬉しくもありました。

また、勉強すれば身につくことに関しては、セキュリティエンジニアになるにあたってそれほど重視されていない感じがしました。今回話を伺った方々は勉強するのはセキュリティエンジニアになってからで良い、という考えを持っていました。それよりも前述したソフトスキルがあるかどうか、というのはとても重要視されている印象でした。

2021.12.13追記

この記事を読んでくださった八木橋さんから、徳丸さんと八木橋さんとの対談記事「セキュリティエンジニアに必要なのは「言語化する力」 徳丸浩×メルカリ八木橋対談」を教えていただきました。言語化能力はエンジニアだけではなく様々な職業にも求められますが、特にセキュリティエンジニアは他チームに自分の専門領域について理解してもらい、互いに協力し合うためにも重要なソフトスキルでしょう。実際、セキュリティ評価・認証制度を始め、社内外問わずセキュリティについて文章を書くことも多いです。

最後に

この記事を書くにあたって、弊社のセキュリティエンジニアのお二人と、水谷さん竹井さんにご協力いただきました。ありがとうございました。

脚注
  1. 社内政治に関わりがないかと言うというとまた別で、むしろ社内調整力は大いに求められる ↩︎

  2. 問題作成してる方より、クラウドに関することは少ないものの、基本的なことは網羅されているのでおすすめとのこと ↩︎

  3. 水谷さんの個人ブログの記事にもこれについて書かれています ↩︎

Discussion