よし!転職しよう 番外編②後編(クラウドサービス開発の勘所・続・儲からない仕事…)
地方在住の元ソフトウェアエンジニアのAKIRAです。この記事は本編の番外編ということで2回目の転職後に感じた事などダラダラと書いております。お暇つぶしになれば幸いです。
以前公開した記事ですが、長かったので分割・再編集しております。
【番外編②大企業の落とし穴と対処法】
大企業に入社してからの落とし穴(対処法)については、転職と関係ないのですが簡単にまとめてみました。少し特殊な業界ですので参考にならないかもしれませんが、箇条書きで記載するとこんな感じです。
セクショナリズムの罠!(前編)
大企業も自転車操業?(前編)
MBA(GMAP)の点の取り方(中編)
新規事業の育て方(中編)
クラウドサービス開発の勘所(後編)
続・儲からない仕事…(後編)
大企業とひと括りにしてしまうのは危険ですが、メーカー系大企業の話だと思って下さい。数年前の事になります。
【クラウドサービス開発の勘所】
私は新しい事業としてクラウドサービスの立ち上げに関わっていましたので、これについても少しまとめたいと思います。
クラウドサービスは前職でも開発した経験がありましたので、多少は知識があったものの、当時はまだAWSやGCPといったクラウドプラットフォームもあまりメジャーではありませんでしたので、まずはこれらの勉強をするところからでした。
独学での勉強では、どうしても確信が持てないところがありますので、触ってみるのが一番早いということでまずは作ってみる事から始めました。
そして多少解ってきたところで、とある顧客がIoT関係の機器を作る事になったがサーバーサイドがまったく解らないので協力して欲しいという所から仕事が始まりました。
以下、開発に取り組んだ際に注意したことなどを箇条書きにまとめると以下の通りです。
外部の専門家を入れる
まだどのようにクラウドサービスを作れば良いのか分からないのですから、ノウハウが足りていません。勉強して知っている事と経験して知っている事には大きな差があります。
構想しているアーキテクチャーに問題が無いか、あるとしたら代替手段は無いかなど細かく相談します。もちろん有料ですが、ポイントを絞って相手の拘束時間を絞る事でコストを低減できると思います。
最低限必要なドキュメント
過度なドキュメント主義は後々のメンテナンスで自分を苦しめます。しかし何も無いのも後々の引継ぎや再設計時に苦しみますので、最低限必要なおドキュメントを作ります。
私の考える最小限は次の通りです。画面遷移図、画面イメージ、DB設計(RDBからツールで導出)、アーキテクチャー設計図、システムやソースを見れば解る事はあまり書きません。(これは開発者が少数の場合です。メンテ工数がもったいないので、コメントに重要なことは書くのが良いかと考えています。)
もし非開発系の人や経験の少ない新人などに開発工程を説明しないといけない場合は、ドキュメントが多くなるかと思います。Wikiなどでもフォローできますが、必要に応じて詳細な設計書が必要になるでしょう。
セキュリティは最重要機能
私は過去に海外からサービスをハッキングされかけた事があり、当時色々と調べた結果セキュリティを最重要だと考えています。
管理者権限の完全な保護(2段階認証や2要素認証は必須)各種権限は必要最小限に設定。本番環境にはメンテナンス時以外は入れないように管理。
可能なかぎりIPアドレスで制限する。リモート操作系は常時接続不可。必要なときは面倒でも設定しないと使えないようにする。(特に国内サービスなら海外のIPアドレスは全て排除したほうが安全)
テストとエビデンス取得の自動化
テストは何度も繰り返すものなので、開発時点でなるべく自動化を検討する。
ユニットテストを全て用意するのも良いが、難しい場合は多少面倒でもリクエストパターン表のマトリックスを作って全パターンのリクエストをブラウザ操作アプリなどで操作させる事でも代用できる。
操作結果はスクリーンショットなどを自動取得させエビデンスとすることもできるようにしておく。(定型のログを出せるようにして差分チェックできるのも楽ですね。これをサポートブラウザ全部で一気に流せると幸せになれます。)
ちょっとした補足
あまりにもざっくりと書いてしまっているので補足します。平易な書き方を意識しすぎて言葉足らずな気がしましたので、何が言いたいかというとDevSecOpsを意識するといいよということなんです。
そうは読めないという方もいらっしゃるかもしれませんが、文章が荒くて申し訳ございません。当時にはそんな言葉がありませんので、当時意識していたことを現在の言葉に置き換えるとそうなるということです。はい。
【続・儲からない仕事…】
前回の番外編でも儲からない仕事について書きましたが、大企業でも儲からない仕事は多々あります。
大企業は大きくなるために確立した稼ぎ頭の事業があると思います。俗にキャッシュカウと呼ばれるものですが、それ以外にも多くの事業を手掛けていることが多く、本業で大きく儲けている分、新しい事業への取り組みは採算度外視な事も多いと感じています。
小さな企業ではそもそもそんなチャレンジ自体が難しい事もあるので、当然ではありますが、そういうチャレンジ案件は簡単には儲からないですし、儲からない事業は無くなっていきます。
それに関わった社員は、時には良い経験にもなると思いますが、事業立ち上げとは大変な時期が必ずありますので、辛い経験もたくさんするものです。
【配属ガチャ】といわれる言葉は好きではありませんが、現実としてそういうことがあります。しかし、これは花形の儲かっている事業の部署が当たりとは限りません。
私は新しくクラウドサービスを立ち上げる部署に移ってからは、各段に残業が減りました。忙しさは前よりも忙しかったのですが、自分で様々な事がコントロールできるので無駄なく働く事ができ、拘束時間は大きく減ったのです。
そして、売上という意味では本業の10%程度しか稼げていませんでしたが、利益率は本業の1.5倍ありましたので、悪くない成果だとは考えていました。
しかし、これを快く思わない人・見えていない人も居るもので、この続きは本編の方に戻ります。
番外編②の記事を、前編・中編・後編に分割して少し加筆しております。少しでも読みやすくなっていれば幸いです。
今回はここまで、また次回。