前回の記事で話題にしましたが、シニアエンジニアのスキル変更は、簡単では無いのが事実です。
定年退職した複数のエンジニアが在籍中だった時に、何度かスキル変更について
話をした事が有りました。
回答としては、
- 案件対応中は時間が無いので、中々、スキルを習得する時間が無い
- スキルは変更したいが、時間が掛かるので、実際は難しい
- COBOLしかやって来なかったから、JavaやC#のオブジェクト指向プログラミングを扱えるか不安
- C/C++しか経験が無いので、業務系の開発言語やDBを今から覚えるのは苦労する
- 若いエンジニアなら、対応可能かもしれなけど、1から覚えるには気が引ける
- 会社で教えてくれるのですか?業務終了後、帰社して受講するには、体力が無いです。土日の受講というなら、それは業務の一環だから、給与が出るのですよね?
というような内容でした。
予想していた通りでしたが、多くのシニアエンジニアがスキル変更はしたいのに、
やれない(やらない?)理由を並べて、スキル変更の行動を起こさない人が多いので、
本当に、シニアエンジニアはスキル変更が出来ないのかな?…と常々疑問視をしていました。
営業をしていて、協力会社でもシニアエンジニアが余っている話とか、年齢制限の案件が多く、
「もう、50歳以上はIT業界の現場で不要…」のような話も聞こえていました。
人材不足が続く中、取引先のお客様やITベンダーから、案件対応の引き合いの話が有るものの、
零細企業では、人材募集をしても、30代の現役エンジニアが募集するのは稀で、
プログラミング経験の無い20代、または40代後半以降のエンジニアからの応募は合っても、
採用には至らないケースが続いていました。
会社の売上が伸びないので、打開策が無いか考えていた時に、ふと
営業の自分が、時間外や土日の休みに案件対応したら出来るのだろうか?
と思うようになったのが、2年前の2023年3月頃でした。
しかし、15年はプログラミングから離れて、営業しかしていないし…
と言い訳していたら、シニアエンジニアの考えと同じだと気付きました。
なんか保守的な考えで、まるで30年以上経済が復活しない、今の日本みたい。
先ずはやってみて、間違ったり失敗したら、軌道修正してやり通すアメリカや中国って
今や世界経済をリードする立場だよなぁ…
そう思うようになり、2023年4月頃にプログラム経験の無いSwift言語の参考書籍:
たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応
を購入し、業務時間外や土日に、サンプルプログラムを開発するようになりました。
実は、2023年2月頃に、取引先だった係長から、タブレット端末(iPad)向けの
アプリ開発の話を聞いていた事も、きっかけでした。
※Swiftは、Apple社が2014年にWWDCで公開した開発言語でiOSやMac OS Xで、
ソフトウェア(アプリケーション)を開発するためのオープンソースです。
当時は、まだ具体的な開発案件の内容や発注が決まった訳では無かったものの、
「もしかしたら…」と思い、準備を始めました。
会社の中で、Swift言語のスキルを保有しているエンジニアは不在だったので、
手探り状態でした。
幸い、今はインターネット上に、参考となるSwift言語の開発方法やサンプルプログラムが
有りましたので、Google先生に頼って、ガンガン参考にさせて頂きました。
1~2ヶ月程、サンプルプログラムの開発をしていると、だいぶ、Xcodeにも慣れ、
画像を利用したり、DBのデータの表示や登録、更新等の実装にも支障無い状況でした。
Xcode(エックスコード)は、ソフトウェアを開発するためのAppleの統合開発環境 (IDE)です。
Swift言語を始めた頃、UIフレームワークはUIKit(Storyboard)で開発の準備を進めていました。
Google先生を駆使して、開発の準備を進めていると、どうも最近のUIフレームワークは、
SwiftUIが主流になるらしい事が判明しました。
書籍やサンプルプログラムの記事、開発案件も、UIKit(Storyboard)より少ないものの、
主流になるなら、SwiftUIへ切り替えて準備を進めた方が賢明と判断しました。
早速、書籍もSwiftUI対応版となる
SwiftUI対応 たった2日でマスターできる iPhoneアプリ開発集中講座 Xcode15/iOS17/Swift5.9 対応
を購入して開発の準備を継続しました。
2023年7月に、先程の取引先の係長から、正式にアプリ開発案件が進むとの事で話が進むらしく、
体制や対応時期、見積提示が可能かどうか相談が有ったので、打ち合わせに参加して来ました。
結論から伝えると、無事に受注して開発、検証、納品に至る事が出来ました。
スケジュール感は、下記の通りです。
- 2023年4月~7月:準備期間(サンプルプログラムの実装)
- 2023年8月末:キックオフ
- 2023年9月~10月:設計
- 2023年11月~2024年2月:設開発・テスト
- 2024年3月に納品・検収
開発期間は、本業では営業対応、業務終了後と土日でアプリ開発を行いましたが、
この期間は、営業と移動、睡眠時間以外は、殆ど開発作業に充てていた為、
凄まじい作業時間となりました。(倒れないで良かった状況)
アプリの詳細はお伝え出来ませんが、概要は、某企業の新設保養所で
利用する「客室コンシェルジュ・アプリ」になります。
アプリのイメージは、
- 客室に設置されているテレビに搭載されている客室案内
- ホテル周辺の施設の紹介
- 天気予報
- 利用ゲストのスケジュール管理
- 多国語対応
と記載すれば、イメージが沸くと思います。
開発環境としては、
- 客室コンシェルジュ・アプリ(iPad):SwiftUI+SpriteKit+Realm
- 管理画面(PC):Docker(nginx+PHP/Laravel+MariaDB)
- サーバー:AWS(nginx+PHP/Laravel+MariaDB)
- 外部API:お天気APIサービス、DeepL翻訳サービス
- その他:多言語対応(日本語、英語、簡体字、繫体字)
で実装しました。
前回の記事と今回の記事で提言して来ましたが、
シニアエンジニアは、スキル変更が出来るのか?
実体験を元に、
答えは、条件付きでYES
という結論に至りました。
条件とは、下記です。
- 主体的に、学習と開発に取り組む
- 短期間ではなく、学習を含めた長期戦略での経験が必要
- プライベートの時間や体力を犠牲にする事も覚悟する
- 人にも寄りますが、私の場合は、視力が落ちました
怒涛の開発期間でしたが、シニアの私が悪戦苦闘しながらプログラム開発を経験し、
参考になりそうなサンプルプログラムは、今後、記事で紹介したいと思います。
また、Google先生を駆使したものの、実際の開発業務に使えるサンプルも有りましたが、
殆どは基本的な文法だったり、単一の部品のサンプルだったりしていたので、
実際の開発業務に利用出来そうなサンプルプログラムも、紹介が出来ればと思っています。
更に、その後、開発したPython/FastAPIフレームワーク、Go等のサンプルプログラムも
紹介が出来ればと思っています。
コメント