就活をしている中でセキュリティ系のポジションか開発系のポジションに進むか悩んでいます。セキュリティ系をやりたいという思いがある一方、開発系の経験ももっとあった方がいいのではないだろうかとも考えています。
事業会社でセキュリティエンジニアとしてインターンさせていただいた時、開発経験がないと能力の頭打ちになりそうだなと思いました。後付けのセキュリティよりかは、開発のもっと早い段階で取るセキュリティ試作の方がコストが低いのです。ただその初期の段階でのセキュリティ対策というのはその後の開発で起きるであろう問題を想定したり、開発メンバーと同じレベルで対話できる必要があります。例えばシステムの設計とかです。
なのでプロダクト開発に携わるセキュリティエンジニアである場合、開発や設計、運用などを身を持って体験しているのとそうでないとでは差が出てくると思います。
ただ学生の感想だけではどうしようもないので、実際にセキュリティエンジニアの募集を見てみましょう。
私は事業会社でのセキュリティエンジニアを目指しているので、世界トップレベルの事業会社におけるセキュリティエンジニアの募集では開発経験が求められているのかと気になり、FAANGの募集を見ました。大分時代遅れな略式だと思いますし、なんなら頭文字”F”のFacebookはMetaへと社名変更しているわけですが、ある程度成熟したトップレベルの事業会社の募集を見れるというわけです。
- Facebook (Meta)
- この中では一番募集要項の必要条件が易しい印象
- ロンドンオフィスではセキュリティエンジニアのインターン及び新卒のポジションあり
- 新卒の募集では直接的に開発の経験が問われていないものの、セキュアな開発の知識が必須
- Amazon
- 一番必要条件の項目数が少なく、何を求めているのかがあまり明確じゃなかったです
- 書かれているのは広く、基本的なことを問われているよう
- AWS の募集では明確に開発の経験が必要だと書かれていた
- Apple
- 項目数の少なさではAmazonに次ますが、「CSの学位」みたいな広いものよりかは具体的
- 「プログラミング経験」と書いてあり、開発や設計、OOPなどの言葉は必要条件として出ていない
- Netflix
- あまり開発経験が直接問われているというよりかはセキュアな開発に携わったことがあるかが問われているよう。そもそもシニアかシニア寄りなポジションしかなかったからかも
- Google
- 採用するSREにはSWEと同等の開発力を必須としている企業だけであって、セキュリティエンジニアにも開発経験が必須
- 共通点
- FAANGのような大きい企業では「セキュリティエンジニア」と言ってもPSIRTのような役割、クラウドやインフラにおけるセキュリティ、レッドチームなどと細かく分かれている
- マネージャーやテックリードのようなよりシニアなポジションでは開発経験については書いていない。管理職としての経験やセキュリティのスペシャリストとしての経験が問われている。開発経験があるのは当たり前ということ
- コミュ力が必須条件として問われているのはもちろん、望ましい条件としてデータ分析も入ってた
世界でトップレベルの(しかも殆どは中途の)セキュリティエンジニアの募集要項を見ているのだと頭でわかっていても、見ているだけで焦るような募集要項の厳しさでした。もちろん開発能力や経験があるに越したことはないのですし、その経験が活きてくると思います。男子テニスシングルスで世界ランキング1位だったロジャー・フェデラーはテニスに専念する前は他のスポーツに取り組んでおり、それらの経験を通して培った能力がテニス選手として役に立っていると言っています。ただリソースが限られている以上それをどう配分するかには迷います。
FAANGの募集を見たところでも未だにファーストキャリアでどうしたいのかは見えてきません。セキュリティをやりたいですが、能力的に頭打ちになってしまうのではどこかの段階で開発に専念したロールに就くべきでしょう。実際に卒業して就職するまでは1年以上あるわけで、今この瞬間にどっちにするかに決める必要はないので、もう少し判断材料を集めた上で決めようかと思います。
セキュリティエンジニアのインターンとして採ってくれている企業が何社かありますが、本採用してくれるように頑張るのが今の優先事項ですね。そもそもセキュリティか開発かで悩めるようにしないと。