A menudo tengo miedo de decirles a los demás que hago preguntas sobre Stack Overflow . Un buen programador debería ser capaz de resolver problemas buscando soluciones de forma independiente, ¿no?
Siento que si alguien sabe que hago preguntas sobre Stack Overflow, podría dar la mala impresión de que necesito que alguien me ayude en lugar de poder resolver el problema de forma independiente. ¿Es eso cierto?
Creo que tu razonamiento es erróneo.
Uno de los aspectos más importantes de la ingeniería es: no reinventar la rueda. Claro, ser autónomo y capaz de encontrar su propia solución a un problema es muy importante y parte de lo que hace a un buen ingeniero. Pero antes de hacer eso, hay algo que debes hacer cada vez .
Busque una solución ya existente.
¿Por qué perdería tiempo buscando una solución por sí mismo si alguien ya lo hizo antes y dejó suficiente material en Internet (o en cualquier otro lugar, en realidad) para que usted simplemente lo recoja y lo use? No se trata de hacerlo solo. Se trata de hacerlo. Y si puede encontrar una solución ya existente, ahorrará bastante tiempo.
Los ingenieros son vagos en el buen sentido de la palabra: no les gusta perder el tiempo resolviendo problemas ya resueltos. Estás aquí para resolver problemas no resueltos, por eso eres valioso. En ese sentido, navegar por Stack Overflow y hacer preguntas es verificar si alguien ya resolvió tu problema. Incluso si se trata de un problema puramente técnico, será más rápido preguntar y obtener una respuesta rápidamente que luchar solo por "hacerlo usted mismo". También será mucho más rápido (lo más probable), y eso le va a gustar a tu jefe.
Siga usando Stack Overflow, lo hace más eficiente y le permite trabajar en tareas que realmente valen la pena.
One of the most important aspects of engineering is: don't reinvent the wheel
Fíjate que hay algunos que todavía no lo piensan y prefieren reinventarlo una y otra vez.No debería decirle a los demás que hago preguntas en Stackoverflow
Como desarrollador, puedo decirle que no debería haber absolutamente ningún inconveniente para que otros sepan que usted le pide ayuda a stackoverflow de vez en cuando.
Hablando racionalmente, no siempre es posible saberlo o obtener la respuesta a su problema a través de búsquedas en Google o investigando en libros, etc. Sin embargo, stackoverflow como recurso le permite tener acceso a miles de desarrolladores capaces que están dispuestos a ayudar. con su problema, esto debe verse como un recurso invaluable.
Cualquier empleador o colega que piense menos de usted por usar stackoverflow para hacer preguntas de programación, honestamente no está de acuerdo. Debe esforzarse por encontrar la mejor solución para su problema, en algunas situaciones que pueden requerir buscar la respuesta correcta. Es su capacidad para determinar la mejor ruta hacia una solución lo que lo define como desarrollador.
Recuerdo que hubo un artículo que salió el año pasado † , que entrevistó a varios desarrolladores destacados y bien hablados de grandes empresas como Google, Apple y Microsoft. El artículo preguntaba a cada desarrollador cuál era la cosa más tonta que aún tenían que buscar en Google o buscar. Las respuestas variaron desde el formato de las declaraciones de cambio hasta la cantidad de bits en un byte, etc. El punto es que es imposible que un desarrollador sepa todo, pudiendo admitirlo y buscar la solución a través del mejor medio. es en realidad una habilidad valiosa para tener.
Editar (Gracias a Martin en los comentarios a continuación)
† El artículo al que hice referencia anteriormente se puede encontrar en este enlace.
Ya se han hecho buenos puntos, pero para agregar mis dos centavos:
Si fuera un gerente/líder de equipo, ¿qué preferiría: un desarrollador demasiado confiado que lo hiciera todo solo, o uno que no tenga miedo de buscar ayuda/orientación cuando sea necesario?
Incluso he oído hablar de empresas en las que "no pedir ayuda" se consideraba un rasgo negativo durante las revisiones de rendimiento anuales.
Pero, por supuesto, tenga cuidado de no revelar información comercial confidencial.
Desde la perspectiva de alguien que contrata y administra desarrolladores....
Siento que si alguien sabe que hago preguntas sobre Stack Overflow, podría dar la mala impresión de que necesito que alguien me ayude en lugar de poder resolver el problema de forma independiente.
Dicho de manera más general:
Siento que si alguien sabe que hago preguntas, podría dar una mala impresión de que necesito ayuda.
Esta es una trampa en la que caen muchos desarrolladores (y empleados en general).
Te puedo decir, por experiencia propia, que las malas impresiones han venido en su mayoría de aquellos que intentan transmitir que no necesitan ayuda.
Una de las características más importantes que busco en las personas (no solo en los desarrolladores) es su disposición a autoevaluarse y reconocer cuándo necesitan ayuda. Es este rasgo el que se valora mucho porque me dice de inmediato que el empleado está abierto a nuevas ideas y en un estado continuo de aprendizaje.
Además, ya no trabajamos en un entorno aislado donde todos/todo está compartimentado entre sí. Estamos socialmente comprometidos en todos los aspectos de nuestros trabajos. "Trabajar de forma independiente" no significa aislarse de otros recursos.
Su valor como desarrollador no está en saberlo todo, sino en saber cómo acceder al conjunto de conocimientos para desarrollar una solución al problema en cuestión.
un buen programador debería ser capaz de resolver los problemas buscando soluciones de forma independiente.
Sí.
Si alguien sabe que hago preguntas en Stackoverflow, puede dar la mala impresión de que necesito que alguien me ayude en lugar de resolver el problema de forma independiente. ¿Es eso cierto?
No. Eso es falso.
Piense en Stackoverflow como un motor de búsqueda ampliado. En lugar de escribir 3 palabras de búsqueda en Google y luego filtrar muchos resultados, está escribiendo una solicitud de búsqueda muy larga en una pregunta SO y luego revisando más tarde hasta que la "máquina de búsqueda SO" haya devuelto sus resultados.
Además, como saben todos los que alguna vez han hecho una pregunta técnica, el simple hecho de hacer la pregunta a menudo conduce a la comprensión. A menudo he escrito una pregunta larga, larga; después de escribirlo y antes de publicarlo, noté que mis compañeros de SO probablemente me dirían que esta es una mala pregunta debido a X, Y y Z. Mientras trabajaba para mejorar X, Y y Z, encontré el responder. Problema resuelto.
Entonces, no, no debe sentir nada bueno o malo sobre el uso de SO en la forma en que fue diseñado para los programadores, es solo una herramienta.
Tenga cuidado con el uso de todos los otros sitios SE demasiado descaradamente, obviamente, durante las horas de trabajo...
Aquí hay otra perspectiva: si ha rastreado Internet (y SO) durante horas y aún no puede encontrar una respuesta a su pregunta, es posible que esté en algo y se esté moviendo hacia una frontera del conocimiento. ¡Esto no es malo, es emocionante!
Publique su pregunta, tal vez nadie tenga una respuesta... y si termina resolviéndola usted mismo y publicando su solución, habrá dejado un artefacto potencialmente valioso para futuros desarrolladores.
Y, de manera más general, si su empleador piensa que las buenas preguntas son malas, váyase. Los jefes y gerentes deberían facilitar su crecimiento como empleado, no encerrarlo.
No tendría miedo de informar a mis compañeros de trabajo, gerentes o posibles empleadores que he hecho preguntas sobre SO. Hacer preguntas significa que tenía un problema y pensó que hacer una pregunta lo ayudaría a resolverlo (ocasionalmente significa que resolvió un problema y pensó que valía la pena compartir la solución). No es un signo de incompetencia.
Tendría cuidado con la calidad de la pregunta y el nivel de experiencia implícito en la pregunta.
Si está preocupado, le sugiero que revise sus preguntas y vea qué piensa de ellas ahora y si se pueden mejorar. Las preguntas, al igual que las respuestas, se pueden editar.
Si bien estoy de acuerdo con las respuestas proporcionadas hasta ahora, en realidad no abordan la pregunta formulada:
si alguien sabe que hago preguntas sobre Stack Overflow, podría dar la mala impresión de que necesito que alguien me ayude en lugar de poder resolver el problema de forma independiente. ¿Es eso cierto?
La respuesta a esto es "Sí, podría dar una mala impresión a la gente", por varias razones:
Dicho esto, el mundo será mejor si seguimos los buenos consejos dados en las otras respuestas;)
Ya hay algunas respuestas excelentes, pero quería agregar dos ideas que no he visto que realmente me ayudaron a superar este problema.
La primera es que las escuelas nos condicionan a pensar que pedir ayuda a los compañeros es "hacer trampa". Los programadores pasan por más de 16 años de este condicionamiento, y solo ser conscientes de ello puede hacer que sea más fácil romper el hábito.
La segunda es que todos son principiantes en algo. La gente no te menosprecia por aprender algo nuevo. Todo lo contrario, de hecho. Las personas son menospreciadas por tener demasiado miedo de tratar de aprender algo nuevo. Las personas incluso se desprecian a sí mismas por tener demasiado miedo de aprender algo nuevo.
Muchas buenas respuestas ya, solo agregaré una anécdota.
Estaba hablando con mi jefe el otro día sobre uno de los problemas que había resuelto. También mencioné que tenía que buscarlo.
Jefe: ¿Strackoverflow?
yo: si
Jefe: Me encanta ese recurso, me ahorra mucho tiempo.
No estoy al tanto de la connotación negativa de StackOverflow...
Cabe mencionar que, en ese momento, era un trabajo de verano ya que todavía era estudiante. Mi jefe también sabía que no tenía experiencia previa con C++ y que estaba aprendiendo a medida que avanzaba en el proyecto que me dieron (que tenía que implementarse en C++).
Sus expectativas sobre mí podrían haber sido diferentes de las expectativas que su supervisor tiene sobre usted, pero los empleadores generalmente prefieren empleados que obtienen resultados efectivos de manera eficiente que aquellos que se toman su tiempo por orgullo.
Un buen programador debería ser capaz de resolver los problemas buscando soluciones de forma independiente, ¿no?
¡EQUIVOCADO! No solo es comprensible ser consciente de los límites del conocimiento propio manejado en un momento dado por nuestros recursos mentales finitos y llegar a la comunidad de expertos que nos brinda Internet, sino que diría que es innecesariamente autolimitado no hacerlo. hazlo De hecho, iría tan lejos como para decir que pediría a los candidatos en las entrevistas que me describieran algunas preguntas que hayan hecho recientemente sobre SO, suponiendo que lo hayan hecho. No recomendaría contratar a alguien que no utilice este fantástico recurso de hacer tapping en la mente y el conocimiento de la comunidad.
Otra perspectiva es que al hacer preguntas estás haciendo un servicio comunitario: otros pueden encontrar útiles las respuestas a esa pregunta (y con suerte no repetirlas). E incluso si no tiene preguntas y está trabajando en un diseño, por muy seguro que esté, incluso además de tener una revisión de código interna, puede obtener muchos consejos útiles sobre la revisión de código .
Entonces, no, no debe evitar decirles a los demás que usa este gran recurso . Por el contrario, debe promocionarlo y publicitarlo.
Siento que si alguien sabe que hago preguntas sobre Stack Overflow, podría dar la mala impresión de que necesito que alguien me ayude en lugar de poder resolver el problema de forma independiente.
No creo que saber que usa Stack Overflow como un recurso sea intrínsecamente algo negativo, sin embargo, tiene en cuenta Stack Overflow. Una vez que lo mencione, es posible que pasen el tiempo mirando las publicaciones que ha realizado, tanto preguntas como respuestas.
¿Las preguntas muestran buenas habilidades para resolver problemas? ¿Demuestran un conocimiento del tema, tratando de resolver un problema difícil, y no alguien que todavía intenta comprender conceptos simples que no puede o no encuentra la respuesta a través de Google u otros métodos más rápidos?
Así que no, el simple hecho de saber que usa Stack Overflow no va a ser negativo o positivo en general (aunque hay muchos que están sesgados a favor o en contra). Sin embargo, dependiendo de cómo lo use y de si pueden encontrar su perfil, es posible que les brinde más información sobre usted como candidato, y eso puede ser bueno o malo dependiendo exactamente de cómo lo use.
Cuando estaba buscando consejos sobre cómo hacerlo bien en una entrevista de codificación, especialmente para una empresa como Google, había un par de cosas que me repetían constantemente como cosas que debía hacer:
Ignorar estos puntos fue la vía rápida para fallar en la entrevista, fue la impresión que tuve. La conclusión aquí es que la capacidad de buscar ayuda y hacer preguntas es una cualidad muy deseable en un ingeniero. Esto se aplica tanto a preguntar a sus colegas como a Internet, incluido Stack Overflow. Personalmente, desconfiaría de cualquier ingeniero que insistiera en hacer todo por sí mismo, porque probablemente significa que 1) no funcionan bien con otros, o 2) su código no es tan bueno como podría ser.
Además, todos los programadores que conozco usan Stack Overflow, incluido yo mismo. Tengo dos pestañas SO abiertas en este momento.
Depende completamente de quiénes sean los 'otros', su actitud hacia / conocimiento de SO y el contexto en el que se lleva a cabo esta conversación . Una cosa es que te pregunten en una entrevista : "¿Cuéntanos tus diez mejores recursos para hacer tu trabajo y por qué?" Otra cosa es que te pregunten : "¿Por qué navegas constantemente por todos estos sitios de terceros, algunos de los cuales (por ejemplo, Careers.SO) parecen ser sitios de trabajo? ¿No estás trabajando?"
Si "otros" significa gerentes , nunca le diga a un gerente no técnico (o superior) "Paso un tiempo en el trabajo haciendo o respondiendo preguntas relacionadas con el código en otro sitio web" .
Además, los tipos legales a menudo se mojarán los pantalones ante la perspectiva de la divulgación o la contaminación del código/licencia/IP. Cuanto menos amigable sea la empresa con el código abierto, mayor será el peligro.
En cuanto a los desarrolladores , algunos se burlan de SO (en algunos casos, con buenas razones). La mayoría de los desarrolladores tienen un canal secundario de contactos personales, listas de correo, foros, grupos de usuarios, canales de chat, incluso seguidores de Twitter, donde pueden obtener más rápidamente opiniones o recomendaciones de muy alta calidad, sin el drama y las restricciones de alcance limitado de SO. ¿Alguna vez trató de solicitar una recomendación de paquete en SO? Pese. ¿Una recomendación de compra? Pese. ¿Una pregunta semiobjetiva que, sin embargo, requiere años de experiencia de su audiencia? Pese. Todo se cerrará alegremente con las humillaciones sarcásticas que han hecho que SO, ejem, sea notorio, en algunas comunidades lingüísticas peor que en otras. Por supuesto, también hay desarrolladores que encuentran SO útil. Entonces, conozca a su audiencia antes de decirles.
En cuanto a los tipos no técnicos , no puedo ver cómo SO surgiría alguna vez en una conversación, aparte de "Yo/Mi hijo quiere aprender a codificar/guionizar MineCraft/programar un controlador doméstico/programar Hangman, etc. ¿Cómo ¿Haz eso?"
Perdóname por no leer todas las respuestas.
No hay nada de malo en usar SO. Usar respuestas sin entenderlas es malo. Es posible que no comprenda los casos de esquina donde hay efectos secundarios.
Hacer preguntas de la manera correcta es una habilidad vital en muchas disciplinas, incluido el desarrollo de software. Si agotó las respuestas fácilmente accesibles en Internet y no encontró lo que necesita, entonces preguntar en Stack Exchange es una respuesta perfectamente buena.
Asegúrese de tomarse el tiempo para describir bien su problema. Asegúrese de que toda la información relevante esté presente y de resumir los enfoques que ya ha encontrado inaceptables. Explique su pensamiento y por qué se inclina en una dirección particular. Haga preguntas pertinentes e interactúe con sus (potenciales) respondedores.
De esta manera, no solo no necesita ocultar sus actividades de cuestionamiento, sino que también puede promocionarse activamente. Muestre a las personas las preguntas que hizo y cómo trabajó con otros para refinar tanto la pregunta como las respuestas. Este tipo de esfuerzo solo puede brindarle una exposición positiva.
No hay diferencia en preguntar en SO que pedir consejo a un alto cargo de su empresa. En realidad, preguntarle a SO en lugar de a un senior es mejor porque demuestra que está haciendo todo lo posible para encontrar una solución antes de tomar el tiempo de un colega para pedir ayuda.
Siempre me enseñaron que la única pregunta tonta es la que no se hace. Así que no tengas miedo de hacer preguntas. He estado programando durante 8 años más o menos y todavía hago preguntas sobre Stackoverflow.
Pero tengo una regla de que primero trato de resolverlo yo mismo, y si no puedo, entonces hago la pregunta.
A tus colegas no les debería importar de dónde aprendes o cómo aprendes, el estilo de cada uno es diferente.
De lo único que me aseguraría es de que no esté preguntando sobre algo que pueda comprometer la propiedad intelectual de su empresa, aparte de eso, pregunte :-)
Bueno, digo que si no puede encontrar una respuesta a su pregunta en la pila, por favor pregúntela, ayudará a muchas personas en el futuro. "Un buen programador sabe cómo encontrar cosas por su cuenta" - hmmm bueno, además de apilar otros sitios web/recursos, la mayoría de los programadores usan "el sitio web oficial de ese código en particular" - hmm ha habido momentos en que ese código en ese sitio estaba obsoleto , o incorrecto, o simplemente pasó por alto dejando a los desarrolladores en un estado de WTF. Nunca se sabe que la pregunta que hace puede evitar que un desarrollador pierda su trabajo porque la respuesta lo ayudó a codificar una aplicación y encontrar errores o accesos directos. Los libros no pueden explicar completamente todo. Por ejemplo, Big Nerd Ranch es conocido por sus libros de Android, que leí pero olvidaron una cosa que era una actividad que debe implementar un fragmento en la interacción Listener.
Mónica Celio
BeboyConozcoCosas
Andrés Lázaro