Webアプリケーションソフトウェアエンジニアを選ぶにはどうすればよいですか?
(永続的な)位置は、既存のデスクトップクライアントサーバーアプリケーションのクライアントを書き換えることです。ページはサーバー上で動的に生成されませんが、サーバーは必要な方法(JSON RPC呼び出しなど)で完全なAPIを公開し、静的ファイルを利用できるようにします。それは人々がダウンロードしてインストールしなければならないクライアントに取って代わるので、妥当な設定(例えばJavaScriptが有効)を備えたまともなブラウザを要求することは問題ありません。ほとんどすべてのユースケースはデスクトップPCです。検索エンジンはアクセスできません(エンタープライズアプリケーションです)。
すべてを1つのページに書き込むことができますが、そうする必要はありません。問題のWebアプリケーションソフトウェアエンジニアが作成するものはほとんどすべてです。使用する正確なオープンソースライブラリも、エンジニアの責任です。
一般的にWebアプリケーションソフトウェアエンジニアを選ぶのはトピックが広すぎるので、インタビューでどのような資格を確認/検証するかについてのアドバイスを具体的に探しています。
編集-位置は純粋にブラウザー内のJavaScriptプログラミング(およびHTMLとCSSの責任)です-他の開発者はサーバーを開発しますが、この位置はAPIを介してファサードを要求する可能性があります。 Ruby、ASP、JSPなどはありません。Webサーバーレイヤーは非常に薄く、呼び出しをビジネスレイヤーAPIに変換し、JSON(または何でも、JSONが最も簡単に見える)として返すだけだからです。
レガシーシステムを扱うエンタープライズアプリを主に扱うWeb開発者として、私が成功する理由についていくつかの提案を提供できます。
1つのアプリを提供するための一時的な/コンサルタントの状況を探しているのか、この長期を開発および維持するためのFTEを探しているのかはわかりませんが、どちらの場合にも当てはまるはずです。
私の塹壕での経験からのいくつかの考えだけですが、私の部署が新しい開発者を雇っていた場合、これは私が彼らに探すように言うでしょう。
私の部門に別の開発者の予算があったらいいのに...
注:これは単に私の意見なので、台所の流し台を私に投げないでください;)
あなたは2つの明確に異なるポジションの名前を変更していると思います(これは少し混乱する可能性があります)。
ソフトウェアエンジニア:エンジニア。特定のプラットフォームに必ずしも関連付けられていない抽象的な問題の解決に長けている人。設計パターン、アルゴリズム(既知のアルゴリズムとアルゴリズムの設計および分析の両方)、線形代数、および計算の強みに関する深い知識。過去にソフトウェアエンジニアを雇ったとき、私は彼らの特定のドメインの知識については、複雑な問題を解決する能力ほど心配していませんでした。
Webアプリケーション開発者:Webアプリケーションの構築に関する知識を持っている人。サーバーサイドアーキテクチャとクライアントサイドアーキテクチャ、および2つのアーキテクチャを効果的に通信する方法を理解します。完了状態とWIP状態の両方のW3C標準に精通している。データベースの動作と、必要な場合に最適化する方法(クエリの最適化、データベースのキャッシュ、インデックス作成など)を理解します。また、キャッシュのさまざまなメカニズムや、アプリケーションを最適化するその他の方法についても理解します。また、意味規則も理解しています。
おそらく私が見逃しているいくつかのことがあり、私はそれらについて考えるときに記入するかもしれません。
あなたが探しているものの説明から、ソフトウェアエンジニアをまったく探していないように思えます。あなたはウェブアプリケーション開発者を探しています。
だから、私が最初にすることは、あなたが探しているのは誰か、そして候補者にどのような専門知識を期待しているのかを絞り込むことです。かなり役立つかもしれません。