私は5年以上C++バックエンドの大規模アプリに取り組んできました。私はTDDを行っており、STLやBoostなどを使用しています。変更が必要だと判断し、約1年前にRubyの学習を始め、数か月前にRails、HTML5、CSSで遊んだ。私はまだJavaScriptを知りませんが、Railsに焦点を当てています。
Ruby on Rails backend developer job)のインタビューで何を期待できますか?C++の経験を活用するためにどのように自分自身を提示できますか?私は今は上級レベルなので、インターンから始めることはできません。
私はC++が本当に上手だと思います。Schemeもいくつか知っています。PythonとかなりのRubyです。小さなRailsアプリの準備ができています応募を開始する前に公開された1つのシンプルなGemと、かなりの数の個人的なC++プロジェクト。電気工学の学士号を取得しており、2011年6月にCSの修士号を取得しています。
新しい言語での専門的な仕事についてあなたにインタビューしている場合、私はいくつかのことに焦点を当てます。
あなたの経験はどれくらい広いですか? C++以外にどの言語を使用しましたか?
C++をどれだけ知っていますか? 1年以上C++でプログラミングしている場合は、C++についてかなりしっかりと理解していると思います。これは、RubyとWebプログラミングを本当に学ぶ意欲があるかどうかを教えてくれます。
Ruby on RailsポジションRubyまたはWeb開発の経験がない)についてもインタビューしました。ポジションを取得するには、私はすでに知っている多種多様な言語と、私が生産的であった多様なドメインに焦点を当てました。私は非常に良い割合で仕事を得て、週末にRubyおよびRailsで読み続けました。1か月後、プロジェクトの8人の開発者の中で、Ruby、Rails、Javascriptの専門家であることがわかりました。他の人たちは最低限のことを学び、基本的に、J2EEソリューションを非常に醜いRailsアプリケーションに変換します。
Joel Spolskyによる有名な記事で、就職の面接で彼が探しているのは "Smart and Gets Things Done" -であり、面接担当者は、その他のテクノロジー。
記事自体には、より具体的な詳細が含まれています。
あなたは学ぶ能力を示す必要があります
他の人が正しく言ったように、「高度な初心者」段階を超えて決して進歩しない平凡なプログラマーは非常にたくさんいます(詳細は Dreyfusモデル を参照してください)。
あなたの恐怖は、あなたがRubyとRails)の専門家でない場合、あなたは初心者として支払われるということのようです。それはそうではありません-少なくとも賢明なソフトウェアハウスではありません。会社が賢明であると仮定すると、彼らはあなたの既存のプログラミングスキルを考慮に入れ、あなたが彼らの環境でどれだけ速くあなたがスピードを上げることができるかを知りたいでしょう。それから彼らはあなたが彼らにとって潜在的に価値があることをすでに確立しました。
したがって、必要なのは、新しいフレームワークを短期間で取得できることを示すことです。 C++の作業の過程でSTL、Boost、およびその他のトリッキーなAPIとフレームワークのホストを選択したので、すでにこれらのスキルを持っています。 RubyおよびRailsのようなもので問題が発生すると思います。
Webアプリケーションのサーバー側で作業することを目的としているので、次のことを理解しておくことをお勧めします(これはすでに知っているかもしれませんが、確認するのが最善です)。
要するに、心配する必要はありませんが、自分自身をタスクに適用してください。
私はあなたがあなたがウェブ開発をよく理解していることを示すべきだと思います。 C++の背景があれば、デスクトップまたはサーバーアプリケーションの開発に長けていると思います。ただし、Web開発では、HTML、Javascript、およびユーザー入力のサニタイズや一般的なユーザーインタラクションなどのWeb開発の他の概念などを理解する必要があります。
Rubyでのプログラミング方法を理解するのに問題はないと思いますが、優れたWebアプリケーションを記述できることは、優れたシステムアプリケーションを記述することとは異なります。
まず、あなたが思っているよりも近くにいるように聞こえます。確かなRuby更新との経験は、自分自身を提示する良い出発点です。
特定のスキルを習得するよりも、能力と経験を提示する方がよいことを覚えておいてください。
スキルは能力のある人が学ぶことができます。
あなたが述べた環境でC++を使用すると、Rubyよりも低いレベルを十分に理解できるため、おそらく利点があります。 TDD、STL、およびBoostはすべて言及するのに適したものです。
能力は経験やスキルよりも望ましいです。これはあなたが伝える必要があるものです。
Ruby on Rails就職の面接で何を期待できますか?
もちろん、それは会社とプロジェクトに依存します。あなたはおそらくActiveRecordに精通しているはずです。これはRailsの最高峰の1つです。また、MVCパターンと、Railsがそれらを使用する方法、つまり、モデル、ビュー、およびコントローラーをブラッシュアップします。Railsルートの上部またはそれといくつかの展開戦略(カピストラーノ)とあなたは生き残るかもしれません!
Macも導入すると、Ruby/Rails開発者のように見えます(jk)
Rails開発者を雇っていて、彼/彼女がRailsを初めて使う人なら、私は彼/彼女の知識を知りたいです:
OPの特定のケースでは、多分いくつかの追加の質問:
私の0.02だけ
Ruby and Rails-RSpecとCucumberが適切な選択です。TDDをC++は良い出発点です。
少なくともHTTPとCSSの基本を学んでください。完全な第一人者である必要はありませんが、小さな変更を加えることができる必要があります。 W3Schools は素晴らしいサイトです。午後もかかりません。
既存の経験を最大限に活用するには、プログラミングに関するものではないソフトウェア開発の側面に集中してください。チームの他のメンバーとどのようにやり取りしましたか?誰かをメンターしましたか?テスターと協力してバグを修正しましたか?プロジェクトマネージャーがあなたがしている仕事を促進するのを助けましたか?新しいマシンのインフラストラクチャと交渉しましたか?これらの相互作用は、プログラマーが関与することができる最も困難なものの一部です-人間は常に合理的に振る舞うわけではないためです-そして、それを体験することは、単に言語を知ることよりも価値があります。
私はあなたが何らかのRuby達人であることを証明することに焦点を当てません。彼らはあなたの履歴書を読んでおり、明らかにあなたがその仕事をする能力があると信じています(したがってインタビュー))。
最悪の場合、彼らはあなたを騙してあなたをだまそうとするためにあなたに質問をするかもしれません。 C++は多重継承をサポートし、Rubyは単一継承のみをサポートします。おそらくそれが要因である可能性があるいくつかのシナリオです。それが私があなたをつまずかせると思う唯一の方法です。
ホワイトボードにRubyコードを書く練習をします。JavaScriptの簡単なことを理解してください(ブラウザで実行されるクライアント側の言語など)。JavaScriptのHTMLフォーム検証チュートリアルをご覧ください。 JavaScriptでは何もしていません。
幸運を!