受託SIerから自社サービス企業に転職しiOS開発を4カ月してみて…

iosエンジニア川上インタビュー

 

はじめまして。リアズエンジニアチームのカワカミと申します。

中途採用でリアズに入社し、入社4ヶ月目です。iOSアプリ開発を始めて4ヶ月目でもあります。

 

初回投稿ということで、簡単な自己紹介と、リアズに入社した経緯、リアズに入社してiOS開発を約4ヶ月続けた感想を述べたいと思います。

自己紹介


自社サービスの一つAthleteというサービスのiOSアプリを開発しています。使用言語はObjective-Cです。

 

大学・大学院時代は、京都大学で純粋数学を学んでいました。双曲群に関連した分野です。もともと考えることが好きで、普段使っているアプリの挙動や仕組みを自分なりに分析したりしていました。それを続けているうちに、IT、特にソフトウェア開発に興味を持つようになりました。

 

リアズ入社前は、SIerでJavaエンジニアとして受託開発でサーバーサイドの仕事を約2年半していました。(といっても、コーディングというよりは、システム仕様検討がメインでした)

 

リアズには、iOS開発未経験ながらiOSアプリエンジニアとして中途採用で今年8月に入社し、自社サービスAthleteの開発をしています。現在は、アプリの設計・実装をバリバリ行わせていただいています。

 

先月はUIの開発で、ステータスバーの高さに苦しめられていました。

 

リアズ入社のきっかけ


リアズ入社前は、SIerと呼ばれるタイプの企業で受託開発を行っていました。

前職での業務は、お客様の要望をシステム要件としてまとめ、システム設計を行う部分までを主として担当していましたが、少ないながらプログラミングをする機会もあり、そこでプログラミングの楽しさや、学んだ技術をアウトプットして具体的なものを作ることの楽しさに目覚めました。

 

日に日に、プログラミングなど技術的な方向でスキルを伸ばしていきたいと思うようになりましたが、各々の役割が結構かっちり決まっている会社で、これ以上の技術スキルの向上は望めなかったため、転職を決意しました。

 

今まで受託開発を行っていて、自社サービス開発に一種の憧れのようなものがあり、転職先は自社サービス開発を行っている企業をメインに探しました。

 

転職エージェントの紹介でリアズと巡り会い、面接を受けさせていただき、リアズが展開しているサービスのことや、サービスに対する熱い想い、リアズにおけるエンジニアの位置付けなどを伺い、是非、リアズで働きたいと思うようになったことが、リアズ入社の動機です。

キャッチアップ


元々独学でC/C++などの言語を勉強していましたが、リアズに内定をいただくまでObjective-CやiOS開発には全く触れた事がない状態でした。

 

内定をいただいてから入社まで3ヶ月期間があり、この期間中に独学しました。

C言語の知識や、オブジェクト指向に対する理解はあったので、Objective-Cの習得に詰まるといった事はありませんでした。

また、この期間中リアズとメールで、iOS開発について学んでおいた方が良い内容や、勉強の方向性などやり取りをさせていただくことができ、効率的に勉強を進める事ができました。

この期間で、iOS開発を行うために必要な最低限の知識についてはキャッチアップできたと思います。

 

iOS開発未経験ということもあり、リアズ入社後は1週間研修の期間を設けていただきました。研修内容は「本番アプリのUIに似たサンプルアプリを作る」というもので、UIKitの基本的な使い方や、サーバーとの連携を一通り学ぶことができる高密度な内容でした。

この研修の中で、独学 <=> 実務の差を一気に埋める事ができ非常に助かりました。

 

現在もアプリの機能改善などを視野に入れて、iOS関連の技術について日々勉強を続けています。

 

リアズでiOS開発をして感じた事


リアズでは入社以降、Athlete(iOS版)の保守/追加機能開発を行なっています。

日々、開発を行う中で感じた事について、大きく3つ紹介します。

 

●コミュニケーション重視

リアズではREAS BASICと呼ばれる社内文化があり、コミュニケーションを重視しています。

開発チームだけでなく、アプリ運営サイド(依頼者)との距離も近く、頻繁にコミュニケーションを取るため、追加機能仕様の認識齟齬など生まれる余地がほとんどありません。

 

実際に、入社〜今までに仕様誤りによる手戻りなど、無駄な作業は1度も発生しておらず、非常に効率的に開発を進める事ができています。

 

●ライブラリの選定が自由

リアズでは自社サービスということもあり、追加機能開発では上司の承認が得られれば、基本的に自由にライブラリを選定できます。

 

今後を見据えた拡張性の高いライブラリなど、自分が良いと思うライブラリを使うことができ、開発が効率化できる点が非常に良いと思いました。

 

●エンジニアが意見を発信しやすい

私が所属しているチームでは、先月からエンジニア ⇨ 運営サイドに技術提案するミーティングを月1で行なっています。エンジニアの意見が発信しやすい環境で、エンジニアとしては非常に働きやすい環境だと思います。

 

ミーティングでは、エンジニアから機能改善の提案であったり、あるいはもっと内部のパフォーマンス改善の提案を行なっています。

 

先月のミーティングでは、私からはWebViewのパフォーマンス改善を提案させていただき、合意が取れたので、今月から改善対応を始める予定です!

 

今後


今後もプログラマとして、ユーザーにとってより使いやすいアプリになるよう、新機能開発や、UI・パフォーマンス改善など、引き続きこれまで以上にサービスに貢献していきたいと思います。

 

リアズでは、AI/ビッグデータと言った分野にも着目しています。

日々、膨大なユーザーが使うログを解析し、解析から生まれるものを数学を使ってグロースハックするなど、大学で数学を学んだエンジニア視点からのビジネス寄与にも貢献していきたいと思います。

 

ソースコードを記述するプログラマという枠組みに囚われず、サービス向上に寄与していくことができる人材でありたいと思っています!

 

次回以降は、技術的な内容を投稿していきたいと思います!