フロントエンドエンジニア

Apr. 2022 ~ 現在(2年6ヶ月)

Overview

React NativeによるiOS/Androidアプリのフロントエンド開発

Stacks

  • React

    React

  • TypeScript

    TypeScript

  • Redux

    Redux

  • GitLab

    GitLab

  • Realm

    Realm

  • Redmine

    Redmine

Features

  • 主要スキル

    React/TypeScript

  • 開発体制

    アジャイル/スクラム

  • チーム

    3〜8人

  • 勤務形態

    リモート/オフィス

  • 勤務地

    東京

  • 「郷に入っては郷に従え」
  • 未知技術の知識・技術レベルを高める
  • ドキュメント化

「郷に入っては郷に従え」

今までの業務とは異なり、既存のプロダクトコードが存在していました。そのため、コーディングのアプローチを変える必要がありました。

具体的には、プロダクトコードの改修に際しては、既存の実装方法と一貫性を保つよう心がけていました。コーディングガイドラインはありますが、そこには明記されていない暗黙のルールというのが存在すると思います。これらのルールを既存コードを読み込むことで理解し、一貫性を保ちつつ、新しい機能を追加実装するよう心掛けていました。

未知技術の知識・技術レベルを高める

業務ではじめてReactを実装することになりましたので、基礎知識の復習を行いました。書籍やReactのコアメンバーが発信するブログを読むことで、知識の補完をしました。

また、これまでDBやAPIの開発には携わったことがありませんでしたが、バックエンド開発を行っているメンバーとのコミュニケーションをスムーズにするため、DBやAPIの基礎知識を習得する努力をしました。具体的には、Go言語を用いて簡単なREST APIを実装してみることで、データの流れや設計・実装に必要な知識を身につけることができました。

React Nativeは、ネイティブアプリのためにWebとは異なる知識が必要です。たとえば、WebブラウザにおけるlocalStorageを実装するには外部ライブラリの利用が必要であり、セキュアな情報を扱う際にはネイティブアプリ特有のセキュアストレージを使用します。また、AppleやGoogleの仕様変更にも対応する必要があり、独自の知識や情報のキャッチアップを心がけています。

ドキュメント化

エンジニアリングの分野は、個々のスキルや知識が重要で、特定の人材が不在になると問題が発生することがあります。それを防ぐため、自分にしかできないと感じる作業や知識については、積極的にドキュメントにまとめるようにしています。