Hablando por mí mismo, generalmente se trata de cuatro cosas: malas preguntas, respuestas complejas, la importancia de aprender a resolver las cosas por ti mismo y tiempo limitado.
Primero, malas preguntas. Cuando alguien me pregunta ‘¿qué lenguaje de programación es mejor?’ o ‘¿Cómo me convierto en un desarrollador increíble sin experiencia?’ o ‘¿cómo puedo crear un sitio web como (inserte el nombre de una aplicación compleja desarrollada por un equipo de docenas durante años)?’ están haciendo una pregunta que no puedo responder, porque la pregunta en sí está mal pensada. El autor de la pregunta quiere una respuesta a una pregunta que no tiene sentido (diferentes idiomas hacen cosas diferentes y, por lo tanto, lo mejor no es una idea útil), o quiere saber cómo hacer algo que es imposible (no se vuelve bueno en nada. de la noche a la mañana, y una persona, de manera realista, no podía construir ni siquiera Quora en una cantidad de tiempo realista). La mayoría de las preguntas que los aspirantes a desarrolladores hacen están en esta categoría. No tienen sentido, y todo lo que podemos decir es que ‘la programación no funciona así’.
En términos más generales, esto refleja un profundo malentendido entre los no desarrolladores y los nuevos desarrolladores acerca de qué se trata la programación. Los no programadores tienen la idea de que la programación consiste principalmente en escribir algoritmos muy complejos. Los programadores reales le dirán que la programación se basa principalmente en equipos de personas que realizan sus tareas de manera confiable y puntual, a menudo utilizando componentes simples que deben ensamblarse correctamente en un producto funcional. He usado esto como una prueba de fuego antes en las entrevistas. Si le pido a un desarrollador que ordene una serie de números, y creen que estoy pidiendo un algoritmo de ordenación manual, tienen una idea equivocada sobre su trabajo. La única respuesta que necesita es array.sort (), para que pueda pasar a hacer dinero a la empresa.
Segundo, respuestas complejas. Si alguien me pregunta “cómo me convierto en un buen desarrollador”, la respuesta es enorme y multifacética. Necesito hablar sobre habilidades interpersonales, humildad, aprendizaje, trabajo en equipo, análisis de problemas, estimación, responsabilidad, pruebas, higiene de códigos, depuración, refactorización, pruebas de pirámides, rendimiento, seguridad, modelado de datos, UX y una docena de otros temas. Hay enormes libros que responden a esa pregunta desde una variedad de ángulos. Si un aspirante a desarrollador me pregunta “cómo puedo modelar mejor estos datos en una base de datos relacional” o “por qué no debería hacer una asignación dentro de un condicional”, puedo explicarlo rápidamente. Pero ‘¿cómo me convierto en un buen programador?’ Es una pregunta tan grande que solo puede responderse mediante resúmenes trillados o tomos pesados.
- ¿Qué significa que el ego es pensamiento y el ser se siente?
- ¿Lloran los psicópatas cuando alguien les golpea la cara? No quiero decir que se pongan tristes.
- Estoy haciendo una presentación sobre Kevin Richardson. ¿Por qué las personas como él se oponen a la cría en su santuario?
- ¿Por qué las personas se preocupan por los spoilers?
- ¿Por qué no me importa?
Tercero, tienes que aprenderlo tú mismo. Esto es más cierto para los problemas técnicos que para los más interpersonales. Una gran parte de la programación es descubrir por qué diablos algo está roto. No puedes practicar esta habilidad si alguien está ahí para dar una respuesta. Es por eso que por lo general no doy a los desarrolladores junior soluciones concretas a los problemas hasta que hayan pasado por lo menos algún tiempo resolviéndolos ellos mismos. Necesitan practicar resolviendo problemas para mejorar.
Finalmente, tiempo limitado. Si me pide que responda una pregunta realmente compleja, es probable que no tenga tiempo para dar una buena respuesta, por lo que preferiría no responder en absoluto. Mimd, si estuvieras en mi equipo o un amigo cercano, y yo tenía un interés en tu crecimiento, me tomaría el tiempo. Pero es difícil justificar tomar horas para un extraño.