新しいクラスのCarrot Uブートキャンプ卒業生から学ぶ

Instacart独自のコーディングブートキャンプであるCarrot Uを立ち上げ、非技術的な役割の優秀な従業員にエンジニアリングの基礎を学ぶ機会を提供しました。 プログラムの終わりに、Carrot Uの卒業生は、オープンエンジニアリングの職について面接する機会を得ます。

2019/2020年のCarrot Uサイクルの準備として、昨年のソフトウェアエンジニアリングチームに移動したCarrot Uの卒業生の2人であるSvetaさんとMichaelさんと話し合い、コーディングブートキャンプで学んだことについて話しました。 また、実地体験(on-the job experience)でしか得られない経験について話し合います。

Instacartでの最初の役割は何でしたか? また、エンジニアリングに対しどのように興味を持ちましたか?

Sveta:Instacartに初めて入社したとき、私は新しい小売業者をプラットフォームにオンボーディングさせる(支援する)チームにいました。 エンジニアリングチームと小売業者を連携させ、小売業者に技術的な概念を説明し、彼らのニーズをエンジニアに伝えるという仕事でした。

Michael:私はInstacartでかなり長く勤めていました。私は2014年にフルサービスのshopperとして会社には入りました。その後、顧客サービスチームに応募し、顧客からの電話やリクエストの対応をサポートしました。カスタマーサポートチームでは、少しQA作業を行っていましたが、最終的にはロジスティクスオペレーションチームに移動しました。(例えば、台風が来た場合、どの小売業者が影響を受けますか)

Logistics Opsに入った時、Excelで基本的な方程式を実行する方法さえ知りませんでした。 私は自分でExcelを習得しなければならず、SQL queriesも勉強し始めました。あるチームメンバーが私たちのために基本的な「SQLを学ぶ」レッスンをセットアップしました。

Sveta:ええ、私も自分の役割でSQLを少し勉強しました。 振り返ってみると、単純なSQLクエリを書くことは、技術トレーニングを始めるための非常に簡単な方法です。 最初に思っていたよりも、エンジニアになることが少し簡単になりました。

Carrot Uにサインアップするきっかけは何ですか?

Sveta:私はいつもエンジニアリングに興味がありましたが、ブートキャンプをするきっかけや時間がないと感じました。 SQLクエリの作成方法を学びましたが、実際にエンジニアリングになるとは考えていませんでした。

実はここにいる同僚Muffyさんは、Carrot Uに応募するよう勧めてくれました。入社した最初の1か月以内にMuffyに会いました。彼女はWomen in STEMの大擁護者です。 数か月後、私今のポジションの応募が開いたときに私は迷うわずサインアップしました。

Michael:最初は応募することにあまり興味がありませんでした。元のポジションが好きでした! でも同僚たちがSQLのポジションを私に勧めました:「ねえ、あなたはSQLのロジスティクスオペレーションで頼りになる人です。 過去8か月間にこれを学んだので、このポジションとぴったりです。 応募してみませんか?」 それが私の応募のきっかけでした。

Michael:最初は応募することにあまり興味がありませんでした。元のポジションが好きでした! でも同僚たちがSQLのポジションを私に勧めました:「ねえ、あなたはSQLのロジスティクスオペレーションで頼りになる人です。 過去8か月間にこれを学んだので、このポジションとぴったりです。 応募してみませんか?」 それが私の応募のきっかけでした。

Sveta:メンターシップは私とプログラムの他の人々にとって非常に重要でしたので、私は他の2人とグループプロジェクトに取り組み、メンター(Metor)とメンティー(Metee)を内部でマッチングするアプリを作成しました。特定のスキルセット(RubyやPythonなど)の強化することに興味がある場合は、アプリにアクセスしてサインアップし、興味のあるスキルを一覧表示できます。 特定の言語またはスキルを持つ専門家は、別のプラットフォームにサインアップしたら、メンターになれます。

フルタイムのソフトウェアエンジニアになったとき、一番驚いたことは何ですか?

Sveta:レガシーコードを操作することを学ぶのは大変でした。

Michael:ええ、だれでも少しの作業で言語を理解できます。 誰もが複雑なRubyメソッドの書き方や派手なロジックの書き方を(真剣に)理解できます。 しかし、実際にレガシーコードを操作できるようになると、それが難しくなります。 Githubで共有コードベースを操作することは、最初は間違いなくチャレンジングでしたが、今では当たり前のことになりました。

Sveta:最終的なグループプロジェクトに取り組んでいるとき、基本的にすべてをゼロから構築しています。 ゼロから構築する方が少し簡単であることがわかりました。知識とデバッグから構築しています。レガシーコードを使う時、他のものに影響を与える可能性があります。小さな変更が何をしているのかを理解するために時間をかける必要があります。

なぜ多くのエンジニアが「heads down」の必要があるのか、そしてスプリント(sprint)中にこれらのバッファー(buffer)期間があるのはなぜかを理解しています。なぜなら、これらのブロッカーにぶつかると、そのレガシーコードを理解し、それらのいずれかの問題を修正するのに時間がかかるからです。それは説明しなければならない曖昧さがたくさんあります。

Michael:私にとってもう一つの大きな驚きは、エンジニアリングの仕事は大半に時間はデバッグであるかということでした。 私の時間の大部分は、ローカル環境を正常に動作させる方法のデバッグと把握に費やされています。 実際に何かを構築するのに期待するほど多くの時間を費やすことはありません。それは30分から45分くらいでしょう。 その後、残りの時間をテストして、期待どおりに動作しないものをデバッグします。

あなたの役割がそれほどあいまいになると予想していましたか?

Michael:Carrot Uを卒業して新しい役割に飛び込んだ後、エンジニアとしてあなたが解決できる問題がどれほど曖昧であるか本当に驚きました。 1週間に3つのタスクがあるかもしれません…そして月曜日の朝、それらの3つのタスクを見て、「あなたは私をからかっているでしょう。これら3つのことを行うには5時間かかります」。 最初のタスクには30分かかり、2番目のタスクには15分かかり、3番目のタスクのコードベースに飛び込むと、完了するまでに3か月かかりますわ!

Sveta:はい、明確な解答や解答への明確な道すらもないとき、私は本当に早く解ける方法を学びました。 最初は本当に大変でした。少し怖かったのですが、すぐに慣れました。 曖昧さに慣れることは、異なる考え方をするのに役立ちます。 その曖昧さへの対処法を学ぶとき、あなたは自分のエンジニアリングスキルセットを構築しているだけです。

エンジニアリングチームでSvetaとMichael一緒に働きませんか? 現在の募集をご覧ください。

原文タイトル:

Lessons a coding boot camp can (and can’t) teach you

Learnings from our new class of Carrot U boot camp grads

原文作者:Instacart

原文リンク先:https://tech.instacart.com/lessons-a-coding-boot-camp-can-and-cant-teach-you-494423cf62be

今すぐシェアしよう!
今すぐシェアしよう!