Algolia の Sarah Dayan が語る、シニア エンジニアの違いについて
公開: 2022-08-19優れたコーディング スキルは常に高く評価されますが、スタッフ兼エンジニアになるには、技術力だけでなく、それ以上のものが求められます。 そこにたどり着くには何が必要で、さらに重要なことは、どこで組織に最大の影響を与えることができるでしょうか?
エンジニアリングトラックでシニアレベルに到達すると、ハードスキルセットで最適であることが期待されます. あなたは自律的であり、コードは完璧であり、ソフトウェアの構築と出荷について深い理解を持っています。 しかし、スタッフと役割に入ることは、まったく別の獣です。 プロジェクト管理、メンターシップと教育、意思決定、関係構築があり、会社にもたらす価値は、もはやコード行の品質ではなく、エンジニアリング組織を前進させることによって測定されます。
今日のゲストはまさにそれを経験しました。 Sarah Dayan は Algolia のスタッフ エンジニアです。Algolia は「Search-as-a-Service」プラットフォームであり、開発者が API を介して独自のプラットフォームにインデックスと検索機能を構築するのに役立ちます。また、Developer Experience と Entre Devs の 2 つのテック ポッドキャストのホストでもあります。 彼女はフロントエンド ライブラリを作成します。これは、ユーザー エクスペリエンス、デザイン、モノの構築に対する生涯にわたる情熱を考えると、彼女にぴったりの役割です。 実際、Sarah は、両親が彼女の地下室にブロードバンド インターネットを設置して以来、Web サイトの作成に夢中になっています。 一目惚れでした。 彼女は 15 歳のときに最初の phpBB フォーラムをまとめ、その後すぐに最初の HTML ページを書きました。
エンジニアリングの正式な教育を受けていませんでしたが、Sarah はフランスのコンサルタントである Grand Manitou で開発者としての仕事に就きました。 その後、4 年前の 2018 年にソフトウェア エンジニアとして Algolia に就職しました。 彼女は勤勉にランクを上げ、最終的にはスタッフ エンジニアの個々の貢献者の役割にまで成長しました。 そして突然、彼女が過去数年間気にしていたこと、つまりより良いエンジニアになること、より良いコードを書くこと、すべてが新しい挑戦に取って代わられました。 彼女は会社に適切な技術的方向性をどのように提供しますか? ボトルネックを解消しますか? 他のエンジニアが彼女のために行ったように、他のエンジニアを指導し、支援しますか?
このエピソードでは、サラと一緒に、スタッフとエンジニアの役割の多くのニュアンス、習熟度、期待について話しました.
会話からのお気に入りのポイントのいくつかを次に示します。
- 遅れたくない場合は、学び続けてください。 アイデアについて話し合い、さまざまな視点や背景を持つ他のエンジニアからフィードバックを得ることができます。
- スタッフ エンジニアとして、あなたの多くのエネルギーは、ビジョンと戦略のためのチーム間のコラボレーションに費やされます。 5年後の会社はどうなっている? そこにどうやって行くつもり?
- スタッフ エンジニアをメンターとして配置することで、より多くの若手がこれらの役割に到達するための手順を明確にすることができ、エンジニアリング リーダーを作成するプロセスを迅速に追跡できます。
- 一般に信じられていることとは反対に、スタッフ エンジニアは構造上の問題をすぐに解決できるわけではありません。 新しい仕事を受け入れる前に、将来の誤解を避けるために、自分に期待されていることを尋ねてください。
- スタッフ エンジニアは、会社のニーズを理解し、会社が目標を達成できるように支援する必要があります。 オンボーディング中は、できるだけ多くのドキュメントを読み、できるだけ多くの人と話してください。
私たちの議論が気に入ったら、ポッドキャストの他のエピソードをチェックしてください。 iTunes、Spotify、YouTube をフォローしたり、選択したプレーヤーで RSS フィードを取得したりできます。 以下は、エピソードの軽く編集されたトランスクリプトです。
学びを止めない
ブライアン・スキャンラン:サラ、今日はショーに参加してくれてありがとう。 あなたと話す機会を得られたことを嬉しく思います。 アルゴリアでのあなたの役割と仕事についてお話しする前に、これまでの道のりについてお聞きしたいと思います。 現在に至るまでの旅はどのように始まりましたか?
サラ・ダヤン:こんにちは、お招きいただきありがとうございます。 うーん、実におかしな話です。 私は現在 32 歳で、15 歳のときに自宅でブロードバンドと無制限のインターネットを手に入れました。 あることが別のことにつながり、私は phpBB で最初のフォーラムを構築しました。 PHP は非常に大きなものでしたし、今でも大きなものですが、当時はまさに Web 用の言語でした。
「これは私の仕事ではないと判断しました。おそらく、私は自分が好きなことをするべきだと思いました。 それで、大好きだったウェブサイトの構築に戻りました」
当時、技術分野、特にソフトウェア エンジニアとしてのキャリアは、今日ほどクールでもホットでもありませんでした。 両親は、私が学校で語学と文学が得意だったので、私がジャーナリストになることを検討すべきだと考えました。 そして、それが私が最初にしたことでした。 私はジャーナリズムの最初の年を過ごしましたが、完全に失敗しました。それから、これは私の仕事ではないと判断しました。 そこで、大好きだったウェブサイトの構築に戻りました。 私は代理店で最初の仕事を得て、そこで 6 年間過ごしました。 この仕事について、顧客との仕事、自分が何を望んでいるのかを知っている人と、何を望んでいるのかを知らない人々との仕事について、多くのことを学びました。 その後、スタートアップの世界へ。 私は 15 年以上コーディングをしていますが、専門的には 12 年もコーディングを続けています。これが、Algolia での現在の役割につながったのです。 私は4年間そこにいて、数えています。
ブライアン:すごい。 初期の頃に学んだ、心に残っている興味深い教訓はありますか?
サラ:私はテクノロジーへの古典的な道を持っていません。 私は工学部に通っていませんでした。そうしなければ、技術分野で素晴らしいキャリアを積むことができます。 間違いなく独学で、他の人から学ぶことができ、学位を持っている必要はありません。 しかし、学位を持っていないことは、学ばないことの言い訳にはなりません。 これについては、Google のエンジニアリング マネージャーである Sarah Drasner による CSS-Tricks に関するすばらしいブログ投稿があります。 学位がなくてもテクノロジーのキャリアを積むことはできますが、学位を取得したり、知識を求めたりすることが免除されるわけではありません。
「フィードバックは得られませんでした。他のエンジニア、他の視点、異なるバックグラウンドを持つ他の人々との会話も得られませんでした。 それで遅れてしまった」
実際に学校で学ぶことの 1 つは、学ぶことを学ぶことです。これは非常に重要なスキルです。 キャリアの早い段階で、私が話したエージェンシーでは、長い間、私は唯一の従業員でした。 私は一人ぼっちでした。 上司もコーディングしていましたが、私がしていることから少し離れていました。 一人で仕事をするのは自由かもしれませんが、あなたには多くの信頼と自由がありますが、自分自身以外のフィードバックや他の視点がないため、それほど速く学ぶことはできません. そして、アクティブラーニングさえしなければ、遅れをとってしまうでしょう。
それは私に起こったことの一つです。 フィードバックは得られませんでしたし、他の人との会話も得られませんでした: 他のエンジニア、他の視点、他のバックグラウンドを持つ人などです。 そして、私は遅れました。 私は自分の持っている知識に頼っていました。 それは、私がキャリアの早い段階で得た最大の教訓の 1 つです。 特に、技術に関する古典的な旅をしていない場合は、フィードバックとその視点をもたらしてくれる他の人々に囲まれることは非常に貴重であり、それはあなたのキャリアを加速させるでしょう.
ブライアン:どんな職業の人にとっても素晴らしいアドバイスだと思いますが、あなたにとっては本当にうまくいったようですね。 最近、PHP を使用していないことについて何か恋しいことはありますか?
Sarah: PHP は素晴らしい言語だと思います。 最新の JavaScript では、PHP から多くのインスピレーションを得ることができます。 JavaScript は、PHP を使用したい場所ならどこでも使用できるところまで進化したため、私はもう使用しません。 特にフロントエンド エンジニアとして、共同共有のように、フロントエンドとバックエンドで同じ言語を使用することには多くの利点があります。 しかし、PHP は素晴らしい言語だと思います。 「ああ、PHP は死んでいる」という悪い冗談がたくさんありますが、Laravel のようなものの成功を見ると、PHP はまだ死んでいないように感じます。
私がPHPにハマった頃、真面目な人が使っていたフレームワークはZenフレームワークと呼ばれていました。 実際、私は Zen が PHP の背後にある会社であると信じています。 少なくとも新しいプロジェクトでは、Zen フレームワークを使用する人はもう誰もいませんが、PHP が現在どこにあるのかを見るのは素晴らしいことです。 PHP は今でも盛況で、人々は PHP でのコーディングを楽しんでいます。それは素晴らしいことだと思います。 万人向けではありませんが、あなたはそうします。 誰もが好きな言語でテーブルに座ることができます。
エンジニアリングのはしごを登る
ブライアン:あなたは現在、アルゴリアのスタッフ エンジニアです。 その役割とあなたが取り組んでいることについて少し教えてください。スタッフ エンジニアとは何かに移ります。
サラ:もちろん。 私はスタッフエンジニアで、フロントエンドの仕事をしています。 私はフロントエンド エクスペリエンス (略して FX) と呼ばれるチームに所属しており、Algolia のフロントエンド ライブラリに取り組んでいます。 Algolia は検索エンジンなので、エンド ツー エンドです。 データを検索に送信するための複数言語のエンジンといくつかの API クライアントがありますが、フロントエンド ライブラリもあります。階層メニュー?
これらすべてを適切に実装するのは困難です。 私たちは顧客のためにそれを行います。それが私が取り組んでいるチームです。 私は個人貢献者 (IC) であり、リーダーシップ トラックには参加していません。 しかし、問題は、IC としてより高い役割に成長するにつれて、あなたの現実がリーダーシップの役割と少しずつ融合するということです。 私は部下も管理職も持っていませんが、物事のビジョンの側面に関する話題についてマネージャーと多くの時間を過ごしています。 しかし、私は今でも毎日コーディングを行っており、他の人と同じように、レビューを行ったりレビューを受け取ったりしています。 だから、それはまだICの役割です。 Algolia では、かなり高度なレベルに成長し、毎日コードを作成する個々の貢献者であり続けることができます。
「シニアより上の人は、戦略に多くのエネルギーを注ぎ始めます。ビジョンは何か、製品は 5 年後にどこにあるのか、それらのことでどのように成功するのか?」
ブライアン:他のすべての仕事に対して、発送にどれくらいの時間を費やしていると思いますか? 文脈を共有したり、戦略を練ったり、そういうことです。
サラ:それを判断するのは難しいです。 私は50/50と言います。 私はコーディングを頻繁に行うことがありますが、コーディングにレビューを含めるのは、皆さんが使用するのと同じエネルギーだからです。 しかし、PM、研究者、デザイナーとの共同作業など、戦略策定、多くの会議、多くのビジョン ドキュメント、多くの思考、フィードバックを収集するための多くの会話もあります。これらすべてが仕事の一部です。 . Algolia では、シニア スタッフ、プリンシパルなどがいます。 上級職以上の人は、戦略に多くのエネルギーを注ぎ始めます。ビジョンは何か、製品は 5 年後にどこにあるのか、それらのことをどのように成功させるのか? 成功しなかった場合、バックアップ計画を立てるにはどうすればよいでしょうか? シニア エンジニアのときにコーディングなどのプロジェクトに適用できると考えられるものはすべて、製品の戦略に適用します。 あなたは製品に多くの時間を費やしています。それは、テック スタートアップで働くことについて私が最も気に入っていることの 1 つです。
私がエージェンシーにいたとき、あなたは戦略を立てず、自分の考えを口にせず、必ずしもアドバイスを期待されていませんでした. あなたは言われたとおりにしました。 しかし、あなたがスタートアップのエンジニアである場合、特にそのようなレベルでは、あなたの声とビジョンが非常に重要になります。 エンジニア向けの製品を開発しています。 そして、自分で物を作らないように細心の注意を払わなければなりません - 私たちは知識の呪いを持っています、私たちは製品を知っています、私たちはそれを使う方法を知っています、そして私たちはすべての注意事項を知っています - 私たちはまだエンジニアが何を気にかけているのかに敏感ですについて、彼らが何を望んでいるのか、そして何が彼らの生活を楽にしたり困難にしたりするのか。 そのため、製品、アイデアをテーブルに持ち込むこと、挑戦的なアイデア、長持ちする最高のものを確実に構築することに大きな重点が置かれています.
「より良いエンジニアになる方法を何年も考えた後、他のことを考え始めるには考え方を変える必要があります。 どうすれば他の人を助けることができますか? 状況のブロックを解除するにはどうすればよいですか?」
ブライアン:組織やチームを超えて、他のスタッフやプリンシパル エンジニアとどのくらいの時間を費やしていますか? それはあなたの会社の活発なコミュニティですか? それと協力して多くの仕事をすることができますか? グループ内で主に独立して活動していますか? それとも、あなたが一緒に働いている他のシニア スタッフ エンジニアのサブセットはありますか?
サラ:私が望むほどではありません。 どんな組織でも、レベルが上がれば上がるほど、人数は少なくなります。 ですから、IC 5、IC 6、スタッフ、プリンシパルがたくさんいるわけではありません。 現在、多くのシニア人材を採用しているため、半年後には回答が異なる可能性があります。 他のスタッフやプリンシパル エンジニアとは普通に話をしていましたが、人数が少ないからといってコミュニティや公式なものがあるわけではありません。 今では、先輩以上との議論に多くの時間を費やしました。それが私の役割の一部だからです。
私の役割の一部は、シニア レベルの人々が成長し、スタッフ レベルに昇進するのを支援することです。 多くの企業、特に Algolia の規模のシニア エンジニアとして、そこにたどり着くために何をする必要があるかを知っています。 以上がチェックリストです。 その後、解釈に任せる可能性のあることがたくさんあるため、より複雑になります。あなたの性格に基づいて、他の人とは非常に異なる方法で行うことができます. しかし、シニア レベルに達した時点で、ハード スキル セットが最適化されていることが期待されます。 私たちはあなたが優れていること、特定の技術レベルにあることを知っています。それ以上に成長することは期待していませんが、他の種類のスキルを開発するよう求められます.
「私たちは、あなたが得意なこと、やりたいことがあなたを輝かせるのに役立つことを見つけ、それを育てる必要があります。 たくさんのメンターシップが関わっています」
より良いエンジニアになる方法、より良いコードを書く方法、より良いレビューを作成する方法、レビューを受け取ったときにコメントを少なくする方法について何年も考えた後、他のことを考え始めるために考え方を変える必要があります。 どうすれば他の人を助けることができますか? 状況のブロックを解除するにはどうすればよいですか? 独自のワークロードを作成するにはどうすればよいですか? これらは、これらのレベルに到達する前に考えなければならないことではありません。 私は人々がそれにアプローチし、彼らが何を意味するかを理解し、そこに到達するために自分の性格のどの部分を使用できるかを理解するのを助けます.
たとえば、ステージに上がってトークをするのが好きな人もいます。 そして、これが彼らの気に入るなら、是非とも、私は彼らがより良い会議への関与を獲得し、より良い論文募集を書くのを手伝うべきです. しかし、これがあなたのものではない場合、私たちがそれに投資する理由はありません. あなたの得意なこと、好きなことで輝けることを見つけて、それを育てていきたいと思います。 メンターシップがたくさんあります。 これは、この年功序列レベルでの私のお気に入りの部分の 1 つです。
企業にとって、1 人のスタッフや 1 人のシニア エンジニアを配置することはあまり面白くありません。3 人、5 人、8 人、16 人が必要です。すでにそこにいる 1 レベル下の人々を助けます。 エンジニアリングマネージャーがチーム全体でそれをすべて自分で行うことを期待することはできません. 1 年または 2 年前に他のエンジニアが行った作業を支援するエンジニアがいる場合、この乗数効果が得られます。 同じ組織で実際にプロセスを経験した人から、他の人から学ぶことができるので、これは人々にとって本当にスリリングだと思います. 彼らがこれらのステップに従えば、彼らが耳を傾ければ、うまくいくかもしれないという確信があります. そこにたどり着くために何をする必要があるかを理解するのを手伝ってくれるプリンシパル エンジニアから学びたいです。
実際に行ったことを分析できるため、教える側にとっては特に興味深いものです。 後になってぼやけてしまうと、「ああ、これを少しやっただけだ」という感じになります。 いいえ。何をしましたか。 具体的にどのような取り組みを行ったのですか。 あなたがイエスと言ったことは何ですか? あなたがノーと言ったことは何ですか? アイデアを明確にし、プロセスを明確にし、次のアイデアをより効率的にするのに役立つと思います.
オンボーディングスタッフとエンジニア
ブライアン:あなたは、新しいスタッフと主任エンジニアを組織に採用することについて言及しましたが、これは非常に難しい場合があります。 これはあなたが経験したことですか?
サラ:正直なところ、これは私たちがあまり行ったことではありません。 プリンシパル エンジニアは 3 人か 4 人いますが、全員が私のチームにはいません。 私が持っている経験は、主に上級エンジニアを連れてきたことです。 さて、すべての人に共通することがあり、プリンシパル エンジニアにとって興味深いことがあり、私はまだ試してみることができます。
「非常に上級の人物は多くのことを手伝ってくれますが、会社やチームの構造的な問題を解決することはできません。」
明快さは非常に重要であり、もちろん、スタッフやプリンシパル エンジニアを雇っている場合、同じような扱いは期待できません。 あなたは彼らが自発的であることを望んでいます。 明快さとは、自分に期待されていることやすべてのタスクなどを伝えることではなく、自分の使命を感じさせることです。 ここでの目的は何ですか? あなたはここで何をしているの? そして、これは面接レベルから始まると言えます。 会社に入社するスタッフやプリンシパル エンジニアに私が推奨するのは、それについて尋ねることです。 彼らは、「ああ、私たちが知らないことを知っているので、非常に年上の人を雇いましょう」のようなものです。 そして、それは真実ではありません。 非常に上級の人物は多くのことを手伝ってくれますが、会社やチームの構造的な問題を解決することはできません。
一方、エンジニアリング マネージャーは、なぜその人が必要だと思うのか疑問に思うはずです。 ほとんどの場合、コーディングの素晴らしさを理由にこのレベルの人材を雇うことはありません。 チームに上級エンジニアがいる場合、それは Algolia の IC 4 になります。 彼らはすでにコーディングに関して完全に有能であるか、少なくともそうあるべきです。 スタッフまたはプリンシパル エンジニアは、あなたがやりたいことの経験を持っています。たとえば、チームの誰も到達したことのない規模に到達する必要があることがわかっている場合などに、スタッフまたはプリンシパル エンジニアが必要になる場合があります。 あなたはそれを理解できるかもしれませんが、アクセラレータが必要であり、これはあなたのチームで非常に上級の人がやろうとしていることです.
事前にこれらの質問をすることは、期待される内容にずれがないことを確認する良い方法です。 もしあなたが非常に年長者で、不一致があったという理由だけで上級レベルでのコーディングや作業を求められた場合、失望し、退職する可能性が高くなります。 このレベルの人を雇って離職させるためだけに多くの時間を費やしたくはありません。非常にコストがかかるからです。
その後、この年長レベルの誰かがたくさんの読書をし、たくさんの会話をすることを期待します. これは、ジュニア エンジニアの場合は通常行わないことです。 あなたは組織に来て、最初のタスクを与えられます。それはただ流れているだけです。作業を開始し、コーディングを開始します。これがあなたがすべきことです。これがあなたを次のステップに導くものだからです。
「あなたの役割は、納品された製品が適合し、拡張されることを確認することです。 社内の他の人たちと話し合わなければ、それはできません。」
しかし、上級レベルにいるときは、自分がどこにいて、何が起こっているのか、誰が何をしているのかを理解することが重要です。 他のエンジニアや先輩だけでなく、後輩やプロダクトマネージャー、デザイナー、研究者などとの関係を築く必要があります。 会社の仕組みと、それに自分がどのように適合できるか、何を改善できるかを理解する必要があります。 文書化された内部ドキュメントがある場合は、それを読み、完了したらもう一度読みます。
次に、誰に会うべきか、エンジニアリングマネージャーに尋ねてください。 新しい人と話すときはいつでも、誰と話すのが面白いと思うか聞いてみましょう。 これにより、関係を築き、何が起こっているのかを理解できるようになるため、翼が得られます。 製品は何ですか? 現在の闘争は何ですか? どこでお手伝いできますか? そして、あなたのチームとあなたが構築している製品は、そのスキームにどのように適合しますか? これらのレベルでは、製品に焦点が当てられているため、もはやコードの品質だけではありません。 チームの先輩たちはすでにそれを処理しており、完璧にこなしています。 あなたの役割は、納品された製品が適合し、拡張されることを確認することです。 そして、社内の他の人たちと話し合わなければ、それはできません。
新しい挑戦
ブライアン:知らないリスナーのために説明すると、Algolia は強力なホスト型検索 API です。 外から見るとかなり成功している会社のように見えますが、きっと多くの課題や考えがあると思います。 あなたが考えている、または取り組んでいる大きな問題のいくつかのアイデアを教えていただけますか?
「そのデータを検索し、取得し、ページにたどり着くまでにどのような経路をたどっても、適切なデータが表示されるという考えです。」
Sarah:おっしゃるとおり、Algolia はホストされた検索 API です。 これは私たちが持っている最大の API であり、今のところ最も成功していますが、少し拡張しました。 現在、Algolia Recommend という製品があります。これは、検索に使用するのと同じデータ セットを使用しますが、特定の製品に基づいて推奨事項を提供します。
Algolia のポイントは、検索するだけでなく、コンテンツを表示することです。 たくさんのコンテンツがありますが、そのすべてが同時に同じ人に関連しているわけではありません。 そのデータを検索して取得し、ページにたどり着くまでにどのような経路をたどっても、適切なデータが表示されるという考えです。 これがアルゴリアのポイントです。 それには課題があります。 私たちは検索の専門家ですが、レコメンデーションと機械学習の側面は非常に新しいテクノロジであるため、最新のものを使用して学習しています。 検索と比較して、私たちが学ぶことはたくさんあります。 これは最大の課題ではありませんが、検索で得たのと同じ成功を確実に再現できるようにすることは、依然として課題です。
さて、アルゴリアが得意ではないことがいくつかあります。 データベースではなく、検索エンジンです。 高速になり、最終的には一貫性が保たれますが、すべてのデータがあるという保証、データが常に一貫しているという保証、またはすべてのデータがそこにあるという保証はありません。 これは検索エンジンに関する設計上の選択であり、データベースとは大きく異なります。 そうは言っても、Algolia にデータを送信するのは非常に簡単で、そこにあり、高速であるため、多くの人が Algolia をデータベースとして使用することを好みます。 そのあたりに学ぶべきことがあるのかもしれません。 多分それはデータベースでもあるかもしれません。そうなるとは言いませんが、そうなるかもしれません。 たぶん、私たちが理解し、研究しなければならないことが他にもあるでしょう。
Algolia が対応できないユースケースは数多くあります。 その 1 つが予約ユース ケースです。 Airbnb を予約したい場合は、検索すると検索結果に表示されます。つまり、利用可能です。 しかし、ページに到達するとすぐに、データベースから Algolia にデータを複製するため、使用できなくなります。 データベースに何かを保存するとき、その変更をわずかに異なる形式で Algolia に送信します。 そして、その遅延があるため (これはリアルタイムではありません)、予約のユースケースのようなものは機能しません。 Airbnbs を扱っている場合、現在利用可能なものは 30 秒で利用できない場合がありますが、検索エンジンに表示される可能性があります。保存すると、それが伝播するのに 10 秒程度かかる場合があるためです。アルゴリア、そしておそらく失敗したので、もう一度やり直す必要があります. これらは、私たちが考えている検索エンジン レベルのものです。 それは私たちがサポートできるものですか? それは問題外ですか? その背後にあるビジネスケースは何ですか? それは多くのものを動かすからです。
それは目に見えないはずです。 それはシームレスでなければなりません。 それらが別個の API であるという事実は、あなたの問題ではありません。 それが私たちの解決すべき問題です」
さて、フロントエンドチームに関しては、Algolia Recommend について言及しました。 あなたが顧客であるとき、さまざまな製品があることはあまり気にしません。 これらの機能を備えた Algolia Search と、それらのサブ機能を備えた Algolia Recommend を持っているかどうかは気にしません。 Algolia を購読し、一緒にうまく動作すると言われている一連の機能に対して月額料金または年額料金を支払います。 この API とデータ API の間に内部的に作成された人為的な境界を理解したくないし、理解する必要もありません。
「組織図を出荷しないでください」という言葉がありますが、これは私たちにとって次の大きなトピックの 1 つだと思います。 フロントエンドで、Algolia フロントエンド ライブラリを使用しているときに、これが必要なのかあれが必要なのか迷う必要がないようにするにはどうすればよいでしょうか? それらの境界を感じないということですか? 見えないようにする必要があります。 それはシームレスでなければなりません。 それらが別個の API であるという事実は、あなたの問題ではありません。 それが私たちの解決すべき問題です。
私たちは検索 API と非常に強く結びついたライブラリを作成しましたが、今では連携して動作する新しい API に拡張する必要があり、最終的な応答を得るために 1 つの呼び出しを行ってから別の呼び出しを行う必要がある場合があります。 現在、これらすべては、私たちが望んでいるほどシームレスではありません。 これらの API を一緒に接続したい場合は、まだ少し荒削りです。 可能ですが、チュートリアルを読んで、最後までやり遂げ、あちこちで少し変更を加え、定型コードを書く必要があります。 これは楽しいことではありません。これは楽しいことではありません。 「そのライブラリを使用してください」と言う場合、それはあなたがやりたくない仕事をする必要があります。 下位レベルのプリミティブが使いやすい場合、ライブラリを使用する正当な理由はありませんよね?
現在、最大の課題の 1 つは、図書館の価値を確実に高めることです。 彼らは、ほとんどの人がやりたくないことをすでにたくさんやっていますが、ある時点で、特定の顧客にとっては、検索しかなかったときほどシームレスで楽しいものではありません. そして、これが私たちが求めている感覚です。 「うわー、思ったよりずっとシンプルだな」という感覚。
ブライアン:最後に、リスナーはどこに行けば最新情報を入手できますか?
サラ:つまり、ほとんどの場合、Twitter で私を見つけることができます。私は frontstuff_io です。 これがTwitterで最悪のハンドルであることを痛感しています。 また、sarahdayan.com で私を見つけて、必要に応じて GitHub でフォローしてください。 私は時々物事をコミットします。 でもええ、チャットしたいなら、私のDMは開いていると思うので、何でも送ってください.
ブライアン:すごい。 サラ、今日はお付き合いありがとう。
サラ:お招きいただきありがとうございます。 それは楽しかった。