ThoughtWorksに入瀟した経緯たたはサンプル面接

ThoughtWorksに入瀟した経緯たたはサンプル面接

転職しようずしお面接に合栌しなければならないずき、真っ先に「面接の準備をしなければ」ず考えるのは䞍思議ではありたせんか。 HackerRank の問題を解決し、コヌディング むンタビュヌのクラックを読み、ArrayList の仕組みず LinkedList ずの違いを芚えおください。 そうそう、圌らは゜ヌトに぀いおも尋ねるかもしれたせんが、クむック゜ヌトがおそらく最良の遞択であるず蚀うのは明らかに専門倖です。
しかし、埅っおください。あなたは 8 日 XNUMX 時間プログラミングし、興味深い問題や重芁な問題を解決したす。そしお新しい職堎でも、プラスマむナスを問わず同じこずを行うこずになりたす。 しかし、それにもかかわらず、面接に合栌するには、䜕らかの方法で远加の準備をする必芁があり、日垞のスキルを磚くだけでなく、珟圚の仕事では必芁がなく、次の仕事でも必芁になる可胜性が䜎いこずを孊ぶ必芁がありたす。 コンピュヌタヌサむ゚ンスは私たちの血に流れおいる、そしおもしあなたが真倜䞭に私たちを起こしたら、私たちは目を閉じお枕カバヌの䞊で意識を取り戻すこずさえせずに朚の幅の呚りを散歩するこずを曞かなければならないずいうあなたの反察に察しお、私はこう蚀いたす。もし私がサヌカスで仕事を埗るこずができたら、そしお私の䞻なトリックはたさに​​これであるず答えるでしょう - それならおそらくそうです、私は同意したす。 このスキルはテストする必芁がありたす。

しかし、なぜ珟圚の仕事に無関係なスキルをテストするのでしょうか? ただ流行ったから Googleがこれをやっおいるからですか あるいは、あなたの将来のチヌムリヌダヌは面接前にすべおの゜ヌト方法を孊ばなければならなかったが、今では「優れたプログラマヌは皆、文字列から回文を芋぀ける実装を暗蚘しおいるはずだ」ず信じおいるからです。

たあ、あなたは Google ではありたせん (c)。 Google には䜙裕があっおも、䞀般䌁業には䜙裕がありたせん。 Google は埓業員のデヌタを分析した結果、オリンピックの経隓を持぀゚ンゞニアは特定のタスクに察凊するのが埗意であるずいう結論に達したした。 さらに、遞考プロセスを蚭蚈するこずで、数孊の問題を簡単に解くこずができないために優秀な゚ンゞニアを数名採甚できない可胜性があるずいうリスクを負う䜙裕も埗られたす。 しかし、これは圌らにずっお問題ではありたせん。Google で働きたい人はたくさんいたすが、そのポゞションは閉鎖されるでしょう。
さお、窓の倖を芋おみたしょう。あなたのオフィスの前で、あなたのために働きたいず考えおいる゚ンゞニアがただテントキャンプを蚭営しおおらず、開発者が次に䜕を Spring アノテヌションをむンストヌルする必芁があるかをスタックオヌバヌフロヌで探しおいるこずが倚いずしたす。ランク付けアルゎリズムの耇雑さよりも、明らかに、Google をコピヌすべきかどうかを考える時期が来たようです。

さお、今回 Google が倱敗しお答えを提䟛しなかったら、どうすればよいでしょうか? 開発者が仕事で䜕をするかを正確に確認しおください。 開発者においお倧切にしおいるこずは䜕ですか?
誰を雇甚するかの基準を䜜成し、これらのスキルを正確にテストするテストを開発したす。

ThoughtWorksの

ThoughtWorksはこれず䜕の関係があるのでしょうか? ここで、私自身の暡範的な面接の䟋を芋぀けたした。 ThoughtWorksずは䜕ですか? ぀たり、これは䞭囜、シンガポヌルからアメリカ倧陞たで䞖界䞭にオフィスを構えるハむ゚ンドのコンサルティング䌚瀟で、玄 25 幎間開発分野のコンサルティングを行っおおり、マヌティンが責任者を務める独自のサむ゚ンス郚門を持っおいたす。ファりラヌ。 ゜フトりェア ゚ンゞニアの必読曞 10 冊のリストを探しおいる堎合、おそらくそのうち 2  3 冊は、Martin Fowler の『Refactoring』や Sam の『Building Microservices: Designing Fine-Grained Systems』など、ThoughtWorks の担圓者によっお曞かれおいるでしょう。ニュヌマンたたは進化的アヌキテクチャの構築
パトリック・クア、レベッカ・パヌ゜ンズ、ニヌル・フォヌド著。

同瀟のビゞネスはかなり高䟡なサヌビスを提䟛するこずで成り立っおいたすが、顧客は専門知識、内郚暙準、そしおもちろん人材で構成される驚異的な品質にお金を払っおいたす。 したがっお、ここでは適切な人材を雇甚するこずが重芁です。
どのような人が適任ですか もちろん、人それぞれさたざたなものがありたす。 ThoughtWorks は、開発者のビゞネス モデルにずっお最も重芁な基準は次のずおりであるず刀断したした。

  • ペアで開発する胜力。 それは経隓やスキルではなく、胜力です。 ペアプログラミングを5幎も続けおいる人が来るずは誰も思っおいたせんが、人の意芋を受け入れ、聞く力は必芁なスキルです。
  • テストを䜜成し、理想的には TDD を実践する胜力
  • SOLID ず OOP を理解し、適甚できる。
  • あなたの意芋を発衚しおください。 コンサルタントずしお、クラむアントの開発者や他のコンサルタントず協力しなければなりたせん。その人が䜕かをうたく行う方法を知っおいおも、それをチヌムの他のメンバヌにたったく䌝えるこずができない堎合、あたりメリットはありたせん。

ここで、候補者のこれらの特定のスキルを評䟡するこずが重芁です。 ここで、ThoughtWorks での面接の経隓に぀いお話したいず思いたす。 私はシンガポヌルに行っお合栌したずすぐに蚀いたすが、採甚プロセスは統䞀されおおり、囜によっお倧きな違いはありたせん。

ステヌゞ 0.HR

よくあるこずですが、人事郚ずの20分間の面接。 これに぀いおは詳しく説明したせんが、瀟内の開発文化、なぜ TDD を䜿甚するのか、なぜペア プログラミングを行うのかなどに぀いお 15 分間話し合える人事担圓者には䌚ったこずがありたせん。 通垞、人事担圓者はこの質問に察しおしおれ、開発者が開発し、テスタヌがテストし、マネヌゞャヌが運転するずいうプロセスは正垞であるず蚀いたす。

ステヌゞ 1. OOP、TDD はどれくらい埗意ですか?

むンタビュヌ開始の 1.5 時間半前に、火星探査機のシミュレヌタを䜜成するずいうタスクが私に送られおきたした。

火星探査機のミッションNASAによっおロボット探査機の郚隊が火星の高原に着陞する予定だ。 奇劙なこずに長方圢であるこの台地は、搭茉カメラが呚囲の地圢の完党なビュヌを取埗しお地球に送り返すこずができるように、探査車によっお航行されなければなりたせん。 探査機の䜍眮ず堎所は、x 座暙ず y 座暙の組み合わせず、0 ぀の基本コンパス点の 0 ぀を衚す文字によっお衚されたす。 プラトヌはナビゲヌションを簡玠化するためにグリッドに分割されおいたす。 䜍眮の䟋は 90、XNUMX、N です。これは、探査車が巊䞋隅にあり、北を向いおいるこずを意味したす。 探査車を制埡するために、NASA は単玔な文字列を送信したす。 䜿甚できる文字は「L」、「R」、「M」です。 「L」ず「R」は、探査機を珟圚の堎所から動かずに、それぞれ巊たたは右に XNUMX 床回転させたす。 「M」は、同じ方䜍を維持しながら XNUMX グリッド ポむント前に移動するこずを意味したす。
(x, y) から真北にある正方圢が (x, y+1) であるず仮定したす。
入力
入力の最初の行はプラトヌの右䞊の座暙で、巊䞋の座暙は 0,0 であるず想定されたす。
入力の残りの郚分は、配備された探査機に関する情報です。 各ロヌバヌには XNUMX 系統の入力がありたす。 最初の行は探査機の䜍眮を瀺し、XNUMX 行目は探査機に高原の探玢方法を䌝える䞀連の指瀺です。 䜍眮は、x 座暙ず y 座暙および探査機の方向に察応する、スペヌスで区切られた XNUMX ぀の敎数ず XNUMX ぀の文字で構成されたす。
各探査機は順番に終了したす。぀たり、最初の探査機の移動が終了するたで XNUMX 番目の探査機は動き始めたせん。
OUTPUT
各探査機の出力は、最終的な座暙ず方䜍になりたす。
泚
䞊蚘の芁件を実装するだけで、単䜓テストを䜜成しお掃陀機が動䜜するこずを蚌明できたす。
あらゆる圢匏のナヌザヌ むンタヌフェむスの䜜成は範囲倖です。
TDD (テスト駆動開発) アプロヌチに埓っお問題を解決するこずが掚奚されたす。
限られた時間の䞭で、私たちは完成床よりも品質を重芖したす。
※私に送られた課題は数幎前に出された叀い課題のため投皿できたせん。 しかし信じおください、基本的にはすべおが同じたたです。

特に泚目したいのは評䟡基準です。 候補者にずっお重芁なこずが監査䞭にたったく重芁ではない、あるいはその逆の状況に䜕床遭遇したでしょうか。 誰もがあなたず同じように考えるわけではありたせんが、あなたの䟡倀芳が明確に述べられおいれば、倚くの人が受け入れお埓うこずができたす。 したがっお、評䟡基準から、この段階で最も重芁なスキルは次のずおりであるこずがすぐにわかりたす。

  • TDD;
  • OOP を䜿甚し、保守可胜なコヌドを䜜成する胜力。
  • ペアプログラミング胜力

そのため、その 1.5 時間を、コヌドを曞くのではなく、タスクをどのように実行するかを考えるこずに費やすように譊告されたした。 䞀緒にコヌドを曞いおいきたす。

私たちが電話に出るず、圌らは自分たちが誰で、䜕をしおいるのかを簡単に説明し、開発を始めるこずを申し出たした。

むンタビュヌ䞭、自分がむンタビュヌされおいるず感じたこずは䞀床もありたせんでした。 チヌムでコヌドを開発しおいるような感芚がありたす。 あなたがどこかで行き詰たった堎合、圌らは助け、アドバむスし、議論し、最善の方法に぀いおお互いに議論するこずさえありたす。 面接の際、メ゜ッドが䟋倖をスロヌするこずを JUnit 5 でチェックする方法を忘れおしたいたした。圌らはテストの䜜成を続けるず申し出たしたが、そのうちの XNUMX 人はその方法をグヌグルで調べおいたした。

文字通り、面接から数時間埌に、䜕が奜きで䜕が嫌いかずいう建蚭的なフィヌドバックを受け取りたした。 私の堎合、null オブゞェクトの代わりに Sealed クラスを䜿甚したこずで賞賛されたした。 コヌドを曞く前に、探査機をどのように制埡したいかを疑䌌コヌドで曞き、少なくずもロボットの API に関係するクラスのスケッチを受け取りたした。

ステップ 2: お知らせください

面接の 15 週間前に、興味のあるトピックに぀いおプレれンテヌションを準備するように蚀われたした。 圢匏はシンプルで銎染みがあり、15 分間のプレれンテヌション、XNUMX 分間の質問に回答したす。
私はUncle BobのClean Architectureを遞びたした。 そしおたた䜕人かの方からむンタビュヌを受けたした。 私にずっお英語でのプレれンテヌションは初めおの経隓でしたが、もしストレスの倚い状況に陥っおいたら、察凊できなかったかもしれたせん。 しかし、繰り返しになりたすが、私は䞀床も面接にいるずいう感芚を感じたこずはありたせんでした。 すべおはい぀も通りです - 私が圌らに蚀うず、圌らは泚意深く聞いおいたす。 埓来の質疑応答もむンタビュヌのようなものではなく、質問が「沈む」ためのものではなく、私のプレれンテヌションに本圓に興味を持ったものであるこずは明らかでした。

むンタビュヌの数時間埌、フィヌドバックを受け取りたした。プレれンテヌションは非垞に有益で、圌らは本圓に楜しそうに聞いおいたした。

ステヌゞ 3. 補造品質コヌド

これが技術面接の最終段階であるず譊告したため、私は自宅でコヌドを運甚準備が敎った状態にしおからレビュヌ甚にコヌドを送信し、タスクの芁件が倉曎され、コヌドが倉曎される面接のスケゞュヌルを蚭定するように求められたした。修正が必芁です。 今埌のこずを考えるず、コヌドレビュヌは盲目的に行われ、レビュヌ担圓者は候補者が応募しおいる圹職を知らず、履歎曞も名前も芋おいない、ず蚀えたす。

電話が鳎り、再びモニタヌの向こう偎に数人の男がいた。 すべおは最初の面接のずきず同じです。重芁なのは、TDD に぀いお忘れず、自分が䜕をしおいるのか、そしおその理由を䌝えるこずです。 これたで TDD を実践したこずがない堎合は、すぐに実践し始めるこずをお勧めしたす。䌁業で必芁だからではなく、生掻が倧幅に簡玠化され、必芁に応じおストレス レベルが軜枛されるからです。 ブラりザでのみ再珟でき、テストでは再珟できない゚ラヌをデバッガで必死に怜玢しなければならなかったのを芚えおいたすか? ここで、面接䞭にそのような間違いを芋぀けなければならないこずを想像しおください。癜髪が数本あるのは確実です。 TDD で䜕が埗られるのでしょうか? コヌドを倉曎したずころ、テストが赀色になっおいるこずに思いがけず気づきたしたが、最初は理解できない゚ラヌは䜕でしょうか? さお、面接官に「おっず」ず蚀い、Ctrl-Z を抌しお、少しず぀前に進み始めたす。 そしおそうです、自分の䞭で TDD を䜿甚しお開発する胜力、぀たり「リファクタリングがたくさんある」ため、テストが半日赀ではなく氞続的に緑になるように目暙に向かっお進む胜力を開発する必芁がありたす。 これは、保守可胜なコヌドを䜜成するスキルや、生産的なコヌドを䜜成するスキルずたったく同じです。

したがっお、コヌドをどれだけ適切に倉曎できるかは、最初にどのような蚭蚈を念頭に眮いおいるか、それがどれだけ単玔であるか、そしおテストがどれだけ優れおいるかによっお決たりたす。

面接埌、数時間以内にフィヌドバックを受け取りたした。 この段階で、私はほが終わりに近づいおおり、「ファりラヌに䌚う」たではほずんど残っおいないこずに気づきたした。

ステヌゞ4。最終。 技術的な質問は十分です。 私たちはあなたが誰なのか知りたいのです!

正盎に蚀うず、私はこの質問の定匏化に倚少困惑したした。 3時間の䌚話でどうやっお私がどんな人間なのか理解できるでしょうか そしおさらに、私が母囜語ではない、率盎に蚀っお非垞に䞋手で口の悪い蚀語を話しおいるのに、どうやっおこれが理解できるでしょうか。 以前のむンタビュヌでは、個人的には質問に答えるよりも話すほうが簡単で、アクセントのせいでした。 むンタビュアヌの少なくずも XNUMX 人はアゞア人でした。そしお、圌らのアクセントは、たあ、蚀っおおきたすが、ペヌロッパ人の耳に倚少特有のものでした。 したがっお、私は積極的なアプロヌチをずるこずにしたした。自分自身に぀いおのプレれンテヌションを準備し、面接の初めにこのプレれンテヌションで自分に぀いお話すこずを申し出たした。 もし圌らが同意すれば、少なくずも私ぞの質問は少なくなるでしょうし、もし圌らが申し出を拒吊したずしおも、私の人生の XNUMX 時間をプレれンテヌションに費やすのはそれほど高い倀段ではありたせん。 しかし、プレれンテヌションには䜕を曞けばよいのでしょうか? 略歎 - 圓時、そこで生たれ、孊校に通い、倧孊を卒業したした - しかし、誰が気にしたすか

Thoughtworks の文化に぀いお少し Google で怜玢するず、持続可胜なビゞネス、゜フトりェア ゚クセレンス、瀟䌚正矩の 3 ぀の柱に぀いお説明しおいる Martin Fowler による蚘事 [https://martinfowler.com/bliki/ThreePillars.html] が芋぀かりたす。

Software Excellence がすでにチェックされおいるず仮定したしょう。 持続可胜なビゞネスず瀟䌚正矩を瀺すこずはただ残っおいたす。

さらに、私は埌者に焊点を圓おるこずにしたした。

たず、私はなぜ ThoughtWorks なのかを圌に話したした。私は倧孊時代に Martin Fowler のブログを読んでいたので、クリヌン コヌドが倧奜きでした。

プロゞェクトをさたざたな角床から提瀺するこずもできたす。 圌はたた、患者の生掻を簡玠化する医療甚゜フトりェアを開発し、噂によるず 70 人の呜を救ったこずさえありたした。 私は銀行向けの゜フトりェアも開発したしたが、これにより囜民の生掻も楜になりたした。 この銀行が囜の人口の XNUMX% によっお利甚されおいる堎合は特にそうです。 これはズベルバンクに関するものではなく、さらにはロシアに関するものでもありたせん。

私のこずを知りたいですか わかりたした。 私の趣味は写真で、10幎ほどカメラを手にし続けおいるので、芋せおも恥ずかしくない写真がありたす。 たた、䞀時は猫の保護斜蚭を手䌝い、定䜏の地を必芁ずしおいる猫の写真を撮りたした。 そしお、良い写真があれば、猫を配眮するのがはるかに簡単になりたす。 おそらくXNUMX匹の猫の写真を撮りたした:)

結局、私のプレれンテヌションの80割は猫で埋め尜くされたした。

プレれンテヌションの盎埌、人事は面接の結果はただ知らないず私に手玙をくれたしたが、オフィス党䜓はすでに猫に感銘を受けおいたした。

最終的に、私はフィヌドバックを埅ちたした - 私は人ずしお党員を満足させたした。

しかし、最埌の䌚話の䞭で、人事担圓者は、瀟䌚正矩は非垞に優れおおり、必芁であるが、すべおのプロゞェクトがこのようなわけではない、ず機転を利かせお蚀いたした。 そしお圌はそれが私に怖かったかず尋ねたした。 䞀般的に、私は瀟䌚正矩を少しやりすぎたした、それは起こりたす:)

合蚈

その結果、私はシンガポヌルの Thoughtworks で数か月間働いおいたすが、ここでは Spring よりも知識が豊富であるにもかかわらず、あたりにも倚くの䌁業が Google の「ベスト むンタビュヌ プラクティス」を採甚し、コヌディングにリヌフずホワむトボヌドを䜿甚しおいるこずがわかりたした。 Symfony、RubyOnRails必芁なものに䞋線は䜜業䞊䞍芁です。 ゚ンゞニアは面接前に「準備」のために XNUMX 週​​間の䌑暇を取りたす。

Thoughtworksでは、候補者に察する適切な芁件に加えお、次の原則を最優先にしおいたす。
むンタビュヌの喜び。 しかも䞡面甚。 実際、最高の人材を獲埗したいのであればそうでない人がいるでしょうか、面接は奎隷を遞ぶ垂堎ではなく、雇甚䞻ず候補者の䞡方がお互いを評䟡するショヌです。 そしお、候補者がある䌁業に察しお楜しい感情を関連付けおいる堎合、その䌁業を遞択する可胜性が高くなりたす。

偏芋を軜枛するために耇数の面接官を配眮したす。 Thoughtworksでは、ペアプログラミングが事実䞊の暙準ずなっおいたす。 そしお、この実践が他の分野にも適甚できるのであれば、TW はそうしようずしたす。 面接は各段階2名ず぀で行われたす。 したがっお、各人物は少なくずも 8 人によっお評䟡され、TW は異なる背景、異なる方向性 (技術者に限らず)、性別を持぀面接官を遞択しようずしたす。

最終的に採甚決定は少なくずも8人の意芋に基づいお行われ、誰もキャスティングボヌトを持たない。

属性に基づく採甚 候補者の奜き嫌いに基づいお決定を䞋すのではなく、評䟡される属性を含むフォヌムが各圹割および各段階ごずに開発されたす。 同時に、評䟡する際には、特定のスキルの経隓ではなく、それを適甚する胜力を評䟡するこずを匷くお勧めしたす。 したがっお、候補者が TDD などのスキルを適甚できなかったずしおも、それらを適甚しようずし、それらを正しく䜿甚する方法に぀いおのアドバむスに耳を傟けた堎合、面接に合栌する可胜性は十分にありたす。

孊歎蚌明曞は䞍芁です TW では、コンピュヌタヌ サむ゚ンスの資栌や教育は必芁ありたせん。 スキルのみが評䟡されたす。

準備をする必芁がなかった倖資系䌁業ずの面接はこれが初めおです。 各ステヌゞが終わっおも疲れは感じたせんでしたが、逆に、ベストプラクティスを実践するこずができお、モニタヌの向こうにいる人たちがそれを評䟡し、毎日実践しおくれおいるこずが嬉しかったです。

数か月埌、私の期埅は完党に満たされたず蚀えたす。 ThoughtWorksは普通の䌚瀟ずどう違うのですか 普通の䌚瀟では優秀な開発者や良い人材を芋぀けるこずができたすが、TW では圌らの集䞭力が桁倖れです。

ThoughtWorksぞの参加に興味がある堎合は、募集䞭のポゞションをご芧ください。 ここで
興味深い求人にも泚目するこずをお勧めしたす。
リヌド゜フトりェア゚ンゞニア: ドむツ, ロンドン, マドリヌド, シンガポヌル
シニア ゜フトりェア ゚ンゞニア: シドニヌ, ドむツ, マンチェスタヌ, バンコク
゜フトりェア゚ンゞニア シドニヌ, バルセロナ, ミラノ
シニア デヌタ ゚ンゞニア: ミラノ
品質アナリスト: ドむツ 䞭囜
むンフラストラクチャヌ ドむツ, ロンドン, チリ
リンクは玹介リンクであるこずを正盎に譊告したいず思いたす。TWにアクセスするず、玠敵なボヌナスがもらえたす。 奜きなオフィスを遞択しおください。ペヌロッパに限定する必芁はありたせん。結局のずころ、TW は 2 幎ごずに喜んで他の囜に異動させおいただきたす。なぜなら... これは ThoughtWorks のポリシヌの䞀郚であるため、文化が広がり、均質化されたす。

コメントで質問したり、掚奚事項を聞いたりしおください。
このトピックが面癜そうだったら、ThoughtWorks で働くのがどのようなものなのか、シンガポヌルでの生掻はどのようなものなのかに぀いお曞きたす。

出所 habr.com

コメントを远加したす