Pregunta

En una anterior entrevista que me han hecho la pregunta:"De 0 a 10, ¿cómo se catalogaría como un programador?'

Me pareció una pregunta muy difícil de responder, ya que yo no soy consciente de que una métrica para medir la calidad de mis habilidades.Además, sabiendo lo bien que se realice sería útil para comprender lo que hay que mejorar para ser un mejor programador.

Entonces, ¿hay una manera de saber lo bien que hace su trabajo?

¿Fue útil?

Solución

Llame a su empleador anterior y hablar con quien heredó toda su viejo código.Ellos te dicen que lo bueno de un programador que son.;)

Otros consejos

Esa es una pregunta difícil.Desde una perspectiva puramente introspectivo punto de vista, creo que una de las mejores métricas de "buena programmership" es este:Cómo hacer que disfrutes mucho de tu nave?He conocido a un montón de desarrolladores, algunos de ellos muy buenos, pero nunca he conocido nadie que era un 9-5 desarrollador y gestionado nada mejor que resultados mediocres.

Por supuesto, mirando hacia adentro no es la mejor forma de medir la competencia.Debo pensar que sus compañeros programadores sería capaz de dar una justa respuesta sólida.Hay etiqueta social que intervienen en el fraseo tal pregunta, pero el potencial está allí todavía.En mi experiencia, las personas que trabajan con usted va a tener la mejor entendimiento de cómo lo estás haciendo, si sólo porque son ellos los que tienen que limpiar el desastre si usted comete un error.:-)

Tidbit Final:la programación es la resolución de problemas, puro y simple.Piense acerca de cómo abordar los problemas difíciles que vienen en su camino.En primer lugar, ¿cómo reaccionar emocionalmente a un duro reto?Y segundo, ¿cuál es tu código va a parecer?Solo hack su camino a ciegas a través de la selva hasta llegar a algunos tipo de resultado, o es su enfoque metódico, bien medido y (lo más importante) muy investigado?Los realmente buenos programadores no son los únicos que lo saben todo o que puede implementar el de Dijkstra el algoritmo en ocho idiomas frío, ellos son los que pasan horas vertiendo sobre los libros de texto y oscuro de los blogs para encontrar esa pequeña pepita de una idea, que también pasa a ser crucial para el tema en cuestión.Si usted tiene la paciencia y la pasión para trabajar su camino a través de un profundo desafío, así como la humildad de mirar a los demás para que las ideas, entonces usted está bien en su camino para que el "10".

10 - Usted no sabe que usted realmente no sabe nada.

9 - estás alardeando, y probablemente no son tan buenos como usted piensa que usted es.Incluso si usted está realmente esta buena, que carecen de la habilidad política para ver qué elegir un "9", dice acerca de usted.Que, o está bastante bien conocido, adorado en la industria (es decir,usted escribió un libro una vez, y tiene un apodo como "El ______ Libro" o un acrónimo que la mayoría de los desarrolladores reconocería al instante), y no tiene miedo de tirar su nombre alrededor.

8 - eres muy bueno y lo sabes, pero eres lo suficientemente inteligente como para darse cuenta de que el estigma de la recolección de 9 o 10.Debes de ser capaz de respaldarlo.

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

6 - eres competente, y tienen mucho que aprender, pero no son muy confiado en sus habilidades.Está usted seguro de que no son un 7?

5 - Decente junior dev.Sólo estás fuera de la escuela, y lo suficientemente inteligente como para darse cuenta de que realmente no sabe nada sobre el mundo real de la programación, pero usted sabe cómo hackear el código.

4 - Mediocre junior dev.Sólo estás fuera de la escuela, pero sus habilidades de codificación dejan algo que desear.Usted tuvo un tiempo difícil de paso la mayoría de su programación de clases, pero por alguna razón decidió que todavía quieren seguir una carrera en desarrollo de software.Usted también no creen en ti, así que ¿por qué debería un entrevistador?

3 o por debajo - Si tiene tan poca confianza en su capacidad de programación, ¿por qué está usted aplicando a los trabajos de programación?

Así que la respuesta "correcta" es, probablemente, 5-7, dependiendo de qué tipo de trabajo que usted está entrevistando para.8 tiene la suficiente experiencia que ella no estaría haciendo esta pregunta.

Esta pregunta de la entrevista no es realmente acerca de lo bueno que eres como un desarrollador.Es acerca de lo mucho que la auto-conciencia que tiene, y lo bien que lo justifique (el entrevistador) cualquiera que sea la figura que usted pone adelante.

La manera correcta de responder a esta pregunta durante una entrevista (en contraposición a una respuesta filosófica) es para elegir sus áreas más fuertes y producen buena evidencia para decir que estás en la parte superior, el X% de los desarrolladores en esas áreas específicas.

Por ejemplo, usted podría decir que en la creación de software confiable, usted está en la parte superior Y% debido a que es una de sus especialidades.Entonces usted podría dar algunos ejemplos.Alternativamente, usted podría decir que una forma razonable de juzgar el desarrollo de habilidades es la cantidad de dinero que uno gana.

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

Como alguien que entrevista a los futuros desarrolladores, yo diría que en cualquier lugar entre 6-8 sería la más segura la respuesta a esa pregunta.Me imagino que el promedio de respuesta es de alrededor de 7.Creo que es realmente más para eliminar a los incompetentes (0-5) o los ignorantes (9-10).Si usted decide contestar 9+, estar preparado para probarlo.

Si usted está realmente en busca seriamente la respuesta a la pregunta por sí mismo, yo diría que el Programador De Competencia De La Matriz es un gran punto de partida para las áreas de tal calificación debe abarcar.

Yo conocía a alguien que usa esa pregunta de la entrevista durante años.Él dijo que los mejores programadores tienden a la tasa de sí mismos en torno a un 7.En particular, las personas que se consideraban un 10 era, generalmente, la confianza de sus habilidades ya que nunca se había met un buen programador.Pero después de haber conocido nunca a uno, que sería la que han aprendido real de las habilidades de?Hay, por supuesto, excepciones.Pero si usted está en sintonía con la comunidad, usted probablemente sabe que las excepciones son.

Este fenómeno, por cierto, no se limita a la programación.He encontrado que es cierto en un número de tipos de cosas.Las personas que se auto-consideran 10 de 10 generalmente no son muy buenas.Las personas que son muy buenos en X son buenas porque han encontrado a otras personas que son buenas en X, y por lo tanto se va a comparar a uno más difícil que el grupo de pares y, en general, no auto-tasa en un 10.He encontrado que esto es cierto para los valores de X en lugares tan lejanos como jugando al ping-pong y ajedrez.

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

  1. Corregir los errores de sintaxis de inmediato y sin ningún esfuerzo mental
  2. Usted puede leer otros pueblos código y trabajar fuera de su intención, sin "traducir" el código en lenguaje natural (o algún otro lenguaje de programación)
  3. Una vez que usted entienda un problema se puede expresar de forma natural en las construcciones que proporciona el lenguaje (imperativo, OO, funcional ...)

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

Vale la pena destacar que el conocimiento profundo de una lengua puede conseguir en el camino de aprender de otro.Porque una vez que usted piensa en términos de lenguaje 'A' se ha de volver a cablear el cerebro para aprender el lenguaje 'B'.Obviamente, esto sólo se aplica cuando se muda a un tipo completamente diferente de la programación, por ejemplo,C->C++, C#>F#, Java->Scala etc...Así que yo no creo que sea posible ser un "perfecto programador" en el resumen.

Su proyecto de euler calificación podría dar una idea (no sus habilidades, pero su pasión por el no rendirse hasta el final):

http://projecteuler.net/index.php?section=problems

Uno de ellos completamente enfoque válido para el "¿cómo calificaría usted mismo a partir de 1 - 10?" está a punto de salir de la problema inherente con la auto-evaluación.Para resumir los resultados de los experimentos en los que fascinante de papel:

  1. Casi todo el mundo calificaron a sí mismos como superiores a la media.Al menos el 50% de esas personas eran deshonestos o engañados.
  2. Las personas que están en realidad en el 25% superior, con frecuencia se empujan hasta el 50-75% del rango (es decir, que la tasa de sí mismos artificialmente bajos).
  3. Las personas que están en el 50-75% soporte tienden a evaluarse a sí mismos con mayor precisión.

Que razonablemente podría resumir como el 50% de las auto-evaluaciones son mentiras y el otro 25% está equivocado.Así que, usted podría decide pedir la entrevista drone si están perdiendo el tiempo o la evaluación que psicológicamente....

Además, sabiendo lo bien que se realice sería útil para comprender lo que hay que mejorar para ser un mejor programador.

Saber realmente lo que usted necesita para mejorar es importante para entender lo bien que se realice.Basta con mirar a la gente con la que trabajan o interactúan con el y tratar de averiguar lo que son las cosas acerca de ellos que te gustaría ver a ti mismo de hacer lo mejor.Que poco a poco ayudará a ser un mejor programador.A medida que crece vistazo a otros equipos y códigos fuente (en otros proyectos de código abierto) para ayudarle a mejorar aún más.

Creo que una mejor manera de, posiblemente, responder a la cuestión de la clasificación de ti mismo, es decir que la tasa de mí mismo, a x percentil respecto de todas las otras personas las que he trabajado.

La respuesta corta es que medirte con tus compañeros.Es decir, llevar a alguien que no sabe nada y asignar un 0, toma el mejor programador que conoce personalmente y asignar un 10 -- ¿cómo te consideras en comparación con estas dos personas?Cerca de los mejores?Que sería de un 8.Medio?que sería de un 5.

Simplemente no respuesta 0 o 10 y a tratar de ser objetivo.El punto de la cuestión no es la calificación que usted como programador, pero la calificación de sus habilidades en la auto evaluación.Su visión, que es.

Sólo hay una métrica para medir un buen programador:LOC/hr.Todos los otros métrica es superfluo :p

Si la gente se queja de que no tiene nada en su plato, mientras varios de sus sistemas de software que estén en producción, que simplemente significa que sus sistemas estaban bien diseñados y bien codificado, y, a diferencia de otros código de empresa monos, usted no tiene 6 meses de la cola de tickets de problemas mantener ocupado.

Si este es el caso, la palmadita en la espalda.Que hacen un buen trabajo.

Recuerde que el software no se realiza hasta que es hacer dinero.

Como entrevistador, me gustaría hacer esa pregunta a ver cómo elequent un candidato a la hora de expresarse.

Además de mostrar cómo la auto-crítica son y qué tipo de normas que establecen para sí mismos y para sus compañeros colegas.

no sólo te dirá cuánto saben acerca de dios/la mala programación que te dice cómo sería la interacción con un cliente para extraer los requisitos y que tan buen partido que son para el resto del equipo.

El actual rango de 0 a 10 es mucho menos importante.

Creo que es importante no sobreestimar la importancia de conocimiento de la lengua.

La mayor de las habilidades que un programador puede tener en las áreas de resolución de problemas y el diseño.En el momento de bajar a la realidad utilizando el idioma que usted haya elegido, es casi sólo a escribir.(la aceptación de que uno de los aspectos que se han esperemos que utiliza su problema de resolución de problemas y habilidades de diseño en el diseño de su código, para abordar el problema de la legibilidad y mantenimiento)

De manera que la medida de un programador es lo bien que se puede llevar a un disparidad de ideas o cuestiones a resolver un problema en particular.Más habilidad es potencialmente sólo la adición de las áreas de conocimiento que se puede dibujar.

Por supuesto, nada de esto ayuda como una métrica para determinar su propia habilidad - pero otros ya han dicho que está bastante bien de naciones unidas metricable pregunta de todos modos.:-)

Si desea un sonido de bytes para una respuesta:

Cuando empecé a trabajar profesionalmente me fue, probablemente, un 2, Ahora me gustaría decir que me fue de alrededor de un 7, pero cada día estoy trabajando para llegar a 10.

Palabras por minuto.

En mi opinión este es un duro (y en el contexto de una entrevista, incluso INJUSTO pregunta!He estado trabajando durante tres empresas diferentes hasta ahora.Cada donde conocí a muy pocos excelentes programadores (mucho mejor que yo), un montón de buenos programadores y un par de programadores que deben cambiar para mejor.Pero es imposible ponerlos en categorías de 0 a 10!

Hay muchos "dimensiones de la bondad" para ser un programador;el proceso de evaluación podría variar dependiendo de la que usted está interesado en.Aquí están algunas ideas:

  1. Competencia técnica:Ir a comprar un buen "libro de cocina"de estilo de referencia en el/de un idioma, principalmente el uso;para cada tarea discutidos en el libro, escribe su propia solución y luego la compara con la(s) que se ofrece en el libro.
  2. Desarrollo de la velocidad:Regístrate en TopCoder y el trabajo a través de sus almacenados problemas o participar en una competición en tiempo real.
  3. Participar en un equipo de desarrollo:Comprar el almuerzo por uno de sus empleados de confianza y pídale a él/ella para una evaluación honesta de sí mismo como miembro de un grupo (por ejemplo,"¿Qué ve usted como mis principales fortalezas y debilidades de los miembros de nuestro equipo?¿Qué sugeriría usted que tengo que hacer para mejorar?") [Si no hay nadie en el equipo que usted podría ir para una discusión de ellos tal vez que dice algo acerca de este problema.]
  4. Habilidades de comunicación:Sentarse con un compañero de trabajo que es no un desarrollador y pedir su/sus puntos de vista sobre el proyecto actual.Preste atención;de considerar como su percepción coincide con el suyo.
  5. Estimación:Cada mañana, hacer una nota (sólo para sus ojos) acerca de lo que espera lograr de ese día y por cuánto tiempo debe esperar.Al final del día, comparar esa nota con lo que realmente ocurrió para ver qué tan lejos se fueron.Para mejorar en esta área, pensar acerca de las razones de las diferencias y de lo que usted podría considerar la posibilidad de que le han hecho sus estimaciones más precisas.

Siempre se puede competir con otros programadores y ver cómo sus habilidades de pensamiento son.Usted puede probar los sitios como www.topcoder.com o www.spoj.pl o wwww.codechef.com ellos le proporcionan con filas y usted puede ver lo bien que hacer.Sin embargo, estas puramente prueba de su algorítmica cerebros y no la manera de código.Si yo era esta pregunta me gustaría decir que soy un constante aprendizaje y creer en la realización y corrección de errores, no tengo miedo de auto criticar mi código ni estoy hesistant de pedir a otros a punto de salir de mi error, usted puede decidir qué escala hace que se sienta.

Definir una escala de 100%.

Identificarse como permanecer en el 100.0 marca.

Identificar las posiciones de otros desarrolladores y personalidades de la de ELLA.

Calcular por cuánto está mejor.

Me han pedido que pregunta un par de veces.Cuando acabo de salir de varsity me dijo 7/8.Ahora que he estado trabajando un par de años me dicen 4 aunque creo que ahora estoy infinitamente mejor.

No veo la 0-10 como una línea recta en la gráfica.Yo lo veo más como exponencial de la gráfica.Tan seguro de que todavía me dicen que 4 de cada diez, PERO creo que soy mejor que el 90% de los codificadores por ahí.He visto algunos de sus trabajos y me da miedo.He trabajado en banca software SSL software y es de miedo que realmente funciona.Así que ahí están los 10% de los programadores que están mejor que yo, mucho mejor que yo.No estoy seguro de si voy a alcanzarlo a ellos.Para llegar a 4 en mi opinión es fácil.Camino más difícil para llegar a 5.De 5 a 6 es increíblemente aterrador.

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

Experiencia.La más amplia gama de experiencia que tienes "el mejor" que son.Sólo usted sabe lo que usted ha experimentado.

El tamaño y la complejidad del sistema que hemos desarrollado (o trabajado exitosamente dentro sin corrupción).

Muy valiosa la discusión aquí.Le encantó.Yo como un entrevistado, quisiera dar respuesta a este de la siguiente manera.

Me gustaría analizar la cuestión en primer lugar.

El análisis depende de algunas cosas como el lenguaje, la estructura, la naturaleza del problema, (Yo soy PHP y Wordpress chico así que la respuesta es en este contexto) 1.plugin parche de trabajo, 2.la construcción desde cero, 3.la api de uso

Mi enfoque común sería (en la mayoría de los casos) 1.entender el dado (o ya) el alcance de la funcionalidad (en relación a la actual declaración del problema) 2.ajuste de cuentas de una de las mejores manera de resolver (definitivamente hay más de una manera cada vez...) 3.codificación 4.las pruebas en tiempo real de escenarios (para la optimización del rendimiento) 5.en las etapas iniciales de cualquier programador, los cuatro pasos son recursivos antes de obtener la solución final, pero a medida que aumenta la experiencia, de 1 a 2 pasos se convierte recursiva.

Aptitud de entendimiento fundamental de la filosofía de cualquier idioma es imp.Resto es problema de la resolución de actitud.

Y en PHP, creo que estoy 6.5.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top