¿Cuándo puedes llamarte bueno en el lenguaje X?

30

Esto se remonta a una conversación que tuve con mi novia. Traté de decirle que simplemente no me siento lo suficientemente adecuada en mi lenguaje de programación (C ++) para llamarme buena. Luego me preguntó: "Bueno, ¿cuándo te consideras lo suficientemente bueno?"

Esa es una pregunta interesante. No sabía qué decirle. Entonces te estoy preguntando.

Para cualquier lenguaje de programación, marco o similar, ¿cuándo llega a un punto en el que se sienta, mira lo que ha hecho y dice: "Oye, en realidad soy bastante bueno en esto"? ¿Cómo define "bueno" para que pueda decirle a los demás, sinceramente, "Sí, soy bueno en X".

Además, ¿llega a estas conclusiones comparando lo que otros pueden hacer?

Información adicional

He leído el documento canónico sobre cómo se necesitan diez mil horas antes de que seas un experto en el campo. (Apoyos para cualquiera que sepa cómo se llama este artículo nuevamente)

También he leído varios artículos de Coding Horror sobre entrevistas a personas. Algunas personas, se decía, "no pueden funcionar fuera de un marco". Por lo tanto, pueden ser "buenos" para ese marco, pero no de otra manera en el lenguaje. ¿Es esto cierto?

SoulBeaver
fuente
2
Que yo sepa, ¿todo el asunto de la regla de las 10 000 horas proviene del libro 'Outliers'?
Jaco Pretorius
77
La regla de las 10.000 horas fue investigada / apoyada principalmente en el trabajo de K. Anders Ericsson, pionero en la relativamente nueva disciplina psicológica "estudios de desempeño humano". En particular, su artículo de 1993 "El papel de la práctica deliberada en la adquisición del desempeño de expertos" es la referencia histórica en el campo. Véase la entrada de Google Académico aquí: scholar.google.com/...
limist

Respuestas:

41

No puedes llamarte bueno en X. Solo otras personas pueden hacerlo.

P Shved
fuente
17
Aunque solo porque otros digan que eres bueno en X no garantiza que seas bueno, solo que eres mejor que ellos. (A menos que, por supuesto, esas otras personas tengan credibilidad comprobada con respecto a X.)
Peter Boughton
No estoy de acuerdo, así que -1. Solo porque no estoy de acuerdo y creo que el voto es demasiado alto.
3
Me temo que esto realmente no aborda el problema en cuestión: la autoevaluación precisa es imprescindible para nuestro campo y esto no ofrece ayuda en ese sentido.
cwallenpoole
@cwallenpoole: No olvides el efecto Dunning-Kruger . Además, ¿no estás más impresionado cuando mucha gente dice "X es realmente bueno en Y" en lugar de cuando X afirma que es competente?
Jonathan Merlet
38

Ya hay algunas buenas respuestas a esto, así que solo contribuiré esto:

texto alternativo

Fishtoaster
fuente
15
No estoy seguro de si es realmente seguro reemplazar a tu antiguo yo, ¿verdad? ... tal vez debería preguntar en timetravel.stackexchange.com
John MacIntyre
99
@ John MacIntyre: ese enlace hace que el mensaje de error estándar "No encontrado" parezca profético: "El sitio de preguntas y respuestas timetravel.stackexchange.com no existe ... todavía".
Nicole
3
¿Acaso matar tu pasado no te haría desaparecer ya que eres del futuro?
Terence Ponce
3
Reemplazar a su yo más viejo con uno nuevo podría causar un comportamiento indefinido . ;-)
P Shved
2
Simplemente pasaría por el día 14611, tomaría la poción para revertir la edad y no pasar por la molestia de viajar en el tiempo y arriesgarme a desaparecer.
chiurox
10

Uno es bueno en algo solo cuando puede decir con confianza y correctamente que puede hacerlo.

Si quiere decir que es bueno en C ++, por ejemplo, debería poder decir, con confianza y justificación, que dado un problema general con C ++, puede resolverlo.

Esto proporciona una distinción de ser arrogante , que sería decir con confianza que puede hacer algo sin justificación suficiente; y experimentado , lo que significaría que puedes hacer algo porque lo has hecho en el pasado.

usuario8
fuente
6

En una nota relacionada, aunque creo que el movimiento Software Craftsmanship es una excelente idea para ayudar a mejorar los estándares en nuestra disciplina, he visto a muchas personas describirse a sí mismas como artesanos del software, lo que me parece un poco arrogante en la mayoría de los casos.

Depende de tus compañeros decidir si eres bueno en algo (o un artesano); Estoy seguro de que Einstein y Feynman no deambularon temprano en sus carreras diciendo "¡mírame, soy un genio!" Del mismo modo, depende de tus compañeros decidir si eres bueno o no.

Stackoverflow es una herramienta útil para decidir si eres competente. Elija algunas preguntas en su área de supuesta experiencia. Responda (o si ya han sido respondidas, responda en su cabeza sin mirar las respuestas publicadas). ¿Pensaste en la mejor respuesta? ¿Te perdiste algo? ¿Estabas simplemente equivocado?

Paddyslacker
fuente
Los artesanos del software serían los que escribirían ensambladores, compiladores, enlazadores y cargadores en mi opinión de todos modos.
Chris
3

Como no hay una prueba de programación estandarizada que pueda realizar que permita a todos aceptar que usted es un buen programador, depende de usted determinar si se llama así o no.

Me parece que tiene que ver con tu nivel de confianza. Si SIENTES que eres bueno en algo, entonces deberías poder decirlo. En algún momento completarás un proyecto que te empujó y ese sentimiento cambiará de 'todavía no' a 'yo soy'.

Walter
fuente
2

Sé que esta es una pregunta bastante difícil. Hice dos asignaturas con las que principalmente programé en C ++ y obtuve altas distinciones en ambas. No me consideraría bueno en C ++. De hecho, si estaba solicitando un trabajo, lo dejaría fuera de mi currículum y simplemente escribiría C en su lugar. Todo el lenguaje simplemente no es lo mío.

Casebash
fuente
2

Creo que puedes llamarte bueno en algo cuando desarrollas el conocimiento requerido para poder verte a ti mismo como desde la perspectiva de otra persona y luego determinar si eres bueno. En otras palabras, debe tener fuertes habilidades "meta".

Por ejemplo, soy un escritor aficionado, y cuando veo mis propios escritos puedo decir:

  • qué aspectos son buenos y por qué
  • qué aspectos son malos y por qué
  • ¿Qué necesito hacer para mejorar los malos y por qué?
  • qué aspectos negativos son específicos de la pieza escrita y cuáles son un síntoma de mis habilidades
  • ¿Cuáles son los elementos que otras personas pueden criticar y por qué
  • qué críticas no son relevantes para mi pieza específica, incluso si otras personas pueden expresarlas, y por qué

etc. etc. Debido a esto, siento que estoy calificado para decidir si soy bueno escribiendo o no. Lo mismo se aplica a X.

EpsilonVector
fuente
1

Como lo bueno es muy subjetivo, diría que eres bueno exactamente cuando estás seguro de que eres genial.

Brian R. Bondy
fuente
1

Puede afirmar que es "bueno" en algo una vez que lo ha estado haciendo lo suficiente como para haber olvidado cómo hacer cualquier otra cosa.

Dan Molding
fuente
1

Cada vez que pensaba que era bueno programando en un lenguaje en particular, seis meses después estaba convencido de que en ese momento lo apestaba, y ahora era bueno en eso. Entonces supongo que es un término relativo. Tal vez sería mejor llamarse "lo suficientemente bueno para hacer Y", donde Y es un proyecto particular en ese idioma.

RationalGeek
fuente
1

Cuando puedes mirar el código fuente de algo como boost (en c ++. O boost equivalente en otro idioma) y NO TENGAS miedo .

usuario2528
fuente
1

Cuando comienzas a imaginar cómo un software que estás buscando fue escrito en ese idioma.

aredkid
fuente
1

Sabes que eres bueno en eso cuando te gusta lo que estás haciendo (y no es solo una tarea trivial) .

Sabes que eres malo (todavía) cuando sigues maldiciendo al azar mientras codificas.

Camilo Martin
fuente
2
Estoy tentado a -1 este. He trabajado con sistemas que estaban tan mal ensamblados que casi podrían considerarse no deterministas. ¿Alguna vez has intentado construir una interfaz de usuario en un lenguaje no determinista? Inspira maldiciones.
cwallenpoole
@Christopher bueno, paso la mayor parte del tiempo maldiciendo cosas nuevas, pero poco a poco me acostumbro o codifico algo para ayudarme. Si odias lo que estás haciendo, tal vez puedas codificar tu salida y sentirte como el tipo más inteligente del edificio, ¿eh? :)
Camilo Martin
0

A menudo no digo que soy bueno en X, sino que aprendo rápido y tengo potencial para ser bueno en X.

Moshe
fuente
0

No estoy seguro acerca de "bueno", pero digo que "conozco" un idioma cuando no es mi conocimiento del idioma, sino más bien mi comprensión del problema (o dominio del problema), lo que me impide implementar un software para resolver eso problema.

mipadi
fuente
0

Creo que el artículo que estaba buscando era Programación para aprender en 10 años, de Peter Norvig, se refiere a que se requieren alrededor de 10,000 horas para ser bueno en algo. Además, lo he visto aparecer en otros lugares como "The Element" de Ken Robinson y en un blog de lifehacker hablando de reducir la cantidad de pasatiempos que tienes.

Jeremy
fuente
0

Voy a tomar parte de esta pregunta para preguntar '¿cuáles son algunos criterios para evaluar mi competencia en un lenguaje de programación?'

He encontrado que esta matriz es bastante útil en ese sentido. La mayoría de los elementos son en realidad más acerca de ser un programador competente en general, pero una vez que baje los títulos de Programación, Experiencia o Conocimiento, verá algunos que dependen del lenguaje utilizado.

Por supuesto, como con cualquier división arbitraria en categorías, no es perfecto. Pero creo que es bastante útil, no obstante. Puede darle al menos una idea de dónde está y dónde debe ir.

Nick Knowlson
fuente