はじめに 初めまして、株式会社シンシアでエンジニアをしている寺尾です。
株式会社シンシアに入社して半年ほどがたちましたので、入社の経緯・入社から今日までどのような仕事をしているか紹介して行きたいと思います。
経歴 まずは自己紹介をしたいと思います。
前職はIT業界とは縁のない企業の事務職をしていました。前職を退職後、半年程html, css, javascript, Reactなどフロントエンドを中心とした学習、学習コミュニティで学習し実務未経験の未経験エンジニアとして今年の3月に株式会社シンシアに採用されました。
入社後は主に事前に用意された学習カリキュラムで新しい知識を習得しながら、(新たに学んだ)Ruby on Railsを用いたWebアプリケーションの開発や、React Nativeを用いたモバイルアプリの開発といった案件を担当しています。自社プロダクトの開発案件から他社のDX支援事業まで幅広く携わり、日々成長の機会に恵まれています。
最近では、特にフロントエンド中心に一任される機会が増え、またコードを書く業務だけではなく、スケジュール管理・タスク分配等の業務についても職務のスコープに入るようになりました。
直近の業務について シンシアではでは現在、モバイルアプリの開発には、開発フレームワークとして、Expo( https://expo.dev/ )を積極的に採用しています。
純粋なReact Nativeではなく、Expoを採用する理由として、EAS(Expo Application Service)の利便性も重要なポイントです。それに加えReact Nativeは、iOS開発で用いるSwiftやAndroid開発で用いるKotlin、さらにはJavascriptのエコシステム発展の合流地点であり、それぞれ言語特有のコードやライブラリの発展に気を使わないと、すぐに保守が厳しくなる世界です。それらを可能なかぎりフレームワーク側でライブラリのバージョンとして吸収し、Javascript 開発に集中させてくれるのも、 Expo を採用する理由のひとつとなります。
任意にネイティブのコードをモジュールとして組み込む機能が Expo に追加されたのはつい最近の話であり、数年前に開発されたプロジェクトでは、純粋なReact Nativeを採用するケースも多く存在していました。実際に最近は純粋なReact Nativeプロジェクトに参画しました。React Nativeのバージョンアップを担当しましたが、それまで担当していた業務と比較すると、エラーと向き合う時間が圧倒的に長い業務でした。
前述のように、複数の世界の発展の影響を受けるため、わずかなバージョンアップを行うだけでも、それ以前のように動く保証がありませんし、その要因を調べるのも骨が折れます。実際に担当バージョンアップの業務では戦略として、一度にエラーになる箇所をできる限り少なくするため、一回で大きくバージョンを上げるのではなく、マイナーバージョンを一つずつ上げていくという方針バージョンアップをやりきりました。
バージョンアップ作業自体も、ただ新しいものをインストールすればいいという様なものではなく、設定ファイルの修正等も必要になります。そこで、まずは、軸となるReact Nativeの各種依存関係の更新を、公式ドキュメントに従いながら行い、その反映後に、今度はReact Native以外のライブラリで発生したエラーを解消していきました。ひたすらエラーの原因と解決策を調べ、しらみつぶしに解消していく骨の折れる作業でした。
※ 弊社のCTOである井上さんが書いたバージョンアップに関するブログ。井上さんは困ったときにとても頼りになる存在です。
一見退屈でつまらない作業にも思えますが、この業務でエラー文を読んで原因を調べ、解決するということを短期間で数多く経験することができ、今まで抵抗感や苦手意識を持っていた、エラー文を読んで、原因を調べ、解決するというエンジニアとしての基礎能力が向上したのを感じました。
エラーでどうしても詰まってしまった時には、上司 / 先輩エンジニアの方がエラーを解消するところを隣で見せていただいたことで、デバッグの発想や技を盗むいい機会になり、それを参考に自分なりに方法を試行錯誤していった結果、大きな成長に繋がったと思います。
今後について 最近は一作業員としてだけでなく、フロントエンドを中心にスケジュール管理・タスク分配といったマネジメント的な部分についても徐々に任せていただけるようになってきました。ああすれば良かった、こうすれば良かったと反省の日々ではありますが、成長中の会社だからこそ、エンジニアリングの領域だけでなく、その周辺業務に触れる機会も多く得られ、視座が高まる環境だと感じています。
もちろん、エンジニアとしても、様々な技術に触れる機会が得られ、開発経験を日々積むことができています。現在はフロントエンドを中心に業務を行っていますが、フルスタックに経験を積む機会が無数にあるため、積極的に活用してエンジニアとして知見を深めていきたいです。
最後に シンシアでは、自社プロダクトや外部のDX開発プロジェクトも含め、一緒にエンジニアリングをしていきたいメンバーを実務未経験の方からシニアなメンバーまで幅広く募集しています。 ぜひご興味を持った方はカジュアル面談から話を聞きに来てみていただけると嬉しいです。
株式会社シンシアでは一緒に働く仲間を募集しています