videojuegos test ser que prueba programadores programador para logica examen evaluacion estudiar aptitud rating metric

rating - test - que estudiar para ser programador de videojuegos



¿Cómo puedes medir tus habilidades como programador? (24)

Además, saber qué tan bien se desempeña sería útil para comprender lo que necesita mejorar para ser un mejor programador.

En realidad, saber lo que necesita mejorar es importante para comprender qué tan bien lo hace. Solo mire a las personas con las que trabaja o con las que interactúa e intente averiguar cuáles son las cosas sobre ellas que le gustaría ver que lo haga mejor. Eso lentamente te ayudará a convertirte en un mejor programador. A medida que crece, mire otros equipos y códigos fuente (otros proyectos de código abierto) para ayudarlo a mejorar aún más.

Creo que una mejor manera de responder posiblemente a la pregunta de calificarse a sí mismo es decir que me califico en x percentil con todas las otras personas con las que he trabajado.

En una entrevista anterior, me hicieron la siguiente pregunta: ''De 0 a 10, ¿cómo te calificas a ti mismo como programador?''

Me pareció una pregunta muy difícil de responder ya que no estoy al tanto de una métrica para medir qué tan buenas son mis habilidades. Además, saber qué tan bien se desempeña sería útil para comprender lo que necesita mejorar para ser un mejor programador.

Entonces, ¿hay alguna forma de saber qué tan bien haces tu trabajo?


¡En mi opinión, esta es una pregunta difícil (y en el contexto de una entrevista incluso INJUSTA )! He estado trabajando para tres compañías diferentes hasta ahora. En todas partes conocí a muy pocos programadores excelentes (mucho mejores que yo), muchos buenos programadores y algunos programadores que deberían cambiar para mejor. ¡Pero es imposible ponerlos en categorías de 0 a 10!


Como entrevistador, haría esa pregunta para ver cuán electos son los candidatos para expresarse.

Además, muestra cuán autocríticos son y qué tipo de estándares establecen para ellos y sus colegas colegas.

no solo te dice lo mucho que saben acerca de la programación de Dios / mala sino que te dice qué tan bien estarían interactuando con un cliente para extraer los requisitos y qué tan buenos son para el resto del equipo.

El rango actual 0-10 es mucho menos importante.


Conocí a alguien que usó la pregunta de la entrevista durante años. Dijo que los mejores programadores tendían a calificarse alrededor de 7. En particular, las personas que se calificaban a sí mismas como 10 generalmente confiaban en sus habilidades porque nunca habían conocido a un programador realmente bueno. Pero al no haber conocido ninguno, ¿de quién habrían aprendido alguna habilidad real? Hay, por supuesto, excepciones. Pero si estás sintonizado con la comunidad, probablemente sabrás quiénes son las excepciones.

Este fenómeno, por cierto, no se limita a la programación. Lo he encontrado verdadero en varios tipos de cosas. Las personas que se autocalifican 10 de cada 10 generalmente no son muy buenas. Las personas que son muy buenas en X son buenas porque han encontrado otras personas que son buenas en X y, por lo tanto, se van a comparar con un grupo de pares más difícil y generalmente no se autocalificarán en 10. He encontrado que esto es cierto para valores de X tan lejos como jugar ping-pong o ajedrez.


Creo que es importante no sobreestimar la importancia del conocimiento del lenguaje.

Las mejores habilidades que un programador puede tener se encuentran en las áreas de resolución de problemas y diseño. En el momento en que empiezas a usar el idioma que has elegido, casi es solo escribir. (Aceptando que un área que con suerte usó para resolver problemas y habilidades de diseño está en el diseño de su código, para abordar el problema de legibilidad y mantenimiento)

Por lo tanto, la medida de un programador es qué tan bien pueden reunir un rango dispar de ideas o problemas para resolver un problema en particular. Más habilidad es potencialmente solo agregar áreas de conocimiento sobre las que se pueda recurrir.

Por supuesto, nada de esto ayuda como una métrica para determinar su propia habilidad, pero otros ya han dicho que es una pregunta bastante difícil de todos modos. :-)


Esa es una pregunta difícil. Desde un punto de vista puramente introspectivo, creo que una de las mejores métricas de la "buena programación" es esta: ¿cuánto disfrutas de tu oficio? Conocí a muchos desarrolladores, algunos de ellos muy buenos, pero nunca conocí a nadie que fuera un desarrollador de 9-5 y logró algo mejor que los resultados mediocres.

Por supuesto, mirar hacia adentro no es la mejor manera de medir la competencia. Creo que tus compañeros programadores podrían darte una respuesta bastante sólida. Hay una etiqueta social involucrada en la redacción de esa pregunta, pero el potencial todavía está allí. En mi experiencia, aquellos con quienes trabajas van a tener la mejor comprensión de lo bien que lo estás haciendo, aunque solo sea porque son ellos los que tienen que limpiar el desorden si cometes un error. :-)

Tidbit final: la programación es la resolución de problemas, pura y simple. Piense en cómo aborda los problemas difíciles que se le presentan. Primero, ¿cómo reaccionas emocionalmente ante un desafío difícil? Y segundo, ¿cómo se verá tu código? ¿Acabas de abrir tu camino ciegamente a través de la jungla hasta que obtienes algún tipo de resultado, o tu enfoque es metódico, bien medido y (lo que es más importante) muy investigado? Los programadores realmente buenos no son los que saben todo o pueden implementar el algoritmo de Dijkstra en ocho idiomas, son los que pasan horas revisando libros de texto y blogs oscuros para encontrar esa pequeña pepita de una idea que simplemente sucede ser crucial para el tema en cuestión. Si tienes la paciencia y la pasión para superar un profundo desafío, así como la humildad de buscar ideas para los demás, estás en camino hacia ese "10".



La respuesta corta es que te mides frente a tus compañeros. Es decir, tome a alguien que no sepa nada y asigne un 0, tome el mejor programador que conozca personalmente y asigne un 10 - ¿cómo se considera en comparación con estas dos personas? Cerca de lo mejor? Eso sería un 8. ¿Medio? eso sería un 5.

Simplemente no responda 0 o 10 y trate de ser objetivo. El objetivo de la pregunta no es calificarlo como programador, sino calificar sus habilidades en autoevaluación. Tu visión, eso es.


Llame a su empleador anterior y hable con quien haya heredado todo su código anterior. Te dirán qué tan bueno eres de programador. ;)


Palabras por minuto.


Parece que hay tres niveles de competencia con cualquier lenguaje de programación:

  1. Soluciona los errores de sintaxis de inmediato y sin ningún esfuerzo mental duro
  2. Puedes leer el código de otras personas y resolver sus intenciones sin "traducir" el código al lenguaje natural (o algún otro lenguaje de programación)
  3. Una vez que comprende un problema, puede expresarlo de forma natural en los constructos proporcionados por el lenguaje (imperativo, OO, funcional ...)

Creo que esto te lleva a lo largo de la escala de 1 -> 10

Vale la pena señalar que el conocimiento profundo de un idioma puede obstaculizar el aprendizaje de otro. Porque una vez que piensas en términos del lenguaje ''A'', tienes que reconectar tu cerebro para aprender el idioma ''B''. Obviamente esto solo se aplica cuando se pasa a un tipo de programación completamente diferente, por ejemplo, C-> C ++, C # -> F #, Java-> Scala, etc. ... Así que no creo que sea posible ser un "programador perfecto" en abstracto.


Si las personas se quejan de que no tiene nada en su plato mientras varios de sus sistemas de software están en producción, eso simplemente significa que sus sistemas están bien diseñados y bien codificados, y, a diferencia de otros monos de código corporativo, no tiene un 6- mes de cola de tickets de problemas que lo mantienen ocupado.

Si este es el caso, dale palmaditas en la espalda. Usted hace un buen trabajo.

Recuerde, el software no está listo hasta que esté ganando dinero.


Si quieres un byte de sonido para una respuesta:

Cuando comencé a trabajar profesionalmente, probablemente era un 2, ahora diría que tenía alrededor de 7, pero todos los días estoy trabajando para llegar a 10.


Hay muchas "dimensiones de bondad" para ser un programador; el proceso de evaluación podría variar dependiendo de cuál le interese. Aquí hay algunas ideas:

  1. Competencia técnica: Ve a comprar una buena referencia de estilo "libro de cocina" en el / a idioma que utilizas principalmente; Para cada tarea discutida en el libro, primero escriba su propia solución y luego compárela con la que se ofrece en el libro.
  2. Velocidad de desarrollo: regístrese en TopCoder y resuelva sus problemas almacenados o participe de una competencia en tiempo real.
  3. Participar en un equipo de desarrollo: comprar almuerzo para uno de sus compañeros de trabajo de confianza y pedirle una evaluación honesta de sí mismo como miembro del equipo (por ejemplo, "¿Cuáles considera que son mis principales fortalezas y debilidades como miembro de nuestro equipo? "¿Qué sugieres que haga para mejorar?") [ Si no hay nadie en tu equipo al que puedas acudir para una discusión así, tal vez eso te diga algo sobre este tema. ]
  4. Habilidades de comunicación: siéntese con un compañero de trabajo que no sea desarrollador y solicite su opinión sobre su proyecto actual. Presta atención; considere qué tan bien sus percepciones coinciden con las suyas.
  5. Estimación: cada mañana haga una nota (solo para sus ojos ) sobre lo que espera lograr ese día y cuánto tiempo espera que tome. Al final del día, compare esa nota con lo que sucedió realmente para ver qué tan lejos estaba. Para mejorar en esta área, piense en las razones de las diferencias y lo que podría considerar que habría hecho sus conjeturas más precisas.

10 - No sabes que realmente no sabes nada.

9 - Solo estás presumiendo, y probablemente no seas tan bueno como crees que eres. Incluso si eres así de bueno, te faltan las habilidades políticas para ver qué dice un "9" sobre ti. Eso, o eres muy conocido / adorado en la industria (es decir, escribiste un libro una vez, y tiene un apodo como "The ______ Book" o un acrónimo que la mayoría de los desarrolladores reconocerían al instante), y no teme tirarlo tu nombre alrededor.

8 - Eres muy bueno y lo sabes, pero eres lo suficientemente inteligente como para darte cuenta del estigma de elegir 9 o 10. Será mejor que puedas respaldarlo.

7 - Eres muy bueno, pero sabes que tienes mucho que aprender.

6 - Eres competente y tienes mucho que aprender, pero no tienes mucha confianza en tus habilidades. ¿Estás seguro de que no eres un 7?

5 - Decente junior dev. Acabas de terminar la escuela y eres lo suficientemente inteligente como para darte cuenta de que realmente no sabes nada sobre la programación en el mundo real, pero sabes cómo hackear el código.

4 - Mediocre junior dev. Acaba de terminar la escuela, pero sus habilidades básicas de codificación dejan algo que desear. Tuviste dificultades para aprobar la mayoría de tus clases de programación, pero por algún motivo decidiste que aún deseas seguir una carrera en desarrollo de software. Tampoco crees realmente en ti mismo, entonces ¿por qué debería un entrevistador?

3 o menos: si tienes tan poca confianza en tu capacidad de programación, ¿por qué estás solicitando trabajos de programación?

Entonces, la respuesta "correcta" es probablemente 5-7, dependiendo del tipo de trabajo para el que está entrevistando. Un 8 tiene suficiente experiencia como para no hacer esta pregunta.


Como alguien que entrevista a posibles desarrolladores, diría que entre 6 y 8 puntos sería la respuesta más segura a esa pregunta. Me imagino que la respuesta promedio es alrededor de 7. Creo que es más para eliminar a los incompetentes (0-5) o los ignorantes (9-10). Si decides responder 9+, prepárate para demostrarlo.

Si realmente está buscando responder la pregunta en serio, diría que la Matriz de Competencia del Programador es un excelente punto de partida para las áreas que dicha clasificación debería abarcar.


Defina una escala del 100%.

Identifíquese como mantenerse en la marca de 100.0.

Identifique las posiciones de otros desarrolladores y personalidades famosas de TI.

Calcule por cuánto es mejor.


Me han hecho esa pregunta un par de veces. Cuando acabo de salir de la universidad, dije 7/8. Ahora que llevo trabajando unos años, digo 4 aunque creo que ahora soy infinitamente mejor.

No veo el 0-10 como un gráfico en línea recta. Lo veo más como un gráfico exponencial. Estoy seguro de que todavía digo 4 de cada 10 PERO creo que soy mejor que el 90% de los codificadores que hay. He visto parte de su trabajo y me asusta. He trabajado en software SSL de software bancario y da miedo que realmente funcione. Entonces están esos 10% de codificadores que son mejores que yo mejor que yo. No estoy seguro de si alguna vez los alcanzaré. Llegar a 4 en mi opinión es fácil. Es mucho más difícil llegar a 5. De 5 a 6 es increíblemente aterrador.

Grandes codificadores que son dignos de un 8, 9 o 10.


Siempre puedes competir con otros programadores y ver cuán bien son tus habilidades de pensamiento. Puede probar los sitios como www.topcoder.com o www.spoj.pl o wwww.codechef.com que le proporcionan rangos y puede ver qué tan bien lo hace. Sin embargo, estos solo prueban tus cerebros algorítmicos y no la forma en que codificas. Si me hicieran esta pregunta, diría que soy un aprendiz constante y creo en hacer y corregir errores, no tengo miedo de autocriticar mi código ni dudar en pedirle a otros que me señalen mi error, usted puede decidir en qué escala se sienta.


Solo hay una medida para medir un buen programador: LOC / hr. Todas las demás métricas son superfluas: p


Un enfoque completamente válido para "¿cómo calificaría usted de 1 a 10?" es señalar el problema inherente con la autoevaluación . Para resumir los hallazgos de los experimentos en ese fascinante documento:

  1. Casi todos se calificaron a sí mismos como superiores al promedio. Al menos el 50% de esas personas eran deshonestas o engañosas.
  2. Las personas que están realmente en el 25% superior con frecuencia se empujan al rango de 50-75% (es decir, se clasifican artificialmente bajas).
  3. Las personas que están en el rango de 50-75% tienden a evaluarse con mayor precisión.

Podría resumir razonablemente esto, ya que el 50% de las autoevaluaciones son mentiras y otro 25% son incorrectas. Por lo tanto, puedes elegir preguntarle al dron de la entrevista si pierden tu tiempo o te evalúan psicológicamente ...


Experiencia. La gama más amplia de experiencia que tiene "mejor" es. Solo sabes lo que has experimentado.

Tamaño y complejidad del sistema que ha desarrollado (o trabajado con éxito sin corromper).


Una discusión bastante valiosa aquí. Me encantó. Yo como entrevistado, me gustaría dar una respuesta a esto de la siguiente manera.

Me gustaría analizar la pregunta primero.

El análisis depende de algunas cosas como el lenguaje, el marco, la naturaleza del problema (soy PHP y Wordpress, así que la respuesta es en este contexto) 1. Complemento de parches, 2. Construir desde cero, 3. Uso de api

Mi enfoque común sería (en la mayoría de los casos) 1. comprender el alcance dado (o ya construido) de la funcionalidad (relativo al enunciado actual del problema) 2. calcular una de las mejores maneras de resolverlo (definitivamente hay más de una forma cada tiempo ...) 3. codificación 4. pruebas en escenarios en tiempo real (para ajustar el rendimiento) 5. En las etapas iniciales de cualquier programador, los cuatro pasos son recursivos hasta obtener la solución final, pero a medida que la experiencia crece, 1 2 pasos se vuelven recursivos.

La aptitud de entender la filosofía fundamental de cualquier idioma es imp. El descanso es una actitud de resolución de problemas.

Y en PHP, creo que tengo 6.5.


Esta pregunta de la entrevista no es realmente sobre lo bueno que eres como desarrollador. Se trata de la autoconciencia que tienes y de lo bien que justificas (para el entrevistador) cualquier cifra que presentas.

La forma correcta de responder a esta pregunta durante una entrevista (a diferencia de una respuesta filosófica) es elegir las áreas más fuertes y producir alguna buena evidencia para decir que estás en el X% superior de desarrolladores en esas áreas específicas.

Por ejemplo, puedes decir que al crear un software confiable, estás en el Y% superior porque esa es una de tus especialidades. Entonces podrías dar algunos ejemplos. Alternativamente, podría decir que una forma razonable de juzgar las habilidades de desarrollo es cuánto dinero se gana.

Lo que no debes hacer es tomar la pregunta literalmente. Eso no es lo que el entrevistador quiere normalmente.