キャリアを考える?

ふと気になったので、キャリアについてちょっとだけ整理。

もともとただの総合職として今の職に入って、2.5年は障害対応業務に従事した。

そして、そこから3年間は特定のアプリ開発及び運用に従事した。

 

ちなみに、アプリ開発とはいえ、実際はほとんど既存機能の改修がメインだった。

使用言語もPerlだし、学んだスキルもあまり高いものとは言えなかった。

※フロントサイドよりサーバサイドがメインだった。

また、独自の世界での開発だったため、正規のアジャイルのような形にはなっていなかった。

要望を聞いて、優先度順に個人で消化するような形だった。

さらに、オブジェクト指向な書き方はほとんど触ることはなかった、

いや、触ったは触ったのだが、きちんと理解して今後自分で書けます、というレベルではなかった。

 

それでも、形式的ではあれど超簡単な要件定義、開発、テスト、実装までは一気通貫で学ぶことはできた。

 

開発の傍ら、保持サーバの監視運用も行っていた。

アプリをメール等で監視するレベルではあったが、開発と運用のバランスを取りながら業務していた。

 

 

その後、半年程度の休憩を経て、運用チームへと渡った。

今度は完全に運用がメインで、持ち前のサーバおよびミドルウェア、アプリの監視を行っている。

障害が多発するので、その対応と再発防止に力を入れている状況である。

開発からは完全に離れてしまったが、

何も載っていないOSの上にミドルウェアやアプリをインストール、構築して運用するところまでを担っている。

 

ここまで書いて、一応ではあるが、DevとOpsについて経験をしていることになるなぁと気が付いた。

これから数年かけてOpsのほうを強化したのち、

Secの世界に入っていきたいと思ってはいる。

 

ただし、Secの世界を経験してDevSecOps一通り経験できました、となってもあまり意味ないかもしれない。

上記を一通り網羅するだけではなく、最低限レベルは進めるべきと考えるからだ。

DevSecOpsは、開発を行う段階から、セキュリティのこと、そして運用のことを考える。

例えば運用を学んでいる今の状況であれば、開発するアプリには、

・わかりやすいエラー記述をするようにする

・エラーを明示的にレベリングして切り替えられるようにする

・モジュールを分けて問題が起こった際の原因特定を容易にする

など盛り込んだほうが良い、とわかる。

 

ここにセキュリティの知識が加われば、開発時に

・あらかじめ組み込むべきでない機能を知り、代用する

脆弱性となりやすい部分を把握し、対策する

などの知識が手に入ると思われる。

 

上記の知識を手に入れる場合は、

セキュリティとしては脆弱性診断orペネトレテスト系になるのだろうか。

 

また、今の状況ではあまりにも開発に対する経験値が足りなさすぎる、と感じる

何かを作りたい、と思ったときに開発できるスキル、もしくはあとは手を動かすだけ、という状況になれるようにしたい。

そのための経験を今から積んでおかないと、今後のスキルアップが望めないのではと思った。

 

例えば、

今利用しているOSSについて、OSS活動をしてみるのも手かもしれない。

そこからさらにセキュリティ面での視点が増えれば、OSSに対してセキュリティ的なアプローチが取れる、結果的にバグバウンティ的なところに行きつける?

 

今利用しているOSSは、きっとほとんど自身の経験していない言語になると思う。

CやJavaPHPを経験していなかったのはきつい、、、

でもやる気があればある程度は挽回できるはず?

 

いったんOSS周りでちょっと整理をしてみよう。

 

以上