¿Qué piensan los programadores senior?

El autor del material, cuya traducción publicamos hoy, apoya la idea de Ralph Waldo Emerson de que nos convertimos en lo que pensamos. Aquí hablaremos sobre la forma de pensar de los programadores senior.



Es imposible aprender absolutamente todo.


Hay una gran cantidad de tecnología. Es imposible estudiarlos a todos.

Encuentre la pila de tecnología que más le convenga. Elija las tecnologías que le permitan crear lo que necesita y estudiarlo a fondo. Por ejemplo, si está interesado en el desarrollo web moderno, la pila MERN sería una buena opción. Incluye MongoDB, Express, React y Node.js. Estas tecnologías son para quienes gustan de JavaScript.

Hay, por supuesto, otros conjuntos de tecnologías. Por ejemplo, la pila MEAN. Aquí, en lugar de React, Angular se usa para desarrollar la interfaz. Entre otros conjuntos de tecnologías que se pueden dominar, vale la pena señalar, por ejemplo, una combinación de PHP, MySQL, HTML y CSS. Aquí, la interfaz utiliza HTML y CSS puro. Si está interesado en el desarrollo del servidor, puede prestar atención a Ruby y Ruby on Rails.

La idea principal aquí es esta: lo que elija, es mejor atenerse a esta opción y llevar a la perfección su conocimiento en el campo relevante. No debe convertirse, por así decirlo, en el "aprendiz de todas las manualidades", un desarrollador que no ha logrado el dominio de nada concreto. Esto lleva a caminar en círculo, y esto claramente no es lo que necesita.

Los desarrolladores no son solo personas con documentos educativos relevantes


Soy un desarrollador autodidacta. En mi negocio, tuve éxito gracias a una combinación de trabajo duro, paciencia, persistencia, concentración.

El hecho de que para convertirse en desarrollador no sea necesario graduarse de una universidad no significa que el desarrollo sea simple. Convertirse en desarrollador no es fácil. Y al avanzar hacia la meta, no debes permitirte considerar el final de todo como una pequeña derrota a toda costa. Se trata de luchar por un objetivo.

Si, ante las dificultades causadas por la falta de educación básica, simplemente se rinde, entonces, por supuesto, no se logrará nada. El secreto es que, después de que algo salga mal, intente nuevamente. Es hacer un intento más y mantener la línea siempre, todos los días, cada vez, cuando parece que todo ya está perdido. Cuando surge ese sentimiento, cuando parece que es el fondo, debe recordar que esto generalmente es una señal de que el objetivo está casi alcanzado, de que queda muy poco. En tales casos, solo tiene que ofrecerse para intentarlo nuevamente y convertir los obstáculos en oportunidades.

La mayoría de las personas a la primera señal de fracaso están listas para abandonar inmediatamente sus objetivos e intenciones. Y solo muy pocos luchan hasta el final, despreciando todas las dificultades, hasta que logran su objetivo.

Napoleon Hill

Aprende el arte de buscar en línea


Ahora que ha comenzado a programar, debe saber que tendrá la sensación de que todo lo que hace no tiene sentido. Es normal no saber las respuestas a todas las preguntas, especialmente cuando recién comienza su viaje. Es importante saber dónde buscar respuestas.

La programación es una solución a los problemas. Si no puede pensar en cómo resolver el problema que está enfrentando, busque la manera de resolverlo en la Web. Busque en Internet a alguien que sepa cómo resolver el problema que enfrenta y aprenda de él. Esta es exactamente la mejor manera de aprender programación.

Aquí hay consejos valiosos para usted: todas las tareas en la esfera de programación que enfrenta hoy probablemente ya han surgido antes que los programadores. No reinventes la rueda. Es mejor tomar esta rueda, ya inventada por alguien, y usarla.

Los plazos tienden a romperse


No importa cuán bueno sea el plan, evaluar los plazos siempre es muy difícil. Existen varias estrategias utilizadas por las empresas en la gestión de proyectos. Creo que la más popular de estas estrategias es Agile.

No importa cuán detallado sea el proceso de desarrollo. En el curso del trabajo, siempre habrá algunos obstáculos. No importa cuán buenos sean los miembros del equipo, desde analistas comerciales hasta especialistas en calidad de software. La fecha límite para completar siempre es inexacta. Esta fecha tendrá que ser movida. Los plazos siempre son aproximados. En la mayoría de los casos, en grandes empresas, cuando se desarrollan aplicaciones empresariales, es normal aumentar los plazos en un par de meses.

Pero si hablamos de pequeños proyectos que se realizan para pequeñas empresas, los plazos para la puesta en marcha de dichos proyectos ya son más estrictos. Si planea participar en un proyecto de un tercero, entonces, durante las negociaciones, los clientes a menudo preguntan cuándo estará todo listo. Algunos representantes comerciales no están interesados ​​en cómo se hará el negocio. Es importante que conozcan solo la fecha límite para la finalización del proyecto.

Por lo tanto, tenga cuidado al nombrar fechas y establecer plazos. Por lo general, aquellos con los que está hablando consideran que estos plazos no cambian. Es mejor confiar en el hecho de que el trabajo llevará más tiempo del previsto. Estamos hablando de resolver problemas inesperados, depuración y otras cosas por el estilo. Es mejor sorprender al cliente con la entrega del proyecto antes de lo programado que molestarse al romper el plazo. En general, como dicen, mantener la marca.

La depuración es el 60% del trabajo, y la programación es el 40%


Quizás la idea presentada en el título es la estimación más precisa de la distribución de tiempo del programador que he encontrado.

Paso la mayor parte de mi tiempo depurando. El último proyecto que desarrolló mi equipo fue una aplicación de Android para un cliente de atención médica. Utilizamos React Native. Estuve involucrado en la interfaz de este proyecto.

Suponga que en un mes tardó unos 10 días en crear la parte cliente de la aplicación. El resto del tiempo se dedicó a la depuración, a la lucha contra los errores. Por ejemplo, con errores causados ​​por dependencias e incompatibilidad de diferentes versiones de diferentes paquetes.

Este fue mi primer proyecto para la plataforma Android. Las semanas se gastaron solo en la depuración de algunas partes de la aplicación y en verificar que estén organizadas exactamente según sea necesario, incluido el uso de ciertas versiones de dependencias en ellas.

Crear una aplicación es interesante y agradable. Pero la depuración es difícil e incluso muy larga. Pero a donde ir. Esto es parte del trabajo del programador.

Quiero dar aquí una recomendación con respecto a la mentalidad de los programadores senior. Si está luchando sin éxito con el mismo problema, por ejemplo, durante una hora, intente tomar un descanso. Haga otra cosa, libere su mente ... A veces nosotros mismos somos la fuente de los problemas que enfrentamos.

Fingirás que sabes muchas cosas, aunque, de hecho, no sabes


Yo también hice eso. Por ejemplo, varios colegas discutieron algunas de las tecnologías que utilizaron o las nuevas tecnologías en las que estaban interesados. Al escucharlos, asentí y me comporté como si entendiera bien lo que se estaba discutiendo. Pero en realidad no fue así. En realidad, quiero transmitirles la idea de que esto es normal y que no están solos en esto.

Hay una gran cantidad de tecnología. No es realista comprender todas estas tecnologías.

No recuerdo. Esforzarse por entender


He estado prestando mucha atención a la importancia de aprender los conceptos básicos de la programación.

Inicialmente, la capacitación consiste en copiar código de tutoriales, repositorios y otros lugares. Esto es normal, pero siempre y cuando la persona que copia el código lo entienda. Si no comprende el código, copiarse no enseñará nada.

Después de varios meses de tales estudios, una comprensión más profunda de lo que comenzará a venir. Es decir, una persona comenzará a aprender construcciones de código sintáctico y algunos principios de programación. Entonces debería llegar el momento en que resulte, sin preguntar, resolver algunos problemas usted mismo. Requiere los esfuerzos conscientes de alguien que está aprendiendo a programar. Es decir, necesita resolver problemas creando código usted mismo, utilizando su propio enfoque para resolver problemas, su propio estilo, sus propias ideas.

El punto aquí es no pasar demasiado tiempo "copiando" el código. No tenga miedo de resolver de forma independiente varios problemas. El camino de la prueba y el error enseñará más que copiar y pegar, por lo que vale la pena realizar tareas y trabajar en ellas hasta que lo que parece complicado comienza a parecer simple y comprensible. Esto, por supuesto, llevará tiempo, pero esto es programación.

La documentación es tu salvación.


Usted desde el futuro se lo agradecerá hoy por el código bien documentado.

Cuando comience a programar, trabajará lentamente en un par de proyectos. Luego se les agregarán algunos proyectos más. Y luego te pierdes.

Y entonces será así. Estás trabajando en el proyecto No. 11, y el jefe, inesperadamente, te recuerda el proyecto No. 2. Necesita continuar trabajando en este proyecto. El Proyecto No. 2 es ahora su negocio más importante. Y antes, hace un año, el proyecto número 2 fue pospuesto indefinidamente.

Nadie le dijo que el proyecto No. 2 puede volver a ser importante, por lo que no se ocupó de crear documentación para este proyecto. Como resultado, cuando regrese a su código, es muy probable que se olvide de algunos detalles importantes de su implementación. Y lo más desagradable aquí es que le dijiste a tu jefe que el proyecto No. 2 estaba listo en un 60%. Por lo tanto, solo le darán un par de semanas para completarlo.

En realidad, la moraleja de esta fábula es la siguiente: debes dedicar tiempo a documentar todos los proyectos que creas. La documentación salva vidas.

Prepárate para el hecho de que tienes que aprender constantemente


Este es un pensamiento muy importante.

El hecho de que haya dominado perfectamente varios idiomas o alguna pila de tecnología que utilice no significa que no tenga nada que aprender. Hay muchas cosas alrededor que necesitarás estudiar. Las tecnologías se están desarrollando y usted necesita mantenerse al día con ellas. No caigas en la falacia de que lo que sabes hoy será relevante en diez años. Eso no sucederá.

Continúe aprendiendo, esfuércese por aprender más, para mejorar. El hecho es que el desarrollo web es aprendizaje continuo. Creo que aquí radica todo el encanto de este asunto cuando intentas no perder la oportunidad de aprender algo nuevo e interesante.

Las oportunidades van y vienen. Pueden aparecer por un momento, y en un instante pueden pasarse por alto. Por lo tanto, prepárate para actuar. Esté preparado para aprovechar la oportunidad cuando toque a su puerta.

¿Qué ideas crees que ayudan a los programadores a crecer profesionalmente?


All Articles