見出し画像

38歳で実務未経験iOSエンジニアがFlutterスキルゼロで新規プロジェクトにアサインされた話

はじめに

私は18歳からバイトと正社員合わせて19年間飲食業界にいました。
退職後にiOSエンジニア、いわゆるシステムエンジニアを目指して学習を行い、晴れて転職を成功させることができました。
詳しい過程を知りたい方は以下の記事ご覧ください。

そんな私がSESの会社に入社してから初の現場に入り、現在に至るまでの10ヶ月間を振り返っておきたくてこの記事を書いている次第です。
1年ではなくこのタイミングになったのは、現場の契約が7月末となっており、次の契約期間に切り替わる節目であったからです。

入社、そして現場が確定するまで

希望の幕開けと不安になる最初の3ヶ月間

2023年10月
37歳で実務未経験、地方在住という物凄く厳しい条件にも関わらず晴れて、iOSエンジニアとして再出発に成功した私はまず社長と今後の私の方針を考えました。
案件が見つかったらすぐにそちらの面談に移行する、という前置きがありつつ戦略としては以下です。

  1. このままだと参画できる案件はなかなか見つからない

  2. 自社のアプリを自分で企画し開発する

  3. そのことで、実務を積んでいるという実績を作る

  4. その材料を持って案件を獲得する

以上のことからまずは研修という名のアプリ開発が始まりました。
まずは自分でアプリの内容を考えて社長と先輩エンジニアにプレゼンしました。
そこからフィードバックをもらいながら修正を行なったのちに仕様書、ワイヤーフレーム、データ設計、を書いていきました。
この過程は現場では主にディレクターさんが担当することが多いそうですが、開発現場の流れを掴む目的で行いました。

そしていよいよ開発が始まります。
私はUIKitを使ったiOSアプリ開発しかしてこなかったのですが、学習の意味も込めて今回はSwiftUIで作成することにしました。
非エンジニアの方向けざっくりなお話しをすると、iOSアプリを開発する手法として2通りあり、そのやってこなかった方であるSwiftUIを使うということです。
また、ソースコードはGitLabで管理し、先輩エンジニアにレビューしていただくことになりました。
当初は初めて触るSwiftUIに一喜一憂しながら開発を楽しんでいました。
しかし、11月も終わりに差し掛かり次第に案件の案内がないことに不安を覚えるようになりました。

「自分を採用してくれる案件はあるのだろうか?」

それでも自分には今目の前にあるアプリ開発を行うしかないと言い聞かせて、手を動かしてはいましたが内心は物凄く焦りと不安でいっぱいでした。
12月に入り年齢も38歳となりました。
そんなある日、もしかしたら参画できる案件が紹介できるかも?という社長からの連絡が入りました。
自分としては少し明るい気持ちになったものの、まだ確定ではなかったので続報が気になりつつ年を越すことになりました。

意外な方面から来たチャンス

2024年1月
1月の中頃、社長から以前言われていた案件の続報が届きました。

社長🥸:「面談が決まったよ!でもごめん、よくよく聞いたらFlutter案件なんだけど大丈夫?😰」

私😺:「え!?でも私は全くやったことないですよ😨それでもいいんですか??」

社長🥸:「いいらしい、一応新規立ち上げ案件なんだけど、ベースのアプリがあるから大丈夫だとかなんとか、、、。どうする??

私😺:「、、、。やります!面談受けます!」

という流れで面談が決まりました。

FlutterはDartというプログラミング言語とを使ってiOSアプリ、Androidアプリ、デスクトップアプリなどを1ソースで作れてしまうマルチプラットフォーム開発ができるフレームワークのことです。
当然私はSwiftによるアプリ開発しかしてこなかったのでスキルはゼロです。
面談までの数日間はFlutterのキャッチアップをしてほしいとのことで都合4日間しかありませんでしたが、やれるだけやって面談に臨みました。

面談ではこれまでの経歴、今やっている社内でのアプリ開発、過去に私が出した個人アプリの話などを質疑応答しました。
また、なぜ前職を退職したのか?、今までで一番苦労したこととその乗り越え方は?、なども聞かれたと思います。
面談では私のようなFlutterスキルが浅い人間でも大丈夫なのかは当然質問しましたが、もう一人の外部委託で採用予定の人がスキルが高い人の予定であること、そして社員さんもフォローしてくださるとのことでした。

面談が終了して、2時間後に現場確定の連絡がきました😳
話が来るまでは長かったけど、話が来てからまとまるまでが早すぎて面食らいました🤣
現場の会社さんの手続きの都合上2月中旬から現場入りという流れになり、それまでの2週間は独学でFlutterとDartの学習を行いました。

初めての現場勤務が始まる

始まったドキドキの2月そしてすぐに始まる苦悩

期待と不安の感情が入り混じる中、現場勤務がスタートしました。
今回の現場では以下のような状況でプロジェクトがスタートしました。

  • 新規プロジェクト

  • スクラム開発

  • 社内メンバーと外部委託メンバーの混合構成

  • 最初のリリースは夏頃を予定

  • クライアント(アプリ)は社員さん、私、フリーランスの方の3名

そんな中、フリーランスの方(以後、先輩)には本当に助けていただきました。
初日から先輩の方からSlackで「Meetで通話しながら作業しませんか?」と声をかけていただき、気遣っていただきました。
環境構築、GitHubの使い方、Flutterについての技術の相談、指導だけにとどまらず、スクラム開発についても色々と教えていただきました。

ただ、覚えることが膨大でいざ開発が始まった際には右も左もわからず先輩に教えてもらわないと何もできない自分に焦りを感じるようになってきました。
Flutterの開発経験がない条件で入ってはいるものの、このままだと契約を切られてしまうのでは?という不安が常にちらついていました。

また、スクラム開発の経験が浅いメンバーが集まっていること、社内での調整関連でバタンバタしていることもあり、次第にチームメンバーは疲弊していきました。
私としても、プロジェクトの進め方が良くないのでは?とは思いつつ、エンジニアとして新米である自分がそこまで意見するのは違うと思っていたし、そもそも自分は自分のことで精一杯な状況でした。

加えて、実は給料についても不安を感じていました。
実務未経験で技術力もあるわけではないので当然そこまでのお給料は望めません。
もちろんそれはそうなのですが、このままだと生活も苦しくなる。
基本的には契約期間ごとに単価交渉を行うのが外部委託契約の常だそうですが、ではいつになったら最低限の自分が望む給料で勤務できるのか?
副業した方がいいのか?でもこのキャリアで副業できるのか?
不安は溜まる一方でした。

苦しみながらも前を向き始めた5月、6月

ちょうどゴールデンウィークに入る頃、心境の変化が起こり始めました。
プロジェクトもうまくいっておらず、エンジニアとしての自信が持てない状況の中、ふと思いました。

「今の現場で学べていることは物凄く貴重なのだからちゃんと身につけて、もしもクビになっても次に繋がるように形に残そう」

2月や3月にも記事は書いていたのですが、そこから中断していた投稿を5月から継続的に行うようになりました。
特に意識していたわけではないのですが、この時には6週連続で投稿していたりとモチベーションを取り戻すことができました。
当初はやる気が出なかった、というよりは日々の出来事に忙殺されて疲れていたというのが事実です。
なので、この頃にはやっと環境に慣れて余裕が出てきたというところでした。

また、プロジェクトの方針もスクラム開発からウォーターフォールよりの開発に変更したのに加え、当初予定していた機能を大幅に削ってリリースすることになったことで、メンバーにも余裕が生まれるようになっていました。

6月が終わった段階では基本的な機能開発がひと段落し、QAさんから指摘されたバグ潰しの対応もほぼ終わり、リリースできる目処が立ってきていました。

色々な意味で変わり始めた7月

7月中旬には晴れてアプリをリリースすることができました。
大幅に機能を削り、あくまで社内向けということで大々的な告知は打っていませんが、それでも私はゼロイチを生み出す瞬間に立ち会えたことに感動しました。

そうして、時期バージョンの開発が始まる中で衝撃の知らせが入ってきます。
先輩がプロジェクトから抜けるという知らせです。
薄々は思っていました。
先輩の考えるプロジェクト運営やコーディングに関して、うまくコミニケーションが取れていないことから不満や心労が溜まっていることは気づいていました。

あえて強調しておくと社員の方々はいい人ばかりです。
威圧的な方はいないですし、話は聞いてくれる方々です。
そしてまた、先輩も物凄く親切な方です。
あえていうなら意見の食い違いや考えを擦り合わせることができなかったことが、今回の結末に至ったと思います。

先輩の件を受けて、色々悩んでいた私は社長に相談したところすぐにMeetしよう!と言ってくれました。

そこで相談したことは2つです。

  1. 先輩がいなくなることが不安だし、プロジェクトの運営も不安

  2. この先のお給料について

今までの細かい事情や自信の生活面での話はなどざっくばらんに聞いていただき、さまざまな助言をいただきました。

おかげで考えをまとめることができました。

「前職の経験も踏まえて意見を出せる時は出していこう」
「受け身にならず、自分から発信していこう」
「給料を少しでも上げる手段は技術の向上もあるが、他の部分でもアピールしよう」

そうして、私はプロダクトマネージャーの方と面談を申し出て、今まで思っていたプロジェクト運営やクライアントチームとしての進め方やコミニケーションに関する課題をお話ししました。
そこからプロダクトマネージャーさんも動いてくださり、クライアントの社員さんと3者面談を通して意見交換を行う場を設けていただくことができました。

30代後半で実務に入って思ったこと

感謝

まずは何よりも感謝しかありません。
だって私は38歳で、実務経験はなし、おまけにFlutterのスキルゼロです。
そんな中、あろうことか新規プロジェクトに入れてもらえたことには感謝しかありません。
私は単純に働かせてもらえるだけでありがたいと思っています。

好き嫌いしている余裕はない

実は、私はFlutterに対して良い感情を持っていませんでした。
元々Appleのプラットフォームが大好きで、Androidには興味がなかったからです。
そして、クラスプラットフォームゆえの弱点である滑らかな動きができない、デバイス固有の機能を使う場合の取り回しのしづらさなども懸念していました。(と言っても噂を聞いていただけですが。)
なので、入社当初に社長からもしFlutterの案件ならある場合はどう?
と聞かれた際にも「できるだけiOS、Swift案件でお願いします」と言っていました。
今回はなぜか面談までFlutter案件であることがわからなかったわけですが、その面談のお話をされたときに思ったのです。

「ともかく実務をこなさないことには、始まらない」

私は転職に成功しました。でも、そこはSESの会社です。
入社はスタート地点であり、現場に入ってこそ初めてキャリアを一歩踏み出せたことになります。
もちろん、エンジニアを目指している以上は例えば噂に聞く全く別の業種に派遣されるとかなら話は別ですが。
しかし、そうでないのであれば仮にもモバイルアプリ開発という点ではSwiftの学習も少しは役立てることができる。
そう思って面談を即答で快諾しました。

結果的には即答して本当に良かったです。
エンジニアとして必要な知識や技術を知ることができました。
仕様書、詳細設計書、デザインの見方、GitとGitHubの操作、バックエンドとの連携など。
どれをとっても個人での学習や研修だけでは完全に理解できない、詰まるところ経験を積むことができたのが本当に良かったです。

Flutterも最初に思っていた感情はなくなり、逆に好きになりました。
SwiftとXcodeしか知らなかった自分が、DartとVSCodeを使うことで違う世界を知れたことの喜びや驚きを得ることができました。

余談ですが、後から社長に言われたのですがFlutter案件に参画した後から私のキャリアでも参画できそうなiOS案件が出てきたそうです🤣
人生ってわからないものです。
とはいえ、今回の案件に入ったことを後悔したことは120%ありません。

30代後半でスキルもないのに雇ってもらった意味を考える

7月にプロダクトマネージャーさんとの面談の中で、今回のプロジェクトに採用された外部委託の人の基準の一つに、自主的に行動できる人というものがあったそうです。
そこで私はハッと思ったのです。
スキルがない私が採用されたのには意味があったのだと。
私が採用されたのはスキルよりも、マネジメント経験と私自身が主体的に動く人間だという部分なんだと。

それまでは、きっと実務未経験だからコストも安いからなあのかなぁと思っていました。
もちろんそれもあるとは思います。
しかし、上記の理由があったことで採用されたのだと知った時には、なおさらそういった部分でチームに貢献しないといけないなと強く思いました。

一番学んだことはコミニケーションの大切さかもしれない

今回のチームでさまざまなことを学びましたが、一番思ったのはどんな業界でもコミニケーションが大切なんだよなということです。
スクラム開発の仕方がどうのとか、会議体のあり方がどうのとか、クライアントチームとしてのコーディングルールがどうのとか。
結論ちゃんと議論して、共有して、すり合わせて、チームで合意を取ればいいわけです。
それを社員さんが主導してやれればベストなわけですが、それが行われなかった。それは社内の調整ごとなどに追われていた、または話すことでもないと社員さんが思っていたのが原因です。
そして何より、ちゃんとやってくれないかなぁと受け身になっていた私にも原因があると思います。
この問題について問題だと思ってないだろうな、と思ったのであれば、
「これって問題だと思うのですが、どう思いますか?」と聞けば良かっただけです。

店長をしていた頃よく思っていたのです。

アルバイトさん:「店長は分かってない、店長は気づいてくれない、店長はこれをやってくれない、これが不便すぎる」

私:「じゃあ、お前ら俺に言ってこい!俺はエスパーじゃないんじゃい!」

でも同時に、定期的に話を聞くようにもしてきました。
面談を設定したり、業務中に聞いたり。

なので、ようはお互いからの掛け合いが大切だと思うのです。

今回、先輩が去ってしまうのは残念ですし寂しい限りです。
でもそれは社員さん達だけに原因があるのではなく私にもできたことはあったと思います。
何よりそう言ったコミニケーションをとって現場を回していくことも期待されていたのだとしたら、私にできることはまだあると思います。

おわりに

ざっとここ10ヶ月の出来事をまとめてみました。
この記事で特に30代でエンジニア転職を考えている方にお伝えしたいことは、コミニケーションの大切さです。
そして、今までの業務経験を武器にすることの大切さです。
私の場合は前職が店長というマネジメント職をしていたことですが、皆さんにも何かしらの業務経験が武器になると思います。

30代でそこそこのキャリアを積んでいる場合、実務未経験で前職と同等以上の給料を得ることは不可能です。
なるべく早く前職と同等以上の給料を得るためには技術以外の武器も必要だと感じました。

先にも記したように私の当面の目標はお給料を上げることです
そのためにも継続して技術の向上を図るとともに、コミニケーションを円滑に行うための提案と発言を行っていきたいと考えています。

まだまだ新米ではありますが、引き続き頑張ってまいります。
日々の業務であったことを簡単に毎日呟いています。
よかったらフォローといいねをもらえると励みになります🙂
https://x.com/Harx02663971

ご覧いただきありがとうございました。
また、何かの節目に投稿するので、気が向いたら覗きにきてください👋🏻

この記事が気に入ったらサポートをしてみませんか?