2016-11-29 09:43:59 +0000 2016-11-29 09:43:59 +0000
249
249

¿Usar la documentación como desarrollador me hace parecer poco profesional?

Soy un desarrollador junior y trabajo cada tres meses en una empresa de desarrollo de software como parte de mis estudios corporativos.

Aunque llevo casi un año programando (3 x 3 meses de experiencia laboral + proyectos paralelos) a menudo tengo que comprobar la documentación y/o el desbordamiento de la pila durante mi jornada laboral. Temo que esto me hace parecer poco profesional o más inexperto de lo que realmente soy (me siento bastante cómodo diseñando y construyendo software, pero a menudo tengo que buscar términos como “función PHP/JavaScript que hace XYZ”). En la mayoría de los casos ya debería saber esto, ya que ya lo he usado antes pero quiero comprobarlo antes de cometer errores.

La razón de hacer esta pregunta es que se burlan de mí por usar el desbordamiento de pila/documentación con tanta frecuencia que hace que otros y yo dudemos de mis habilidades. Para mí es una parte natural trabajar más eficientemente y ser más consciente del lenguaje. Alguien me dijo una vez algo como: “Un cirujano no puede leer sus libros cada vez que tiene que operar a un paciente”. Lo que en mi opinión es una tontería.

También estoy preguntando por el futuro; por ejemplo, si tengo que escribir un código durante una entrevista para otro trabajo supongo que no deberías usar la documentación.

Respuestas (14)

125
125
125
2016-11-29 13:26:09 +0000

¿Usar documentación como desarrollador me hace parecer poco profesional?

No, en realidad significa lo contrario… ya que no molestas a tus mayores haciendo preguntas que se pueden encontrar fácilmente en internet o a través de la documentación.

La mayoría de nosotros, los desarrolladores, no podemos recordar miles de líneas de documentación… todo el tiempo, especialmente cuando cambiamos entre tecnologías

También estoy preguntando por el futuro; por ejemplo, si tengo que escribir código durante una entrevista para otro trabajo supongo que no deberías usar la documentación.

A la mayoría de las compañías razonables les gustaría probar la lógica/estructura que se te ocurre en una prueba de codificación… no tanto sobre la sintaxis.

63
63
63
2016-11-29 18:43:48 +0000

Alguien me dijo una vez algo como: “Un cirujano no puede leer sus libros cada vez que tiene que operar a un paciente.”

Quien te haya dicho eso no sabe cómo funciona la cirugía. A menos que sea un procedimiento muy común que el cirujano haya practicado cien veces, los buenos pasan mucho tiempo estudiando antes de cada paciente que ven. También pasan muchos años en la escuela de medicina estudiando una materia que no ha cambiado mucho en varios miles de años.

Estás en tu primer año en una industria donde cada semana se inventan nuevas formas de hacer las cosas. No tienes experiencia, así que es de esperar que tengas que buscar las cosas con frecuencia. Mientras tengas los fundamentos para saber si las soluciones que encuentras realmente resuelven tu problema y que aprendes de la experiencia, no hay nada malo en ello. He sido ingeniero de software durante 15 años y todavía tengo que buscar las cosas casi todos los días. Un profesional utiliza todos los recursos que tiene disponibles para hacer el trabajo.

29
29
29
2016-11-29 12:57:01 +0000

El profesionalismo y el conocimiento son dos cosas completamente diferentes.

Buscar cosas de terceras fuentes significa que te falta conocimiento, no falta de profesionalismo. La falta de conocimiento es un tema en sí mismo, pero en general no hay una persona que lo sepa todo.

Si sabes sobre tu falta de conocimiento y lo manejas buscando cosas de fuentes de terceros, esto significa que tienes una estrategia profesional para resolver tu problema específico de falta de conocimiento.

No buscar las cosas sin saber que las cosas son poco profesionales, pero este no es tu caso.

Lectura adicional sobre un efecto que contrasta tu “estrategia de uso de la documentación”: El efecto Dunning-Kruger

24
24
24
2016-11-29 14:39:01 +0000

¿Usar la documentación como desarrollador me hace parecer poco profesional?

No. Recordar detalles arbitrarios diminutos es un desperdicio de tus recursos. Tendrías que recordar muchos de ellos tanto en PHP (que carece un poco de consistencia) como en el desarrollo web en general, si te familiarizas con varios lenguajes y una docena de frameworks.

Se burlan de mí por usar SO/Documentación tan frecuentemente lo que hace dudar de mis habilidades

Esta puede no ser la forma más eficiente de resolver tus tareas.

¿Usas algún IDE? ¿Sus colegas usan alguno? Porque la búsqueda de esos detalles minuciosos puede delegarse a la función de autocompletar del IDE. El uso de la función autocompletar es más eficiente que cambiar la atención al navegador y buscar una respuesta allí.

Si tus colegas utilizan la función autocompletar del IDE y tú utilizas Google en su lugar, eso podría parecer poco profesional, no porque consultes documentos sino porque lo haces de forma ineficiente.

Si tus colegas dependen de su memoria y tú dependes del autocompletado, podrás superarlos en tareas que utilizan algún marco con el que ninguno de vosotros está familiarizado, lo cual no es tan raro en la web.

Domina tus herramientas y muestra el rendimiento, eso es profesional.

19
19
19
2016-11-29 16:41:49 +0000

Otros han dado respuestas sólidas, pero nadie se dirige a esto de frente; el énfasis en negrita es mío:

La razón para hacer esta pregunta es que se burlan de mí por usar el desbordamiento de la pila/documentación frecuentemente lo que hace que los demás duden de mis habilidades.

¿Quiénes son estas personas que se “burlan” de ti y cómo lo sabes “…hace que los demás duden de [tus] habilidades?”

Todo esto suena como una novatada de variedad de jardín (alias: común) para mí. Si eres un desarrollador junior estás naturalmente en una jerarquía donde los demás te pondrán a prueba y apretarán botones como parte de su propio comportamiento de novatadas. Esto ocurre tanto si son conscientes de ello como si no; es sólo parte del curso.

Al final del día, cada persona en el mundo usa herramientas de referencia para hacer el trabajo. Diablos, ¿no tienen los abogados y los médicos toneladas de referencias y libros a los que se refieren constantemente? La programación no es diferente.

Tu trabajo como programador es unir los deseos de un proyecto con la realidad del propio código. Tu trabajo no es memorizar tonterías arcanas. y si llegas al punto en que puedes recordar, e incluso visualizar, tonterías arcanas, entonces ¡felicidades! Pero eso no sucede de la noche a la mañana y a veces no sucede en absoluto para algunos.

FWIW He estado haciendo trabajos de computación para más de 20 y es sólo en los últimos años que puedo literalmente visualizar soluciones en mi cabeza sin escribir una línea de código. Es una habilidad en la que uno crece y no se puede exigir que alguien la tenga a pedido.

16
16
16
2016-11-29 16:00:03 +0000

Aunque esto no te hará parecer poco profesional a un profesional (la gran mayoría de las veces) es posible que quieras ser cauteloso frente a un cliente o gerente ingenuo. Así como tú, con casi un año de experiencia en programación, no estás seguro de si los profesionales necesitan buscar las cosas, también las personas con una experiencia aún menos relevante pueden estar inseguras.

De hecho, he defendido a otros desarrolladores en algunas ocasiones en las que un cliente de una consultoría dijo algo del tipo “¿por qué estoy pagando un buen dinero por alguien que ni siquiera puede escribir código sin buscarlo en Internet?

14
14
14
2016-11-29 16:08:10 +0000

Ciertamente no es poco profesional buscar las cosas cuando no estás familiarizado. Sin embargo, si no estás reteniendo ese conocimiento y estás continuamente buscando las mismas cosas, entonces podría haber un problema. Eso es ineficiente. Te hace más lento y eso podría ser la causa de la burla. Necesitas aprender lo básico de tu profesión hasta el punto de no tener que buscarlo cada vez.

10
10
10
2016-11-29 20:10:41 +0000

Es mucho más profesional leer la documentación y obtener el código correcto que adivinarlo y equivocarse. Esto es especialmente cierto en un lenguaje como PHP, donde la biblioteca estándar está diseñada al azar, difícil de memorizar y llena de “gotas”.

Toma, por ejemplo, la función mail() . Sabías que…

additional_headers no tiene protección de inyección de cabecera de correo. Por lo tanto, los usuarios deben asegurarse de que las cabeceras especificadas son seguras y sólo contienen cabeceras. Por ejemplo, nunca inicie el cuerpo del correo poniendo varias líneas nuevas.

Si no es consciente de esa advertencia, entonces acaba introduciendo una vulnerabilidad de seguridad .

Al enviar el correo, éste debe contener una cabecera “De”. Esto se puede establecer con el parámetro additional_headers, o se puede establecer un valor por defecto en php.ini.

Esto significa que el comportamiento de su aplicación podría depender de un ajuste de configuración global. Es útil saberlo, para evitar escribir código que parece funcionar correctamente en una máquina, pero que no es portable a otra.

Seguro, podría ser capaz de obtener más código si no lee la documentación cuidadosamente, pero probablemente no sería código de calidad profesional. No hay que avergonzarse de revisar la documentación frecuentemente para asegurarse de que está usando el lenguaje y las bibliotecas correctamente.

7
7
7
2016-11-29 10:20:30 +0000

Buscar cosas de las que no estás seguro ahorra tiempo y también te permite buscar mejores formas de hacer algo. Quedarse atascado haciendo lo mismo una y otra vez de forma ineficiente cuando hay una forma mejor sólo por comprobar la red no es bueno.

4
4
4
2016-11-30 09:21:58 +0000

Hay una diferencia entre “profesional” y “conocedor”. Si hay alguna información que necesito saber, y tengo la opción entre sentarme estúpidamente en mi silla y quedarme atascado, o revisar la documentación, entonces reviso la documentación. Eso es absolutamente profesional.

Si esa información es algo que una persona conocedora en mi posición debería saber, entonces buscarla puede mostrar que no soy tan conocedor como debería, pero aún así es completamente profesional - ya que la alternativa es no conocerla, y no aprenderla. Lo cual (la parte de no aprender) es completamente poco profesional.

Sería tonto asumir que sabes todo lo que deberías saber, porque cada día habrá algo nuevo que deberías saber, que no estaba allí ayer. Incluso si _sabe algo, ¿cómo sabe que su conocimiento es el mejor posible? Consultas la documentación para saber si hay algún conocimiento mejor sobre el mismo tema.

Es raro que haya un problema que no pueda resolver yo mismo. Pero lleva tiempo. Dada la elección entre tomarme una hora para resolverlo yo mismo, y cinco minutos usando Google, pasar la hora es poco profesional.

4
4
4
2016-11-29 22:24:12 +0000

Como otros contestan, no hay tal cosa como ser poco profesional para comprobar la documentación especialmente considerando que eres junior, especialmente considerando que la programación es vasta y siempre hay un detalle que puedes olvidar y tienes una misión para que tu código sea correcto.

Hay sin embargo casos que consideraría ser abusos de documentación.

Tengo un colega que a veces es incapaz de llegar a su propia solución sobre un problema determinado. Por lo tanto, a veces procede a revisar la web sobre cómo resolver su problema. La última vez, por ejemplo, comprobó cómo un marco web estaba arquitecturando validadores y contadores de errores porque tenía una característica aparentemente similar al diseño.

Este es un caso en el que lo que buscas es demasiado abstracto para que Internet te ayude. Peor aún, podrías encontrar soluciones que aparentemente encajan, pero en realidad no lo hacen, porque se aplican a un caso de uso diferente. Al tratar de agarrar algún código/arquitectura/patrón prefabricado tendría más o menos código inyectado en nuestra base que podría haber funcionado, pero sería difícil de mantener porque está escrito por otra persona con un propósito diferente.

No miro la documentación a menudo porque escribo código que usa mayormente características del lenguaje central (sin marco de trabajo) y estoy dotado de una memoria confiable cuando se trata de código, pero uso el documento cada vez que estoy atascado en algo trivial. Sin embargo, si estoy atascado en algo de mayor nivel, lo bueno es buscar ayuda de un colega con más experiencia, obtendrás una respuesta mucho mejor.

2
2
2
2016-12-02 12:29:29 +0000

Ya tienes algunas buenas respuestas, pero déjame añadir un pequeño giro…

Me gusta la gente que usa documentación y es una gran señal de tu profesionalidad.

No uso documentación

Conozco suficientes programadores que se tropiezan sin un plan real durante largos períodos de tiempo, intentando esto y aquello por casualidad, revisando código fuente antiguo donde lo que quieren conseguir parece que ya se ha hecho (pero no se ha hecho del todo) y así sucesivamente. Francamente, detesto este tipo de enfoque. Nunca llegan muy lejos, a menudo tienen que preguntar a la gente, rara vez aceptan consejos y prefieren continuar así para siempre, aparentemente.

¿Sólo tutoriales?

La gente busca frecuentemente en Google tutoriales o fragmentos de código incluyendo SO, sin referirse nunca a la documentación, me irrita hasta el final. Este comportamiento es una gran trampa, en mi opinión. Conduce a un tipo de programación alimentada por un “conocimiento” a medias, arbitrario y poco sistemático. Esos programadores tienden a terminar con muchos prejuicios. De aquí vienen nuggets como “nunca use git rebase”, “nunca use not in en SQL”, “siempre haga XXX”, “nunca haga YYY”. Les resultará muy difícil pensar fuera de la caja, proponer nuevas ideas, formar intuición sobre cómo estructurar sus aplicaciones y todas esas cosas que hacen a los grandes desarrolladores.

Les insto a resolver cualquier problema primero mirando la documentación/referencia, y luego buscar SO u otros recortes.

Por supuesto, hay excepciones. Si su problema es obviamente algo como un error, o algo muy, muy, muy especial que es improbable que se maneje en cualquier tipo de documentación (por ejemplo, una combinación especial de librerías/módulos etc.), entonces por todos los medios ve directamente al SO.

Si es algo que podría ser fácilmente resuelto por la documentación/API, entonces sugeriría sentarse y trabajar en esa parte particular de tu lenguaje de programación / librerías etc. para que tu conocimiento sea más ajustado.

Documentación

El mejor tipo, para mí, es un programador que, cuando se encuentra con un nuevo tema, se toma el tiempo para sentarse realmente, indagar en él, obtener una buena visión general y una buena comprensión técnica. Esto se consigue la mayoría de las veces (de nuevo, en mi experiencia, con los muchos lenguajes de programación con los que he tenido contacto) leyendo la buena y vieja documentación, incluyendo las referencias de la API y demás. Esto, en mi opinión, nunca puede ser reemplazado por nada más.

No me parece descabellado leer, por ejemplo, los viejos clásicos de C++ (buen papel), la Pandilla de Cuatro Patrones de Diseño, el (versión online del) manual de “Programación Ruby”, las extremadamente bien hechas páginas de Perl, el libro de Git, ciertas RFCs, las especificaciones HTML/XML/etc. y así sucesivamente de adelante hacia atrás. Lo haría y lo he hecho incluso en mi tiempo libre y, francamente, lo esperaría de cualquier programador que valga la pena (dependiendo de con qué estén trabajando, obviamente). También soy plenamente consciente de que estoy (al menos en las empresas en las que he trabajado, en los últimos decenios) bastante solo con esta opinión.

(N.B.: Obviamente no es necesario memorizar enormes listas de referencias de API, pero al menos hay que pasarlas por alto para ver lo que está disponible y cuál es el “espíritu” de la API. )

Después de sentirse completamente cómodo con el tema, entonces es el momento de mirar el código de terceros para inspirarse, o de mirar preguntas SO más antiguas (o hacer nuevas preguntas usted mismo).

También podría encontrar que cuando ha absorbido un campo como este, es muy fácil encontrar respuestas haciendo un zoom directo a la carne de donde sea que obtenga su documentación (páginas de manual, etc.). En este punto, la autocompletación de tu editor también podría ser suficiente. Y es posible que pronto sepas cuando algo no es posible con la herramienta con la que trabajas, ahorrando así muchas búsquedas inútiles.

0
0
0
2016-12-05 01:57:48 +0000

Tu habilidad como programador se basa en cómo puedes tener una visión completa y diseñar soluciones efectivas, no en cuántas APIs puedes memorizar. El objetivo es hacer el trabajo de forma correcta y eficiente. Si tuvieras que buscar cada API y cada detalle, entonces diría que tienes algunos problemas. Yo esperaría que un buen desarrollador se familiarizara a fondo con todo lo que se utiliza con frecuencia, recientemente y de forma rutinaria, pero que no desperdiciara su capacidad intelectual en cosas que se utilizan con poca frecuencia cuando se pueden consultar fácilmente. Si usted visitara el desbordamiento de la pila más o menos una vez al día, no sería un problema; si usted está en él la mayor parte de su típico día de trabajo, eso sería un problema.

-1
-1
-1
2016-12-06 14:36:27 +0000

Se burlan de mí por usar el desbordamiento de pila/documentación tan frecuentemente

Las opiniones de otras personas sobre ti no definen , sólo definen ellos

¿Usar documentación como desarrollador me hace parecer poco profesional?

No… parte de ser profesional es la competencia para hacer el trabajo. Se burlan de ti porque tus colegas son unos matones, no por nada que estés haciendo mal.

“Un cirujano no puede leer sus libros cada vez que tiene que operar a un paciente”.

¿Por qué no? Soy escéptico de esa afirmación, a menos que haya una inusual falta de tiempo. Usar material de referencia sólo lleva segundos.

si tengo que escribir un código durante una entrevista para otro trabajo supongo que no debería usar la documentación

Depende de las reglas de la entrevista, algunas lo permiten, otras no. En particular, si se trata de una prueba puede estar permitido. ¡Es una buena idea comprobar primero!