Comment choisir un ingénieur logiciel d'application Web?
La position (permanente) consiste à réécrire le client d'une application serveur client de bureau existante. Les pages ne seront pas générées dynamiquement sur un serveur, mais le serveur exposera une API complète de la manière nécessaire, par exemple des appels JSON RPC, et peut rendre des fichiers statiques disponibles. Il remplacera un client que les gens doivent télécharger et installer, donc avoir besoin d'un navigateur décent avec des paramètres raisonnables (par exemple JavaScript activé) est très bien. Presque tous les cas d'utilisation sont pour un PC de bureau. Il ne sera pas accessible aux moteurs de recherche (il s'agit d'une application d'entreprise).
Nous pouvons aller jusqu'à écrire le tout sur une seule page, mais ce n'est pas obligatoire. Il serait à peu près tout écrit par l'ingénieur logiciel d'application Web en question. Les bibliothèques open source exactes à utiliser dépendent également de l'ingénieur, dans des limites raisonnables.
Je recherche spécifiquement des conseils sur les qualifications à rechercher / vérifier dans un entretien, car le choix d'un ingénieur logiciel d'application web en général est un sujet trop large.
Modifier - La position serait purement de la programmation JavaScript dans le navigateur (et serait responsable du HTML et du CSS) - d'autres développeurs développeraient le serveur mais cette position pourrait demander des façades sur l'API. Il n'y a pas de Ruby, ASP, JSP, etc. parce que la couche de serveur Web est très mince et traduit simplement les appels à l'API de la couche métier et les renvoie en JSON (ou autre chose, mais JSON semble plus simple).
Réponses:
En tant que développeur Web qui travaille principalement sur des applications d'entreprise traitant des systèmes hérités, je peux offrir quelques suggestions sur ce qui me fait réussir, et j'espère que cela aidera.
Je ne sais pas si vous cherchez une situation temporaire / de conseil pour vous fournir une application, ou un ETP pour développer et maintenir ce long terme, mais ceux-ci devraient s'appliquer dans les deux cas, je pense.
Juste quelques réflexions sur mon expérience dans les tranchées, mais si mon département recrutait un nouveau développeur, c'est ce que je lui dirais de rechercher.
Je souhaite que mon département ait le budget pour un autre développeur ...
la source
Remarque: C'est tout simplement mon avis, alors ne jetez pas l'évier de la cuisine sur moi;)
Je pense que vous collez les noms de deux positions distinctement différentes (ce qui peut être un peu déroutant).
Ingénieur logiciel : Un ingénieur. Celui qui est capable de résoudre des problèmes abstraits qui ne sont pas nécessairement liés à une plate-forme spécifique. Connaissance approfondie des modèles de conception, des algorithmes (à la fois des algorithmes connus ainsi que de la conception et de l'analyse d'algorithmes), de la force en algèbre linéaire et peut-être du calcul. Lors de l'embauche d'un ingénieur logiciel dans le passé, je ne m'inquiétais pas autant de leurs connaissances spécifiques du domaine que de leur capacité à résoudre des problèmes complexes.
Développeur d'applications Web : Quelqu'un qui connaît les tenants et les aboutissants de la création d'applications Web. Comprend les architectures côté serveur et côté client et comment communiquer efficacement entre les deux. Connaît les normes W3C, à la fois terminées et WIP. Comprend comment fonctionnent les bases de données et comment les optimiser si nécessaire (optimisation des requêtes, mise en cache des bases de données, indexation, etc.). Comprendre également différents mécanismes de mise en cache et d'autres façons d'optimiser leurs applications. Comprend également les conventions sémantiques.
Il y a probablement quelques éléments qui me manquent et que je pourrais compléter en y réfléchissant.
D'après la description de ce que vous recherchez, il me semble que vous ne cherchez pas du tout un ingénieur logiciel; vous recherchez un développeur d'application web.
Donc, la première chose que je ferais serait de préciser qui vous recherchez et quelle expertise vous attendez d'un candidat. Cela pourrait vous aider un peu.
la source