Webアプリケーションソフトウェアエンジニアの選び方 [閉まっている]


10

Webアプリケーションソフトウェアエンジニアを選ぶにはどうすればよいですか?

(永続的な)位置は、既存のデスクトップクライアントサーバーアプリケーションのクライアントを書き換えることです。ページはサーバー上で動的に生成されませんが、サーバーは、JSON RPC呼び出しなど、必要な方法で完全なAPIを公開し、静的ファイルを使用可能にすることができます。それは人々がダウンロードしてインストールしなければならないクライアントに取って代わるので、妥当な設定(例えばJavaScriptが有効)を備えたまともなブラウザを要求することは問題ありません。ほとんどすべての使用例はデスクトップPCです。これは検索エンジンからアクセスできなくなります(エンタープライズアプリケーションです)。

すべてを1つのページに書き込むことができますが、そうする必要はありません。問題のWebアプリケーションソフトウェアエンジニアによってほとんどすべて記述されます。使用する正確なオープンソースライブラリも、エンジニアの責任です。

一般的にWebアプリケーションソフトウェアエンジニアを選ぶのはトピックが広すぎるので、面接でどのような資格を探して検証するかについてのアドバイスを具体的に探しています。

編集-位置は純粋にブラウザー内のJavaScriptプログラミング(およびHTMLとCSSの責任)です-他の開発者はサーバーを開発しますが、この位置はAPIを介してファサードを要求する可能性があります。Ruby、ASP、JSPなどはありません。これは、Webサーバーレイヤーが非常に薄く、呼び出しをビジネスレイヤーAPIに変換してJSON(または何でも、ただしJSONが最も簡単に見える)として返すだけだからです。


FYI-これは、programmers.stackexchange.com / questions / 105114 /…の複製ではありません。これは、eコマースサイトにかなり特有であり、重要な質問は「自分で持っているか、それともまたは2つのパートナーが製品を市場に投入したことがありますか?それが成功したか失敗したかは気にしませんが、それについて教えてください。」
psr 2011

リンクされている質問のタイトルを修正しました。質問が非常に具体的であるためです。残念ながら、これはそうではありません。以下からのよくある質問あなたの質問は、合理的にスコープされなければなりません。あなたの質問に答える本全体を想像できるなら、あなたはあまりにも多くを求めています。
Robert Harvey

このケースに限定すると、通常は役に立ちませんか?
psr 2011

あなたの最も差し迫った懸念は何ですか?その人のCVに対するTLAが何であるかについて過度に心配しないでください。あなたが説明した立場に基づいて、彼らは問題解決者である必要があり、CRUDアプリの構築以上のものを理解している、少々雑貨のようなものである必要があります。彼らがこれらの資質を持っている場合、彼らはあなたが彼らに投げかける技術特有の問題を処理することができます。また、これが継続的、フルタイムのポジションであるか、一時的な契約であるかにも依存します。
Robert Harvey

本当に、Webアプリケーションソフトウェアエンジニアを雇う方法。具体的には、面接でどのような資格を探す/テストする必要があると思います
psr

回答:


2

レガシーシステムを扱うエンタープライズアプリに主に取り組んでいるWeb開発者として、私が成功する理由についていくつかの提案を提供できます。

1つのアプリを提供するための一時的な/コンサルタントの状況を探しているのか、この長期を開発および維持するためのFTEを探しているのかはわかりませんが、どちらの場合にも当てはまるはずです。

  • 私は主にRubyを使用しています。これにより、ラピッドプロトタイピングが非常に高速かつ簡単になり、Railsでは新しいプロジェクトのブートストラップが簡単になります。現在、私はあなたの環境がどのようなものか、言語、プラットフォーム、ツールに関する制度上の義務があるかどうかはわかりませんが、DSLの作成を処理する現代的で柔軟な言語/フレームワークに熟練した開発者を雇うことができれば外部APIは比較的速くて簡単です、それはプラスです。基本的に、Lisp-natureを使用する言語は、この点で優れています。また、一般的な抽象化に対処するために、オープンソースライブラリの優れたエコシステムを備えた言語に熟練した人を雇うことも必要です。
  • レガシーシステムを扱い、その特異性を抽象化することに慣れている人を見つけることができる場合、それはまれであり、探索する必要があります。ほとんどの開発者は、プロジェクトをゼロから構築する(または既存のプロジェクトを維持するために導入される)ために使用され、何か新しいものを構築して古いものとインターフェースするには、スキルセット自体ではなく、アプローチが必要です。
  • 「サーバーは必要な方法でAPIを公開する」と言った場合、どちらかと言えばあいまいですが、サーバーにAPIを実装できる既存の開発者がいると思いますか?APIを指定するためにこれらの開発者と協力することを含む立場であることを明確にします。必要な相互作用のタイプの例を挙げて、それを実装する方法についての最初の考えを候補者に尋ねることができれば、それは告げるかもしれません。あなたの当初の考えはJSON RPCであったという事実は、あなたが正しい方向に傾いていることを示していると思うので、複雑なXMLとXSLTの相互作用のビジョンを持っている人には注意してください。
  • まともなブラウザのJavaScriptサポートを期待できる場合は、Backbone.js、JavaScriptMVCなどのJSフレームワークの経験者を探してください。この場合、アプリ全体を(基本的に)ブラウザ内で実行し、Node.jsなどで提供することができます。 ...だから、良いJS開発者の方を見てください。彼らがJSをCoffeeScriptで書くことを好むと彼らが言うなら、彼らはおそらくさらに優れたJS開発者です。

私の塹壕での経験からのいくつかの考えだけですが、私の部署が新しい開発者を雇っていたなら、これは私が彼らに探すように言うでしょう。

私の部門に別の開発者の予算があったらいいのに...


サーバーが存在し、他の開発者(新しい開発者以外)がAPIを実現します。この開発者は特定のファサードを要求することができますが、レガシーシステムに触れたり、特異性の責任を負ったりすることはありません。動的に生成されたページがないため、Rubyはありません。この開発者は、ブラウザー内での純粋なJavaScriptコーディングになります(HTMLとCSSにも責任があります)。最終的に別の開発者を雇わない場合は、実際にはJSON RPCを使用してBackbone.jsで自分で行うので、少し検証してくれてありがとう。
psr

1

注:これは単に私の意見なので、台所の流し台を私に向けないでください;)

あなたは2つの明確に異なるポジションの名前を変更していると思います(これは少し混乱する可能性があります)。

ソフトウェアエンジニア:エンジニア。特定のプラットフォームに必ずしも関連付けられていない抽象的な問題の解決に長けている人。設計パターン、アルゴリズム(既知のアルゴリズムおよびアルゴリズムの設計と分析の両方)、線形代数、および計算の強みに関する深い知識。過去にソフトウェアエンジニアを雇ったとき、私は彼らの特定のドメインの知識について、複雑な問題を解決する能力ほど心配していませんでした。

Webアプリケーション開発者Webアプリケーションの作成の詳細を知っている人。サーバー側とクライアント側のアーキテクチャ、および2つの間の効果的な通信方法について理解します。完了状態とWIP状態の両方のW3C標準に精通している。データベースがどのように機能するか、および必要に応じて最適化する方法(クエリの最適化、データベースのキャッシュ、インデックス作成など)を理解します。また、キャッシュのさまざまなメカニズムや、アプリケーションを最適化するその他の方法についても理解します。また、意味規則も理解しています。

おそらく私が見逃しているいくつかのことがあり、私はそれらについて考えるときに記入するかもしれません。

あなたが探しているものの説明から、ソフトウェアエンジニアをまったく探していないように思えます。あなたはウェブアプリケーション開発者を探しています。

だから、私が最初にすることは、あなたが探している人と、あなたが候補者に期待している専門知識を絞り込むことです。かなり役立つかもしれません。


programmers.stackexchange.com/questions/45681/…を参照してください-Webアプリケーション開発者向けの求人要件を記述します。それが名前の由来です。(すでに述べたように)Webアプリケーションの開発者に純粋にブラウザー側で作業してもらいたい。したがって、関連するDBはありません。ソフトウェアエンジニアリングのスキルがあります。
psr 2011

本当に?あなたは誰かがデータベースとサーバー側のものを理解しないウェブシステムで働いていることを望みますか?ええ。
Demian Brecht、

言うまでもありません。クライアント側のWebアプリ開発者が、ツリーの幅を最初にトラバースする方法や、特定のアルゴリズムまたは実装の最悪の場合の実行時間を判断する方法など、これを知る必要があることはそれほど頻繁ではありません。暗号システム。ただ言って。そうは言っても、もしあなたがグーグルやアマゾンを雇っているなら、私はその発言を撤回するかもしれません。
Demian Brecht
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.