名古屋の若き天才エンジニア:革新的技術で未来を切り開く秘訣に迫る!
こんにちは 株式会社コーピー(Corpy)のHAKOです。
今回は、弊社でWebエンジニアを務めている稲垣貴士さんをご紹介します!
稲垣さんは、リサーチエンジニアとしてコーピーで働いており、仕事内容ややりがい、生産性を高めるコツなどについて話していただきました。
名前:稲垣 貴士(いながき たかし)
出身:愛知県春日市(名古屋の隣)
所属::名古屋大学 工学部 機械・航空宇宙工学科
研究テーマ:バイオメカニクス、骨、スフェロイド(3次元培養)、3次元画像解析等
現在どのような仕事をしていますか?
稲垣さん:
大きく分けてエンジニアとマネジメントの2つの役割を担当しています。エンジニアとしては、弊社のメインプロダクトであるCONFIDEに関連する2つのプロジェクトに参加し、機械学習を使用したWEBアプリのフロントエンド&バックエンドエンジニアを担当しています。現在のチームメンバーは約8人です。
また、マネジメント/アドバイザーとして、別のWebアプリの開発プロジェクトの初期段階では、開発者としてアプリをフロントエンドとバックエンドのベースを構築し、現在はチーム全体の開発面でのマネジメント/アドバイザーの役割を担当しています。こちらについては、現在、全体のタスク把握や仕様の決定、メンバーの成果物のレビューを中心に行っています。私以外のチームメンバーには、エンジニア2名とプロダクトマネージャ2名がいます。
やりがいを感じるのはどのようなことですか?
まず、私たちが開発しているCONFIDEは、皆さんがよく使Web上で使っているよりも複雑なアプリケーションなのですが、技術的にも高度で興味深いものとなります。そのため、このプロジェクトに関わること自体が非常に刺激的であり、やりがいを感じる理由の一つです。この点については、「コピーを選んだ理由は?」の質問で説明しています。
また、私たちのチームは多くのメンバーで構成されており、タスクも多岐にわたっています。そのため、他のメンバーの進捗状況を把握しながら作業を進める必要があります。この作業は、視野を広く持ち、自分自身を成長させることに繋がる貴重な経験であり、やりがいを感じる理由の一つです。
そして、私が開発した変更や改善が、ユーザーの体験や、自社内部の開発者にとって今後開発を続ける上での改善点に直接的に貢献することができた時には、非常に大きなやりがいを感じます。ただアプリを開発するだけではなく、将来的に人々が楽になれるような部分を作り出すことができるのです。最近は、そういった部分にも携わらせてもらっているので、とても楽しいです。
常に新しい発見や挑戦が待っていることに、やりがいを感じます。
マネジメントの面で、これまで私は一人の開発メンバーとして働くことが多かったため、他のエンジニアにアドバイスをする経験がほとんどありませんでした。しかし、現在はチーム全体をまとめて進捗状況を把握し、他のメンバーの成果物をレビューするなど、俯瞰する側の視点を持つことが求められています。このような役割を担うことで、自分自身も大きく成長することができています。
また、チーム全体を見ることで、他のエンジニアが抱えている課題や問題点を発見し、アドバイスすることができるようになりました。この経験は、単に自分自身の成長だけでなく、他のメンバーの成長にも繋がります。これまでにない視点を持ち、チーム全体の成長に貢献できることに非常にやりがいを感じています。私が得たこの経験は、今後の私の人生においても、大きな財産となると感じています。
HAKO:
海外のエンジニアと一緒に働いて、難しいなと感じたりすることはありましたか?
・MTGや仕事上のコミュニケーションツールとしては英語を使用して海外のエンジニアの方々と一緒に働いています。タイムゾーンも弊社は日本在住の方も多く、この点に関しては、特にストレスはないです。
・海外のエンジニアと日本のエンジニアで違いがあるのかな?と僕も最初は思っていたのですが、実際に働いてみてそこまで違いはないです。技術面に関して海外エンジニアと日本エンジニア間で差はなく、開発する上でのフレームワークやツールは世界共通なので特に違和感などは感じないですね。
個人的には、海外の文化やエンジニアの出身国などに興味を持てるいい機会が得られたなと思っています。
・MTGや仕事上のコミュニケーションツールでは、英語を使用して海外のエンジニアの方々と一緒に働いています。弊社は日本在住の方も多いため、タイムゾーンの問題については、特にストレスを感じたことはありません。
・海外のエンジニアと日本のエンジニアとの間に大きな違いがあるのかな?と最初は思っていましたが、実際に働いてみると、そこまで違いを感じませんでした。技術面においては、海外のエンジニアと日本のエンジニアとで差があるわけではなく、開発に関わるフレームワークやツールは世界共通なので、違和感を感じることはありません。個人的には、海外の文化やエンジニアの出身国に興味を持つ良い機会が得られたと思います。
HAKO:
マネジメントやアドバイザーに対するプレッシャーなどはなかったのですか?
私がメインで担当しているのは開発面であり、プロダクトマネージャーがいるため、信頼できる仲間に任せることができ、安心しています。
技術面では、必ずしも自信を持っているわけではありませんでしたが、実際にやってみると、すべてを知る必要がないこと、分からないことや答えの出ない場合でも、密にコミュニケーションを取れば大丈夫だということを学びました。また、逆に、意外なことに、自分自身も様々な知識や経験を得ており、貢献できることに自信を持てるようになった面もありました。
数あるAIスタートアップ/企業の中からCorpyを選んだ理由を教えてください
コーピーというAIスタートアップを選んだ理由は二つあります。まず、インターナショナルなチームで活動しているスタートアップ会社は少なく、貴重な経験が積めると考えたからです。例えば、大企業では日本国内だけでなく、海外にも目を向けることがありますが、スタートアップの時点で、国際的なチームで働く会社は珍しく、魅力を感じました。
次に、コーピーのプロダクトに興味を持ちました。一般的なWebアプリでは、機械学習はあまり関係してこないものですが、コーピーの製品は機械学習やAIを活用しています。たとえば、大量の画像を学習して、学習モデルを他のエッジデバイスに接続することができます。このような機能を備えたアプリを開発することは、非常に高度であり興味深い経験です。
当然、学習にはGPU環境が必要ですし、入社してから知ったことですが、Windows環境にも対応する必要があるため、GPU、Docker for Windows、WSL2など、以前触れたことのなかった分野にも挑戦することができ、非常に面白かったです。 これからもAIの可能性を追求し、革新的なアプリケーションを開発し続けることを楽しみにしています。
リモートワークが主流の中、生産性を高める為に心がけていることはなんですか?
①短期集中型で作業すること:私は基本的に、短時間で集中して効率的に仕事を終わらせる方が自分に合っていると思っています。そのため、パートタイムで働く場合でも、4時間から6時間程度の短時間で作業を進めることが適していると考えています。例えば、平日に週2回4時間ずつ、土曜日に1回6時間というように、シフトを組んでいます。
②プランニングすること:リモートワークに限らない話ですが、コードに変更を加える前、VSCode (プログラミング用のエディター)を開く前から、具体的に何をするのか、タスクは何か、どこにどのような変更を加えるのか、その手順はどうなっているか、どのくらい時間をかけるのか、などを細かく洗い出すようにしています。ある機能開発をする場合には、GitLabのIssueやSlackのメッセージなどで、具体的なステップを洗い出すようにしています。例えば、AファイルのL20あたりを開いて、こういう引数でこういう戻り値の関数Aを書いて、その関数Aはこの関数B (引数 & 戻り値)から呼ばれる、といった具体的な手順を決めます。
開発者向けに言うと、Pythonでの作業が多いため、関数の名前と型アノテーション、およびdocstringだけを前もって準備するようにしています。ただし、ここではコンパイルエラーや文法などは全く気にしない擬似コードを想定して準備するのがポイントです。本質的な機能のみに着目して、具体的なTODOリストを作ることで、思考と、実装時の瑣末なこと(文法やエラー)を分離するようにしています。
TODOリストはだいたい30分から1時間程度かけて作成していますが、後々の手戻りなど含めてトータルで見たら、時短や効率化、そして綺麗なコードに繋がっているので、初期投資のような感覚で、特に新機能を実装する際には、この手法を意識して取り組んでいます。ただし、些細な変更の場合はやらないこともあります。
以上が私が取り入れている2つの開発手法です。短期集中型で作業することと、プランニングすることによって、効率的に開発を進めることができ、開発者としてのスキルアップや、より綺麗でメンテナンスしやすいコードを作ることができると思っています。ぜひ、皆さんも試してみてください!
今後コーピーでどのような事にチャレンジしていきたいですか?
大切にしている開発ポリシーは、本質的な改善を行うことです。たとえ対象が誰であろうと、その場しのぎの変更ではなく、長期的に見て全体にプラスをもたらす改善を行いたいと考えています。
例えば、ユーザー向けの変更については、時間や人員の制約がある中で、どこに焦点を当てることで本質的な改善につながるのかを考えます。また、開発者向けの変更の場合は、どんな変更を行うことで長期的に良い影響を与えられるのかを考えます。
開発者向けによい環境を整えることで、ユーザーの体験向上につながることもあります。つまり、常に全体を捉えて本質に着目し、改善を行っていくことが大切だと思っています。このポリシーを持つことで、私たちの開発チームは、より高品質で長期的にメンテナンスしやすいコードを生み出し、ユーザーにも良いサービスを提供することができます。
名古屋からリモートで働くメリットはなんですか?
名古屋にもコーピーのWeWorkオフィスがあるので、そこをたまに使って働いています(リモートで家から作業することも多いですが)。オフィスはとても綺麗で、平日午後には無料のビールサーバーもあります!名古屋には弊社COOの竹下さんがいます。竹下さんは経験豊富でCOOという立場で会社を背負って戦っているので、学ぶべきことがたくさんあります。
東京周辺に在住しているメンバーが多く、名古屋のオフィスには現状、自分と竹下さんしかいないので、COOの知識経験を吸収できるチャンスですよ!
現在、名古屋メンバーは少ないですが、それでも楽しめています。関東圏在住のメンバーが多く、名古屋周辺で働いている人が少ないんですけど、その分、少数メンバーで仲良くなれる機会も多いです。
現在、コーピーでは一緒に働く仲間を募集しています!
もしインターンに応募してみたい/グローバルな環境で働きたいと思ったら、ぜひこちらから応募してください!
他にもエンジニアの方々についての記事もありますので、是非チェックしてみてください!
この記事が気に入ったらサポートをしてみませんか?