物理学者からデータサイエンスまで(科学のエンジンからオフィスプランクトンまで)。 第二部







約1年前、学術環境から現在人気のある職業であるデータサイエンティストへの移行プロセスをどのように進めているかについてテキストを書きました。 驚くべきことに、私は同じような状況にある人々から多くのメッセージを受け取りました。つまり、私の投稿は聴衆を見つけ、誰かにとって有益でした。 次は続編を書く時です。







(英語の単語が豊富であることを事前に謝罪します。翻訳の方法の一部はわかりませんが、翻訳の一部はしたくないです。)







最初の部分の要約:









私は科学が好きではないからではなく、学術環境を去ったことに注意することが重要です-私はそれを非常に愛していますが、この段階で業界で働くことは私にもっと多くを与えるという強い印象を持っていたからです。 たとえば、特に「クリーンコード」というトピックに関する本を読んだ後、私は自分が書いたコードを率直に嫌い、またそれをサポートする方法も嫌いでした。 はい、いくつかのプロジェクトでgitを積極的に使用しました。記事を書くとき(科学顧問を宣伝していませんでしたが、昔ながらのようです)、この自己訓練は100人の開発者による実際のプロジェクトとは異なります。 そして、学問的な環境が非常に保守的でゆったりしているという事実-それはいつも私を悩ませました。 アジャイル開発という言葉や、本の抽象的な概念からの「ラウンドBファイナンス」のようなものが自然で理解可能なものに変わるように、私は新しく、ダイナミックで、若々しいものに突入したかったのです。間違いなく素晴らしいオプションでした。







そして次に起こったことは...



Bidgelyというオフィスは、Google、Linkedin、Apple本社から数キロ離れたシリコンバレーのサニーベールにあるオフィスで働いており、データサイエンティストの役職を提供しています。など







Bidgely(以下、コードワード「Hindus」と呼ばれることもあります)は、時間の関数としてエネルギー消費を受け取り、コンポーネントに分解するスタートアップです-これは洗濯機、これはエアコン、これはストーブ、これは冷蔵庫です-などd。













これはすべて、人々が電気の行き先を知るために必要であり、消費を最適化する場合は、どこを掘るかを知っています。 たとえば、コンピューターのエネルギー消費を過大評価し、空調を過小評価することは非常に一般的です。







理論的には、このように見えるはずです


ビジネスはB2Bモデルに従って構築されました。つまり、クライアントは単なる人間ではなく、PetroElectroSbytのような企業でした。







画面上のエンドユーザーには、次のようなものが表示されます。













電力会社がこれを必要とするのはなぜですか?



まず、ユーザーの質問にいつでも明確に答えることができるように、なぜ電気料金がこれほど大きいのか、なぜこれが間違いではないのか。







第二に、いくつかの国では、彼らの努力のおかげで、この消費自体の効率が向上したことを納得できるように示している場合、電力供給者を補助する州のプログラムがあります。







または、たとえば、オーストラリアでは夏に非常に暑く、インフラストラクチャが負荷に対処できないという意味でエネルギー供給業者が縫い合わされているため、問題の軽減は、エアコンを積極的に使用する人に尋ねる(そして20ドルを提供する)ことでしたラッシュアワー、予想される最大負荷の1時間前に家を冷やします。これにより、この負荷を分散できます。







製品とは何ですか? =>アルゴリズム+視覚化。







上記はマーケティングのでたらめのように見えるかもしれないという事実にもかかわらず、営業担当者はオーストラリア、アメリカ、カナダ、ヨーロッパ諸国の多くの企業に、将来は少なくとも試されるべきだと納得させました。 この製品の商業的有効性に疑問を抱いたのは、何が起きているのかを分析するという意味でGoogle Fitに似ているからですが、この分析が実際の問題をどのように解決するかは私には明らかではありませんでした。







深刻なオフィスはすぐに何かに適合しないため、企業は3つの段階で絡み合います。







  1. パイロットプロジェクト、ステージアルファ。 20〜100の家には、wifiを介して電力消費に関するデータを送信するセンサーが設置されており、サイト/電話のユーザーは、この消費のコンポーネントへの分解を追跡できます。
  2. パイロットプロジェクト、ベータ段階。 同じことですが、500〜1000の家用です。
  3. このエネルギープロバイダーのすべてのユーザーへのアクセス。


同社は1年で18人から50人以上に成長しました。 彼女が非常に小さかった間、データサイエンスチームは、私に雇われる少し前にFacebookに行った1人の女の子と、彼女の腕に乗っているか並行して働いていたアレックスという男に代表されました。 会社が成長した後、データサイエンティストのチームを強化することを決定し、その下で彼らは私とPratikというインド人を雇いました。彼らは両方とも、Alexから負荷の一部を取り除くためにトレーニングを終えました。彼からの知識の一部であり、この知識が吸収された後、希望するアルゴリズムをより明るい未来に集中的に移行し、会社を何十億もの利益に変えることです。







アレックスはこんな感じ。


同社には2つのオフィスがあります。フロントエンド、営業担当者、トップマネジメント、米国のデータサイエンス、および経済上の理由でバックエンド全体とQA(インド)です。







AWSでのすべての計算。 主なJavaプログラミング言語はフロントエンド/バックエンドです。 Matlab-データサイエンス向け。







エネルギー分解のタスク自体は音声認識のタスクに似ており、これは非常に興味深いものです。リカレントニューラルネットワークや他の多くの美しい現代技術があります。







つまり、私はこのヒンドゥー教の申し出を受け入れました。一方で、私は友人の地下の寝袋で寝ていて、クレジットカードのお金がすぐになくなると考えて毎朝起きていたので、仕事はありませんでした。一方で、彼らはすべてダイナミックな会社で、ジュニア向けの理解しやすいお金を提供してくれました(谷の給料の範囲は100-150k /年に似ていました)(私はそれが彼らのオフィスでの最初のインタビューでダイナミックだったことを知っていましたみんなが急いでいる様子を見ました)。 そして、タスクは数学的な観点から興味深いものであり、実用的です。







私は一つのことを好きではありませんでした-オフィス、騒々しい、そしてたくさんの光。 明るいランプに加えて、朝は太陽が強く輝く健康的な窓。 ママは目を心配しません。 オンサイトで、私はオフィスについて明確にしました。CEOは、このオフィスが好きな人はいないので、何も心配する必要はないと言いました。数か月後、私たちはまだマウンテンビューの新しい建物に引っ越しました。







会話中、私はチームが好きでした-非常に賢い人たち、そして彼らが新しい年(仕事を始めてから2か月後)に休暇をとることができたのも簡単でした。







一時的な問題であるオフィスを除き、これは仕事ではなく歌です。







初日



他の人や自分のコードを考えずにゼロから削除して書き直したいとき、そして学術環境から業界に切り替えるときにDunning効果に大きく苦しんだ人たちと一緒にコードを書くという進化の段階を乗り越えたいと思っていました-クルーガー 、私は会わなければならなかったので、私はすべての専門家がここにいることを事前に設定しました、そして私は新しく卒業したので、最初にあなたは彼らの苦労と莫大なウルのためにシリコンバレーを成功裏に征服するシニア仲間からできるだけ多くを吸収する必要があります 知識の塊であり、それから結論を導き出します。







到着すると、2012年に4GbのRAMを搭載したMacBook 13を受け取りました。これは、私の意見では、少量のデータでもアルゴリズムを開発するには少し弱いです。 メンターとして私に任命されたアレックスは、やるべきことの図をすぐにスケッチし、コードに突っ込み、それが非常に重要であると付け加え、コードをコンパイルする方法を説明し、彼のビジネスについて飛び去りました。







指示に従ってください-コードをコンパイルしようとしていますが、コンパイルしません。 アレックスを捕まえたところ、すべてが機能するためには、ユニットテストが無効であり、一般にユニットテストはロースタイルなので、ユニットテストを無効にする必要があることがわかりました。 私は宗教的なTDD信者ではありません。純粋な形では、このアプローチは私にとってはうまくいきませんでしたが、それにもかかわらず、コードテストに対するBigelyの態度は私を悩ませました。







Matlabでコードを開くと怖くなります。 私がアカデミック環境を離れた理由の1つは、長期にわたって製品品質のコードを記述する方法を学ぶことです。 そして、これを学ぶためには、適切な本を読むことに加えて、コードレビュー中に鼻をくっつけ、スマートIDEなどの効果的なツールを使用することを学ぶ上級経験豊富な仲間とチームで複雑なコードに取り組む必要があります。テスト、適切なアーキテクチャなど







しかし、私は怖くなりました。コードを一見しただけで、私が十分に見たコードとアスピリアンの良いニブルを持っているコードを手に入れるのに苦労したことが明らかになったからです。 はい、彼らはモジュール式アーキテクチャを作成しようとしましたが、どこかで何かが起こりましたが、ランダムインデント、1000行の機能、コードコメントの完全な欠如、pkI、vIdx、featsT、pkPos、M1などの神秘的な意味を持つ変数名マジックナンバーによる各機能、およびドキュメントなし。







私はアレックスに尋ねました:「 何をすべきか?熊手があります。 」そして、彼は心から私に言います:「 まあ、私は確かにできますが、今は3人であるとき、私たちはすべてをします心に、しかし今のところ、彼は原則として、ここではすべてが簡単だと言います。 行ごとにドライブをデバッガーし、変数の進化を見てください。すぐにすべてが明らかになります。 わずか10,000行です。」







2週間後、私はコミットを行いました。これは最初の日に必要でした。







次へ



コード内のこのIndyadinaはすべて、アレックスと私のようにFacebookに行った女の子の両方がアカデミック環境からまっすぐに来たという事実によると思います。機能を迅速に作成する必要があり、このためにMatLabが使用されました。これにより、読み取り不可能なコードを記述せず、屈折をサポートするIDEがありません。 そして、便利な道具なしで屈折するのは苦痛なので、彼らはそれをしませんでした。







同時に、フロントエンド/バックエンドの関係者は通常のコードを作成しましたが、データサイエンティストが作成したモジュールで発生したことは、高レベルでも理解できず、ブラックボックスとして使用していました。







そのため、コードは通常のコードを書くことをまだ学んでいない人々によって書かれ、学ぶ時間はなく、それを教えた人もいませんでした。さらに、プログラミング言語とIDEはあらゆる点で良いことを妨げました。







この不健康な状況からの将来の結論として-空席の説明にMatlabという単語が含まれている場合-私にとって、この空席は自動的に考慮から除外されます。 第一に、特定のコードは読みにくく、テストされていないヒンズー教徒であるため、苦痛の海である機能を追加します。 そして、第二に、Matlab自体は、信号処理ライブラリを除き、他のツールに比べて大きな利点がないためです。 そして、データサイエンスチームがそれを選択し、3年の使用後にそれをよりわかりやすいものに変更しなかったという事実は、このチームの資格レベルが仕事をしたい場所よりも低いことを示しています。







私が雇われたとき、インド人は申し出をすぐに受け入れるかどうかを非常に積極的に奨励し、その後、同意してからすぐに来週の月曜日に仕事に行くように頼みました。私自身は仕事を見つける機会を計画し、新年に近づきました。 そして、この急ぎはすべて、オーストラリアでのパイロットプロジェクトの立ち上げが新年に予定されていたためであり、すべてを美しくする必要がありました。つまり、クライアントに印象を与える値にアルゴリズムの精度を改善する必要がありました。







CEOに尋ねたとき、「 どれくらい美しいですか?」 」、彼は、データはノイズが多く、絶対的な正確さで到達できないことを理解しており、今ではすべてがすでにほとんど素晴らしいものであり、90%になるように少し微調整することに残っていると言いました。 あまり時間がないので、食器洗い機と洗濯機を検出するアルゴリズムを委任され、電気コンロ、プール、冷蔵庫はインドのオフィスで働くデータサイエンティストに渡されました。







90%を配置します-90%を与えようとします。 2か月はそれほど長くありませんが、 kaggle.comでは、良いモデルを短時間で配布しました。そのため、 「党はそれが必要だと言ったので、コムソモールはイエスと答えました」。







問題が発生します-この精度は一般にどのように測定されますか?







私はそれが古典的なクロスバリデーションのようなものだと想像しましたが、ヒンズー教徒には独自のヒンズー教の方法があることがわかりました。 心は、アルゴリズムが使用されるものの代表的なサンプルを表現しようとするラベル付きデータのセットを必要とし、予測とラベル付けされたものを比較します-モデルの精度の推定値が取得されます。 正しいやり方には微妙なニュアンスがあります(トレーニング、テストデータ、生産のモデルの精度は3つの大きな違いです)、とにかく、何が悪いのか、何が良いのかを理解するには、予測するための特定の基準が必要ですと比較されます。







これらすべてのアルゴリズムに3年間取り組んだ後、インド人はそのような参照タグ付きデータセットを持っていませんでした。 これは非常に悪いことです。 データは重要です( このトピックに関する良い投稿 )。 ほとんどの場合、豊かになったので、視覚的に信号の形で、誰が洗濯機で誰がプールかを区別できることに注意してください。 それで、ヒンズー教徒は何をしました-彼らはチーム全体を雇いました、それは少しのお金で、私たちの予測を彼らの目で見るものと視覚的に比較します。 そして、それぞれの不一致の場合、提出バグレポート。 ただし、マークされたデータセットを作成しようとはしません。 つまり、アルゴリズムの精度は主観的に評価されます。







さらに悲しいことに、パイロットプロジェクトを次の段階に移行するという決定は、電力会社の経営者が自分たちの家のために私たちが解体したことに感銘を受けていることが主な理由です。 また、自宅からのデータに対してアルゴリズムがどのように機能するかを見ると、全体として90%の精度についての言葉が興奮します。







つまり、3つの異なる精度がありました。







  1. VIPの家から来るデータの過度の正確さ。
  2. パイロットプロジェクトの家庭での正確さ。
  3. 他の全員の平均精度。


そして、一方ではアルゴリズム自体を改善する必要があり、他方では、目にほこりを入れるためのフレームワークを開発する必要があります。つまり、VIPの結果を半自動モードでひねり、重要な家の精度を監視し、必要に応じて調整します







電気事業者は、パイロットプロジェクトの開始者を選択するための競争を開催し、その後、フロアとインドのオフィス全体が手動でデータにマークを付けたときに、最も厳しい手のラベル付けが始まりました。 パイロットプロジェクトに適合するときに同じ精度をどのように発行するかという疑問は生じませんでした。







そして、ここで私は座って、どこから始めるべきか考えていますか? マークされたデータはありません。 アルゴリズムの精度の推定は理解できません。 これらの洗濯機でイデオロギーレベルで何が起こったのかを半分に把握しました。 また、コードでいっぱいのマジックナンバーで動作するハッキングと天秤のシステムがあります。 そして、その考えは愚かではありませんが、何をすべきかは明確ではありません。 私はアレックスに尋ねます-そして彼は再び:「 あなたはデバッガを実行しますが、どのようにそして何が進化しているかを見てください 。」 そしてもちろん、これはオプションです。コードを理解していれば、そしてトップであれば、悪魔はそれを知っています。 そして、できる限り頻繁に何が起こっているのかを視覚的に検査するために両手で作業していますが、少なくとも長期的には効果がないため、ドキュメントが完全に欠けていたり、古くなっていても間違っています。 そして、私たちのCTOがこの質問に答えたという事実:「 あなたは何を望んでいますか?私たちはスタートアップです。 」-これは、しかし50人以上の会社の答えではありません。







そして、これはすべて、ある種の消火モードで起こります。 この特定のクライアントは戦略的であり、会社と全世界の幸福のために、可能な限りすべてを行うことが非常に重要であることを永遠に思い出させます。 そして、みんなが走り回っています。 概して、なぜそうなのか、いつ終了するのかは明らかではありません。 つまり、営業担当者は知っており、上級管理職は何をいつ計画しているのかを知っていますが、それを他の人に伝えません。







透明な海とは、会社の存続のために、顧客ベースが必要であり、資金調達が終了するまで、できるだけ早くそれを構築する必要があるということです。 しかし、会社の発展はマラソンであり、スプリントではありません。少なくとも長期的にはうまくいかないため、従業員からすべてのジュースを搾り取ろうとする必要はありません。 私は9時に来たという意味でスチームバスを浴びませんでした、夕方5時に出発しました。 私の契約では、私は1日8時間働いています。 私はこれにサインアップしたので、そうです。 しかし、同じアレックスは少なくとも1日10時間働きました。 彼はもちろん、宗教的なアジア人です(彼は週に数回は必ず教会に行きました)。 しかし、この見通しは私を興奮させませんでした。







もう1つの重要なニュアンス-私たちはしばしばQAとバックエンドとのやり取りが必要でした。そして、そのためにインドのオフィスと通信する必要がありました。タイムゾーンは非常に異なっていたため、会議は夕方と週末にスケジュールされました。 私はそれらのいくつかに参加しましたが、その後、真夜中の会議は例外ではなく規則であり、夜と週末の仕事について話し合っておらず、異なるタイムゾーンのチーム間の相互作用を整理する方法について話し合いましたマネージャーの問題で、私のものではありません。 そのため、夕方の5時から忙しいとカレンダーに追加しました。そのような深夜の会議に招待されなくなったようです。 同時に、私はオンコールローテーションに参加することに反対していません。大きな問題が発生した場合、午前中に2回であっても、緊急時の誰かが何かを決定しなければなりません。







そして、あなたは今緊張する必要があるという事実ですが、パイロットプロジェクトの立ち上げ後は少し簡単になります-これも議論ではありません。売り手がさまざまな企業をscり、次のプロジェクトが数ヶ月ごとに立ち上げられたという事実のためです。 (そして、はい、オーストラリアがドイツに来た後、そしてイタリアの準備があり、香港についての話がありました)







私はこれらの洗濯機のいくつか、約100をマークしました。 私は正確さを評価し、速度を上げるためにいくつかの部分を書き直したコードを書きました(私の小さなMacbookは痛々しいほど弱く、アレックスはクラウドで計算を実行するという私の提案を振り払いました)。 アルゴリズムを運転しました。 F1スコア= 0.5(大まかに言えば、精度として解釈できる)。 そして、これは0.9に近いものではなく、CEOが興奮して話していました。







彼は、精度が小さいことに動揺していることをアレックスに示しましたが、ついに正しい体系的な科学的アプローチをとることができてうれしかったです。 彼はUC Berkleyでコンピューターサイエンスの博士号を取得しており、少なくとも彼は機械学習でモデルの精度を評価する方法について聞いていたので、私は彼にタンバリンを与えました。 しかし、この鹿と3年間のオフィス全体はこれに困惑せず、代わりに構造化されていない無効なゴミに苦しんでいました。







12月中旬までに、数冊の本を読んだ後、スタックオーバーフローに関する質問、信号処理に関与する数人の教授との会話、アルゴリズムのロジックの簡単な変更、マジックナンバーのねじれ、およびヒューリスティックの追加により、洗濯機を認識するための私たちの勇気あるアルゴリズムはF1 = 0.65を示しました。 オーストラリアでパイロットの打ち上げが行われ、到着したら新しい仕事を探す必要があると考えて、サンクトペテルブルクに数週間帰宅しました。







新しい年の後



重要なことは、私は学生ビザであり、その時までに有効期限が切れていたことです。 すべては合法ですが、不透明です。 私はアメリカにいたり、仕事をしたり、去ったりすることはできましたが、できませんでした。 入国するためには、新しいビザを取得する必要があります。 さらに、それを受け取るためには、アメリカを出なければなりません。 5年間のトレーニングで、これを数回行い、新しいビザの申請には1週間強かかりました。 一度機能すると、今はまったく同じように機能すると想定されていました。 しかし、微妙なニュアンスがありました...その時、私は学生で学生ビザを受け取り、ここで働くために学生ビザを受け取りました。 サンクトペテルブルクの私のアメリカ領事館で書類を受け取った人は、この状況全体に非常に驚き、出版物のリストと履歴書を送ってほしいと頼みました。







総領事館のアメリカ人も靱皮靴を履きませんでした。アメリカとロシアの祝日があります。 そしてもちろん、1月2日はサニーベールでの仕事に出場するという事実にもかかわらず、冬休み前に彼らは私にビザを与えませんでした。 しかし、素晴らしいインド人は状況に入り、状況が解決するまで遠隔で働くことを許可されました。







ビザでのこの面倒なことがすべて、就職活動のテーマに関する私の計画を変えました。同時に、すぐに検索するために、H1Bを待つことにしました。 さらに、仕事を探し始めても、インド人が私を解雇しないことはまったく明らかではありませんでした(映画でこれを見ました)、そして新しい仕事の検索が何ヶ月も引きずられないこと、そしてこれは再びビザとお金の問題です。 (学生ビザでは、最初の年に最大90日間働くことができません)。 しかし、新しい仕事を見つけるという問題がすぐに生じるという事実は明らかでした。







現在の状況で私が気に入らなかったことは何ですか?





私はこのポジションに適合しなかったので、なぜすぐに去らなかったのですか?



-, , , , — .







-, , , , , .







-, , — , , .







CEO , Fresh Grad' , Data Scienist' 2-3 , Director of Analytics .







, CEO , , , , , 6 . , , , , :" I am not convinced that this your idea will work, let's not do it ", .









. Bigely , , , , . VP of Engineering, , . :







  1. .
  2. : collabedit.
  3. : / .
  4. Oniste . ( , .)


. Pratik 4-5 . . , Director Of Analytics. , , , , . , .







, 2-3 . , Bidgely Data Scientist'a 5 ( Data Science , , , Sr. Software Engineer) Director of Data Science 8 . ( , ). , , .







, , , . , — , , , , , . Data Scientist' , .







Pratik'a, - 90 . — . .







, — . , — , . , - , - .







, , Sunnyvale — , - Mountain View, , , , , , .









Google Facebook, , , . e, , Bidgely, , . , , , c , , , .







?





, , , , onsite interview. , . , , , Bidgely.







,



( .):









, , ….







C ,





Data Science Team? - , => . . : N , John — Data Analyst, Mary — Data Engineer, Mike — Head of Data Science, Jennifer — experimentation, . .









, ? - , , . , , , ( ), Google Sheets, , DataDog Tableau. , Junior .









/ ? , Matlab', .









? — , Bidgely, , . , / , — . .









? , . Bidgely, ( ) , , , , , hand labeling, . “”, , .









? onsite .







, , TrueAccord Google, Uber Twitter, , , , , , , . CEO ( ) . .







おわりに



, Bidgly '. , . Bidgely , , , . Pratik, , , , Bidgely. , , .







.







-, , ( ), , , , .







-, , , , , , , , . cc - , . , .







-, Pratik Bidgely . . , , , . , , . , , , 5 . . Google Sheets, Tableu Matlab, . , . , .







私はプラティックと話をして、彼は以前と同じではなく、ずっと良くなっていると言ってくれました、そして私は本当にそう願っています、そしてGlassdoorのレビューでさえ非常に否定的な色を非常に肯定的なものに変えました私たちのCEOは、「会社の評判を向上させるために、誰もが私たちについて肯定的なレビューを書くことは良いことだ」というテキストを含むメールを全員に送信しました







だから。すべては多かれ少なかれですが、最初の部分で計画されたように、シンガポール、東京、またはロンドンに手を振る計画は1年延期されます。すべての不幸にも関わらず、学問的な環境を去るときに得たいと思っていた知識を部分的につかみましたが、この質問はまだ完全には解決されていません。







PS帽子の魅力的な写真はバルコニーからの眺めです。夕方にお茶を飲んだり、人生の意味を考えたりするときに観察します。

PPS Bidgelyは新しいオフィスに移動することはありませんでした。

PPPS履歴書とLinkedInがシリコンバレーのデータサイエンティストとしてどのように見えるかに興味がある人のために:









第三部。








All Articles