・ ジョブチェンジしてみての所感 概要
プログラマーという立ち位置を離れ、システムエンジニア(上流工程)という世界にきて約2ヶ月が経ちました。
ハードウェア系会社のデータ処理のコーダーから、ソフトウェア系のUIシステムエンジニアへの移行という大転換をしたので勿論初めの2週間程度は 「?????」 って感じでしたし
コーダーとしてQiitaや同業の方と効率的なコーディングの仕方や便利なモジュールについてワイワイ談義するのが楽しかった自分にとって一抹の寂しさがありましたが
結論、 SE業務においても自分がコーダー、テスターをしていた経験は無駄にはならない と感じました。
今回はその理由についてや、関連するその他の気付き等について執筆できたらなと思います。
・ 視点をプログラマー側に置ける(寄り添える)アドバンテージを活かし、営業とのコミュニケーションに注力できる
SE業務の約半分は 「営業とプログラマーさんの橋渡し」 です。
営業さんとは受注額の折衝、スケジュール調整、協力会社の選択など。
プログラマーさんとは納期調整や仕様書による修正箇所の伝達、突発的な不具合による止血対応指示など。
もちろん、SE特有である業務の仕様書の作成・修正やコードレビュー、動作テストや本番環境へのリリース作業(1番緊張する)といったタスクも無視できないくらいに振ってきます。
ですが、
- 営業さんの案件回しをいかに楽にできるか
- プログラマーさんのコーディングをいかに楽にできるか
この2点も重要な仕事です。
上記2つを常に考えつつ、SE業務もこなさなくてはいけません。
IT業界は 基本的に営業→SE→プログラマー(→テスター) という順番でプロジェクトのバトンが渡り
最終的に顧客に成果物(ソフト、アプリ等の商品)が届くという構造ですが(例外はある)
「SE→プログラマー」の部分で
- プログラマーとの話し合いは比較的容易かつ円滑にできる
- その為、営業さんとの折衝に沢山時間を割くことができる
という、シンプルなアドバンテージを感じています。
その為、会社で使用する管理ツールや運用ルールに遵守した業務を覚えることも比較的早くできました。(もちろん知らないこともまだいっぱいありますが)
大っぴらには言えませんが「ここはある程度適当でもいいんだな」とかも見えてきます。
これは 「優先順位を管理しよう」 という話で、短納期の案件だったりした場合、重要なタスクに限られたリソースを割くという意味でも割と有用とも思います。
結論、 IT業界はウォーターフォール型・アジャイル型問わずどの工程、どの立ち位置でも
有効活用できそうなノウハウは円環して業務に活きてくるものだと感じました。
以下、雑記になります。
・ AIでSE・プログラマーという職はなくなる?
なくならない。
ソリューション系営業さんや構築SEとタスクを共有する際に発生する会議・会話から
-
成果物に求めている完成度は? (叩き台として6割程度でいいのか、本番環境に出せる程完璧なレベルが欲しいのか)
-
急ぎか否か (単なるMust, Wantの話ではなく、その他プロジェクトのキックオフ発生や緊急対応の発生等で優先順位は日々変動するため、それを把握できるか)
-
そもそもプロジェクトに対する温度感は? (定常的に淡々とこなしていい案件なのか、それとも大口な為しっかりこなしてほしい案件なのか)
等々を、日々の会議・会話の中で
- 相手の温度感や態度(≒熱量)
- なぜそれを今伝えてきたのか (他のタスクでパンクしそうな背景や、緊急性がある等ないか)
- 遠慮していて細部を伝えきれてなさそう (新人にありがち、結構多発するのでしっかり聞いてあげましょう)
等々を 限られた時間の中で正確に判断する必要があります。(特に会議には時間制限があります)
それに対して実験的に某AIに判断させてみましたが 「言葉裏の感情」に対しての把握についてはまだ疎いです。
(複数の候補を出してきて、追加の情報を欲しがります。それに応えると質問が情報セキュリティに関わるものまで波及し厳しくなります。)
AIにはない人間の強みは
- 営業さんの温度感を察し、必要と思ったら要求に対し必要な完成度を聞き出しタスクの優先順位を臨機応変に変える
- 相手の不安そうな感情を察し、不足している情報を丁寧に汲み出す
- プログラマーは人間なので、相手のレベル感を事前に把握し、それに合わせたレベル感の仕様書を作成してあげる
等々 AIにはできない領域にフォーカスを当て日々の業務を「最適化」することと思います。
ちなみに「効率化」と「最適化」は全く違います。
極端かつ簡単な例ですが、凄く仕事ができるけど今かなり機嫌が悪い課長に、電話やチャットで鬼質問して無理やり自分のタスクを完了させることは「効率的」かもしれないですがどう考えても「最適」ではないですよね。
AIの進化スピードも凄まじいので数年後もそうかと言われると断言はできませんが
現時点では、そういったところでSE・プログラマーという職は根強く需要が残り続けると思っています。
同時に AIにはできない上記のことにアドバンテージを持つことが、SE・プログラマーとしての市場価値を高めることに繋がるとも言えます。
・ 結局「臨機応変さ」が万能スキル
考えたくもないですが、顧客からノーアポで電話が来たら大体よろしくないことです(大幅な仕様変更要求、障害発生など)
そこで 冷静に橋渡し役として上手く振る舞えるか (受注額的に赤になるのでごめんなさいを言えるか、黒なら再度キックオフさせて周りを素早く巻き込むことができるか)、障害対応なら 迅速に止血対応できるか。
そこに関してはもう、現場での対応力を実務で磨くしかないと思うのであまり文字でつらつら書くこともないのですが
突発的に起きたことに対して 「冷静に最適解を投げてあげる」ことが、業界問わず大事だなと肌感で感じます。
・ 勉強しなさい!(Vo:伊沢拓司)
自分にもブーメランがぶっ刺さって血が止まりませんが、やはりこの業界は進化のスピードが早く
受動的な変化への対応だと
- 新システムの導入に対して早く学び、慣れる
- 構築が新しい運用ルールを確定させてたらそれを考慮して業務する(前と同じ感覚で仕事しない)
能動的に変化させるなら
- 既存のやり方に対して横やりを入れる(「こうした方が効率的ちゃいます?」等)
- 便利なツール、機能を積極的に日々の業務に利活用する (TeamsのPlannerとか使いやすいよね)
等々が必要と思います。
変化に素早く適応する為には、 それに関する情報に対し「自発的に」学びにいく姿勢が重要になると思います。
はーめんどくせ
「勉強」というのは単に資格やら英語やらに限定した話ではなく(もちろん業務に大きく関わるなら大事ですが)
「仕事に対して有益になりそうな情報」をマクロ的に、かつ積極的にインプットしていこうね
という結論になります。
個人の感想でしかないですが木曜が1番憂鬱です。
まあ、今日も一日程々に頑張りましょう。
おわり