¿Cómo debo elegir un ingeniero de software de aplicaciones web?
La posición (permanente) es reescribir el cliente de una aplicación de servidor cliente de escritorio existente. Las páginas no se generarán dinámicamente en un servidor, pero el servidor expondrá una API completa de la forma que sea necesaria, por ejemplo, llamadas JSON RPC, y puede hacer que los archivos estáticos estén disponibles. Reemplazará un cliente que la gente tiene que descargar e instalar, por lo que está bien requerir un navegador decente con configuraciones razonables (por ejemplo, JavaScript habilitado). Casi todos los casos de uso son para una PC de escritorio. No será accesible para los motores de búsqueda (es una aplicación empresarial).
Podemos llegar a escribir todo en una sola página, pero no es necesario. Casi todo sería escrito por el ingeniero de software de la aplicación web en cuestión. Las bibliotecas exactas de código abierto para usar también dependen del ingeniero, dentro de lo razonable.
Estoy buscando específicamente consejos sobre qué calificaciones buscar / verificar en una entrevista, ya que elegir un ingeniero de software de aplicaciones web en general es un tema demasiado amplio.
Editar: la posición sería puramente programación de JavaScript en el navegador (y sería responsable de HTML y CSS); otros desarrolladores desarrollarían el servidor, pero esta posición podría solicitar fachadas a través de la API. No hay Ruby, ASP, JSP, etc. porque la capa del servidor web es muy delgada y solo traduce las llamadas a la API de la capa empresarial y las devuelve como JSON (o lo que sea, pero JSON parece más fácil).
Respuestas:
Como desarrollador web que trabaja principalmente en aplicaciones empresariales que se ocupan de sistemas heredados, puedo ofrecer algunas sugerencias sobre lo que me hace exitoso, y espero que eso ayude.
No estoy seguro de si está buscando una situación temporal / de consultoría para proporcionarle una aplicación, o un FTE para desarrollar y mantener esto a largo plazo, pero creo que esto debería aplicarse en cualquier caso.
Solo algunas reflexiones de mi experiencia en las trincheras, pero si mi departamento contratara un nuevo desarrollador, esto es lo que les diría que buscaran.
Desearía que mi departamento tuviera el presupuesto para otro desarrollador ...
fuente
Nota: Esta es simplemente mi opinión, así que no me tires el fregadero de la cocina;)
Creo que estás mezclando los nombres de dos posiciones claramente diferentes (lo que puede ser un poco confuso).
Ingeniero de software : un ingeniero. Uno que es fuerte en la resolución de problemas abstractos que no están necesariamente vinculados a ninguna plataforma específica. Conocimiento sólido de patrones de diseño, algoritmos (tanto algoritmos conocidos como diseño y análisis de algoritmos), cierta fortaleza en álgebra lineal y tal vez algún cálculo. Al contratar a un ingeniero de software en el pasado, no me preocupaba tanto su conocimiento de dominio específico como su capacidad para resolver problemas complejos.
Desarrollador de aplicaciones web : alguien que conoce los entresijos de la creación de aplicaciones web. Comprende las arquitecturas del servidor frente al cliente y cómo comunicarse efectivamente entre los dos. Está familiarizado con los estándares W3C, tanto los completados como los estados WIP. Comprende cómo funcionan las bases de datos y cómo optimizarlas cuando sea necesario (optimización de consultas, almacenamiento en caché de bases de datos, indexación, etc.). También comprenda los diferentes mecanismos de almacenamiento en caché y otras formas de optimizar sus aplicaciones. También comprende las convenciones semánticas.
Probablemente hay algunas cosas que me faltan y que podría completar mientras pienso en ellas.
Por la descripción de lo que está buscando, me parece que no está buscando un ingeniero de software; Estás buscando un desarrollador de aplicaciones web.
Entonces, lo primero que haría es reducir a quién está buscando y qué experiencia espera de un candidato. Podría ayudarte un poco.
fuente