Upstage

オリジナルを見る

ソフトウェアエンジニアはAI企業で何をしていますか?

2022/03/04

⏱ 15分 
この内容を元の記事で見る

立ち入り

📍ソフトウェアエンジニアはAI企業で何をしていますか?

これは、UPSTAGEを含むAI企業の多くのソフトウェアエンジニアが、一度は聞いたことがあるかもしれない質問です。私たちは、オンラインでより多くの情報を見つけることができないあなたのそれらのために準備しました。あなたが最近熱くなっているAIの分野へのキャリアパスにある開発者なら、それに注意してください。AI企業に在籍するソフトウェアエンジニアに関するご質問や誤解を解き明かし、国内外のトップIT企業のソフトウェアエンジニアからのヒントをご用意しております。

AI企業内のソフトウェアエンジニアの職務責任に関する誤解

頭の中でAI企業を想像してみてください。ソフトウェアエンジニアとして、次のような質問や誤解がありますか?

👉 AIリサーチエンジニアではない開発者を雇うつもりはないと思います。

👉 AI企業では、ソフトウェア開発者が重要な地位を占める可能性は低いです。

👉 開発者が成長するための課題はないようです。

私たちの答えは ノーです。その理由を説明するために、アップステージの例を見てみましょう。

Upstageは「AIパック」と呼ばれるAI製品を開発しています。AIパックは、AI技術の導入に苦労している企業がAIを簡単に適用できるようにする「オールインワンAIソリューション」です。

AI パックは、AI/ML モデルのみを提供するオールインワンのフォーミュラです。AI モデルを提供するだけの場合、変化する環境やニーズを満たすために、自分でモデルを操作、保守、および更新するのに苦労する可能性があります。そのため、Upstageは、企業がAIテクノロジーを簡単に内在化できるように、AIモデルを推進するために不可欠なシステムとツール(代替ツール、サービング、データプラットフォームを含む)をまとめています。

これらのシステムやツールの計画と構築の役割は、優れた ソフトウェアエンジニアによって処理されます。AIモデルの開発を担当するAIモデル開発者と、AI モデルが現実にサービスに持ち込まれたときに優れたパフォーマンスを生み出すために必要な多数のシステムやツールを担当する ソフトウェアエンジニアは、共通の目標に向かって協力する環境を持っています。

図 1 に、AI パック構成の簡単な概要を示します。すべての要素を 1 つのパッケージにまとめることが AI パックの中核となるため、先ほど紹介しました。灰色のボックスの ML コードを除き、残りのボックスは上位のソフトウェア エンジニアの開発領域です。そのため、単一のAI製品が登場するまで、ソフトウェアエンジニアの役割が非常に重要です。

[図1]AIパック製品開発におけるソフトウェアエンジニアの役割

AI Pack の詳細な説明と、AI Pack の作成におけるソフトウェアエグゼクティブの役割については、「[Upstage Talks] AI 企業でフロントエンド、バックエンドの開発者が何をしているのか」を参照してください。試してみて下さい!

それでは、上記の質問のそれぞれに1つずつ答えましょう。

📍好奇心 1.AIリサーチエンジニアではない開発者を雇うつもりはないと思います。

👉 いいえ!AI研究者だけでなく、AI製品を実装するには優れた「ソフトウェアエンジニア」が必要であり、積極的に人材 を募集しています

📍好奇心 2.AI企業では、ソフトウェア開発者が重要な地位を占める可能性は低いです。

👉 いいえ!他の企業と同様に、すべてのメンバーが重要です。彼らはそれぞれの役割を担い、他のチームとは独立して、しかし有機的に働きます。アップステージウェイ、アップステージの仕組みは、これらの価値も反映しています!1つの完璧な製品を作るために、私たちはAIの研究者や開発者、プロダクトデザイナー、その他多くの関連部門と水平的な関係で協力しています。

📍好奇心 3. 開発者が成長するための課題はないようです。

👉 いいえ!開発者は協力して、サービスの面で顧客に良い価値を提供する製品を作成します。製品の便利な機能と最適なパフォーマンスを達成するために、複数のタスクを引き受けることができ、 個人的およびキャリアの成長の両方を達成することができます。


AI企業のソフトウェアエンジニアが直接回答したQ&A

今後、上層部のソフトウェアエンジニアは、AI企業の仕事やソフトウェアエンジニアの能力に関する質問にQ&Aの形で答えることができます。

📍 質問1.ソフトウェアエンジニアは、AI製品を作成するためにどの程度のAI知識が必要ですか?

👉 AI / MLのバックグラウンドがない場合は無関係です。しかし、基本的な用語や概念を理解していれば、あなたの仕事はより快適になります。AI企業に応募したいのですが、AIの理解の欠如や関連するバックグラウンドの欠如に苦しんでいますか?だからといって、申請を躊躇する必要はありません。 AI企業にとっても、ソフトウェアエンジニアに求められる資質は「エンジニアリングの知識と習熟度」です。 AI技術に興味や興味があれば、入社後には十分に知識を積み上げることができるでしょう。アップステージでは毎週「誰もが理解できるAI研究・セミナー」を実施しています。開発者、戦略チーム、マーケティングチームなどは、みんな一緒にAIを勉強して楽しんでいます。

📍 質問2.AIのバックグラウンドを持っていない場合、AIエンジニアとのコミュニケーションに苦労しますか?

👉 上記の質問に続けてお答えしましょう。AIエンジニアとコミュニケーションをとるとき、AI関連の概念や開発プロセスに対する理解の欠如は、当然のことながら困難な場合があります。これはどのフィールドでも同じです。一番大事なのは 、知らないことをすぐに積極的に聞いてみることです

現実の世界でどんな知識が必要か疑問に思っている人のために、もう少しお話ししましょう。ML スキルを作成するチームとコラボレーションすることが多いので、ML テクノロジの背景と基本的な概念をデータセットとは何かを学びませんか?基本的な概念を学んで入って来れば、コミュニケーションの問題は大幅に軽減されると思います。学ぶ能力と、学び成長に対する姿勢さえあれば、AIの分野での責務を十分に果たすことができるでしょう。

📍 質問3.AI技術が主力の会社で働いていて、ソフトウェアエンジニアがサポーターだと感じたことはありますか?

👉 あなたはそれについて心配する必要はありません。サービス開発に関わったことのある人なら誰でも知っているように、一方のチームがメインで、もう一方のチームがメインをサポートして製品を完成させることはめったにありません。各チームに与えられた役割が完全に果たせば、良い商品が出てきます。AIパックの例を見てみましょう。AI モデルも AI パックの重要な部分ですが、それ以外にも、複数のインフラストラクチャとシステムを一緒に提供する必要があります。AIパックの価値を最大限に引き出すためには、ソフトウェアエンジニアの役割も大きい。

また、AI企業のソフトウェアエンジニアの仕事は、アップステージを含め、他の分野でも行われてきたことです。それは私たちがやろうとしていることです。AI企業として、今までに経験したことのない新しい仕事に就くことも、ソフトウェアエンジニアとして新しいスキルを持つ必要もありません。

📍 質問4.優れたソフトウェアエンジニアになるために、どのように努力していますか?

👉 開発者は、コーディングのアクティビティを通じて独自のパフォーマンスまたはパフォーマンスを作成します。だからあなたは多くのコーディングをしなければなりません。アルゴリズムを解決するためのコーディングだけでなく、現実世界で役立つ コーディングを行うのにも役立ちます。たとえば、同じ一般的なサービスを実装するためのクローン作成や、関心のある分野のオープンソースフレームワークを取得し、GitHub Tracking を通じてソースコードを理解することは、学習方法の 1 つかもしれません。私は、あなたが知らなかったパターンを理解し、それらから学ぶための一種のシャドーイング学習は、コーディングスキルを向上させるのに役立つと思います。

📍 質問5.優れたソフトウェアエンジニアに他に必要なスキルは何ですか?

👉 通信機能。優れたコミュニケーションスキルは、一緒に働く同僚を信頼するための礎石です。社内の明確で円滑なコミュニケーションは、どんな仕事でもとても大切です。チームメンバーとの意見の対立を解決する際、他部署の同僚になじみのないAIの概念を聞かなければならない時は、さまざまな状況にどう対処するかが、自分が優れた開発者かどうかの判断基準となるかもしれません。これは、コミュニケーションの方法が、取得できる情報の量と質にも影響するためです。

コミュニケーションスキルを向上させるための良い窓の1つは、 開発者コミュニティです。コミュニティ エンゲージメントを通じて、さまざまな開発者とつながり、プレゼンテーションの経験を積み、開発者としてのコミュニケーション スキルを高めることができます。さらに、コミュニティ内のさまざまな質の高い知識と情報のために、あなたの個人的な生活を成長させるのにも役立ちます。実際、多くのアップステージの開発者もさまざまなコミュニティで活躍しています。

優秀なソフトウェアエンジニアを選別するためのUpstageの採用プロセス

📌 書類審査

書類審査では、申請者が参加したプロジェクトの履歴と、研究やコンペティションへの参加履歴がチェックされます。新入社員には年齢や学歴の制限はありません。法定年齢であれば、年齢制限はなく、学歴も関係ありません。今日、私たちが一緒に働いている同僚は、学部生から20年以上の経験を持つ先輩まで多岐にわたります。

📌 コーディングテスト

コーディングテストでは、受験者の問題解決スキル、基本的なコーディングスキル、およびデータ構造化アルゴリズムの理解レベルを識別します。割り当てを通じて定量的なスキルを評価します。これは、あなたがよく訓練されたソフトウェアエンジニアであることを確認するほとんどのIT企業に似たテストです。

📌 ピアインタビュー

同僚のインタビューでは、コンピュータサイエンス(CS)の知識に焦点を当てたいと思います。また、以前のプロジェクトやCS関連の経験についても話し合います。また、解決した問題と、それを解決するためのロジックとメソッドを伝達できるかどうかもわかります。さらに、あなたが後輩であれば、あなたのコンピュータがどのように機能するかについての基本的なCS理解の質問があるかもしれません。

📌 화이트 보드 인터뷰

ホワイトボードインタビューの問題は、コーディングの第2レベルに似ているか、解決が簡単です。私たちが興味を持っているのは、申請者が問題を解決するプロセスです。問題解決の過程では、 面接官とのコミュニケーション能力や問題へのアプローチ などをチェックします。これは、前の質問で説明した優れたコミュニケーションスキルを持つソフトウェアエンジニアの資質と一致していますよね?

また、システム設計テストに関するご質問にも簡単にお答えします。まず第一に、申請者間に違いがあるかもしれません。海外では普及しつつありますが、国内ではまだ馴染みのない概念のようです。そこで、第2回ホワイトボードインタビューでは、「ホワイトボードコーディング+システムデザイン」のミックスをお伺いします。なお、後輩の場合、コンピテンシーの評価が難しいため、様々な履歴やコンピテンシーを勘案してテストするかどうかを判断します。

📌 最終面接

最終段階は文化面接と代表面接です。あなたが先輩であれば、プロジェクトを率い、同僚を管理した経験について尋ねてください。申請者の技術スキルと関連するプロジェクトは、以前に特定したように 、チーム全体を管理できるかどうかに焦点を当てます。アップステージが望ましい人材賞や文化に適しているかどうか、アップステージの成長に貢献できるかどうか、会社と応募者の間にフィットしているかどうかをチェックする場と考えてください。

(面接のプロセスは候補者によって異なる場合がありますが、これは大まかなプロセスを理解するのに役立つ参考資料です。


結論

ここまでは、ソフトウェアエンジニアがAI企業で何をしているのかを見ていき、ソフトウェアエンジニアについてもっと学ぶために、上層部のソフトウェアエンジニアとのQ&Aを見てみましょう。AI企業にとっても、ソフトウェアエンジニアが企業の一員として非常に重要な役割を果たしている姿をご覧いただく絶好の機会をお待ちしております。エンジニアリングスキル、コミュニケーションスキル、学習態度により、AIの扉、上層部の扉は常に広く開かれています。

위 콘텐츠는 업스테이지 토크 <업스테이지 토크 Vol. 20 프론트, 백엔드 개발자가 AI 회사에서 뭐 해요?>를 통해 영상으로 확인할 수 있습니다. 블로그에서 미처 확인하지 못한 업스테이지가 만드는 AI Pack에서 소프트웨어 엔지니어가 담당하는 일, 프론트엔드와 백엔드의 역할 구분, AI 회사에서 사용하는 개발 및 공유 툴, 업스테이지 소프트웨어 엔지니어가 추천하는 책과 콘텐츠, 업스테이지의 채용 기준 등 더욱 풍성한 내용을 함께 알아보세요.