2010-08-16 14 views
12

Como desarrollador de ASP.NET con más de 5 años de experiencia. Me gusta medir mi nivel de competencia en ASP.NET & SQL Server. Básicamente mi objetivo es aumentar mi nivel de competencia y el conjunto de habilidades en ASP.NET; antes de que necesito saber cuál es mi nivel actual teniendo en cuenta ASP.NET y tecnologías relacionadas ...¿Cómo puedo medir mi nivel de competencia o conjunto de habilidades en ASP.NET?

así, proporcionen algunos consejos ...

  • es que hay ningún conjunto de habilidades de medición de prueba o examen, que cuenta experiencia y tecnología?
  • ¿Cómo mides tu o las habilidades o competencias de tus desarrolladores junior?
+2

Esta pregunta es un buen candidato para la wiki de la comunidad - el cuidado para que así sea? – Oded

+0

¿Está interesado en ASP.NET 4, ASP.NET MVC, por ejemplo? Hay muchas tecnologías diferentes, es posible que desee restringir su pregunta. –

+0

@James Black - Estoy buscando para cubrir los conceptos básicos de ASP.NET, y luego las versiones específicas ASP.NET 3.5 y 4. De manera similar, SQL Basics y versiones específicas de 2005 y 2008. – CoderHawk

Respuesta

2

Supongo que podría repetir algunos exámenes, como los exámenes MCP o BrainBench, pero hay que pagar mucho dinero por ellos.

Si realmente se vendiera al hacer un examen para evaluar su competencia, podría obtener una de las guías de preparación de exámenes de MCP para ASP.NET, C# y SQL Server y ver qué tan bien comprende y asimila ese material . Sin embargo, no estoy seguro de que sea la forma más precisa de medir la competencia.

Puede obtener una buena evaluación cualitativa de sus habilidades de SQL Server simplemente leyendo Itzik's o Kalen's libros y viendo cómo los comprende. Para .NET, lea Richter y críticamente evalúe usted mismo contra los conceptos que encuentre en ese libro. ¿Tienen esos conceptos sentido?

Probablemente la forma más valiosa de obtener comentarios es pedirles a sus desarrolladores sénior una evaluación sincera de sus habilidades.

Si me preguntas cómo evalúo a mis desarrolladores junior, es bastante fácil una vez que veo su código y obtienen una trayectoria durante unos meses, pero no creo que el análisis cuantitativo sea la mejor manera. En su lugar, hago preguntas como:

  • ¿Pueden entregar?
  • ¿Están escribiendo good code?
  • ¿Están tomando la iniciativa para aprender más?
  • ¿Qué han traído a la mesa?
  • ¿Entienden el ciclo de vida de desarrollo de software?
  • ¿Rompen las compilaciones?
  • ¿Son buenos jugadores de equipo o codifican en soledad?
  • ¿Hacen sugerencias?
  • ¿Están abiertos a las sugerencias de los demás?
  • ¿Sus decisiones de diseño tienen sentido para los proyectos en los que han estado?

Pregúntese cómo sus líderes responderían estas preguntas sobre usted. Si está realmente seguro de que responderá positivamente, le será más fácil "calificarse".

+0

gracias señalando el servidor sql y .net libros.Creo que las preguntas que mencionas son demasiado genéricas, y no están pensadas para una tecnología específica, es decir, ASP.NET o SQL Server, pero vale la pena cuando evaluamos a un buen jugador de equipo o empleado. – CoderHawk

1

Honestamente, es todo relativo. He trabajado en equipos donde los desarrolladores junior de un equipo superan a los desarrolladores senior del otro equipo en todos los sentidos. Diferentes entornos van a valorar diferentes conjuntos de habilidades de diferentes maneras.

En cuanto a una "prueba" de sus habilidades, una muy útil sería justo aquí en StackOverflow. Busque las preguntas .NET, intente responderlas. A los que no puedes responder, aprende de aquellos que sí los responden. Enjuague, repita. No es muy estructurado, pero definitivamente puede ser útil.

También es bueno seguir some of the major blogs y ver si puede mantenerse al día con lo que están hablando e intentar implementarlo en proyectos personales solo para aprender y practicar.

La única manera de medir realmente su nivel de habilidad es empujarlo hacia adelante. Encuentra cosas que no entiendes completamente y aprende. Un desarrollador verdaderamente experto nunca es un experto, sino más bien un experto que ayer.

+0

sí, es relativo; pero, creo que habrá algún tipo de marca de banco, desde donde podemos actualizar las habilidades necesarias? – CoderHawk

+0

@Sandy: Quizás, pero incluso esos puntos de referencia serán relativos también. Tal vez pueda pasar algunas pruebas, calificar para algunos certs, etc. Pero esas son más acerca de las compañías de prueba/certificación que intentan venderle a usted (oa su empleador, etc.) algo. Un punto de referencia implica algo que alcanzar, y en general soy de la opinión de que el dominio de una nave es un viaje, no un destino. – David

+0

Estoy de acuerdo, soy un MCPD; pero, no me parece la forma correcta o completa de evaluación comparativa. Estoy buscando algo así como: un control de calidad en el que las preguntas se basan en experiencia relevante en tecnología específica y el resultado indicará en qué campos debemos concentrarnos en el futuro ... – CoderHawk

1

Cuando se le preguntó sobre líneas similares, lo leí de alguien aquí en la SO que

he will try to answer the questions on SO. 

Permítanme parafrasear que,

voy a tratar de medir mi rendimiento con preguntas y respuestas de alguien.

Habiendo dicho que no voy a comparar mi competencia con el conocimiento colectivo aquí en SO.

+0

@Srinivas - gracias, pero estoy buscando la manera más efectiva y más corta de calificar; La medición basada en el control de calidad parece ser relativa a la persona que pregunta y a la persona que mide. – CoderHawk

1

Esto suele ser bastante específico para la empresa. Habrá una serie de criterios que el desarrollador debe cumplir antes de obtener una promoción o avanzar a un nivel superior.

La jerarquía suele ser bastante similar; con criterios generales (acumulativos) para avanzar al siguiente nivel. En mi experiencia, es algo así como lo siguiente:

1 Licenciado/experiencia de trabajo reciente

  • buena comprensión de los conceptos básicos del lenguaje (agnóstico).
  • Buen conocimiento técnico general. Demostrable
  • Habilidades para resolver problemas. Habilidades numéricas y verbales Generalmente competente
  • Muestra pasión por una cierta parte del dominio.
  • No es una persona loca.

2 junior/aprendiz desarrollador

  • buena comprensión del idioma principal que utilizan.
  • Hace uso de herramientas y tecnologías de facto para entregar software.
  • Ha entregado el software a tiempo y programado.
  • Compatible con la entrega de componentes con la orientación de desarrolladores más experimentados.
  • Puede (y lo hace) participar en reuniones de diseño y revisiones de códigos.
  • Tiene una buena comprensión de cómo funciona la empresa en su conjunto.
  • Entiende las pruebas unitarias y el desarrollo impulsado por pruebas.
  • Comprensión equitativa del control de fuente y la integración continua.

3 desarrollador

  • comprensión avanzada de la lengua primaria.
  • Demuestra habilidad en al menos otro idioma.
  • Demuestra la pasión de aprender más sobre su idioma.
  • Hace un buen uso de los patrones de diseño al desarrollar software para escribir código que se pueda mantener.
  • Busca activamente mejorar el proceso y la eficiencia.
  • Ofrece componentes con un alto nivel de calidad.
  • Tiene la capacidad de dirigir un pequeño equipo de desarrolladores para producir componentes.
  • Buena comprensión del desarrollo impulsado por pruebas, pruebas unitarias, burlas y stubs.
  • Buen conocimiento de gestión de control de fuente: ramificación, fusión, etiquetas.
  • Puede conducir una revisión del código con un desarrollador junior y supervisar su trabajo.
  • Requiere una orientación mínima de desarrolladores más experimentados.
  • Historia de la entrega de software de calidad, a tiempo

4 Desarrollador Senior

  • excelente comprensión de su idioma principal
  • Las buenas habilidades en otros idiomas útiles en el dominio. En general, tiene una pasión por aprender sobre otros idiomas y cómo la empresa podría beneficiarse de su empleo para el desarrollo de ayuda
  • Gran conocimiento del dominio, de todos sus componentes y de todas las interacciones. Este conocimiento puede transferirse fácilmente a desarrolladores menos experimentados.
  • Puede diseñar el software hermoso
  • Busca activamente mejorar el proceso de desarrollo y la eficiencia. Demuestra idiomas y tecnologías en esta área.
  • Comprende por completo el proceso de desarrollo de principio a fin.
  • Puede llevar a un gran equipo de desarrolladores a la finalización exitosa y oportuna del proyecto.
  • Historial de entrega de software y diseños excelentes.

5 Plomo desarrollador

  • Rey
+0

Rey ?! WTF!? !!!! –

Cuestiones relacionadas