8 consejos para programadores novatos o una retrospectiva de mi carrera



Hace exactamente 15 años, en este mismo día, con las rodillas temblorosas, crucé el umbral de la oficina de un pequeño proveedor provincial de servicios de Internet. Mi primer trabajo real como programador. Casi sin conocimiento. Una voz delgada y asustada de algún lugar del estómago aconseja darse la vuelta y huir hasta que finalmente caiga en desgracia. Inhalo y exhalo profundamente, y aquí el CEO ya me está conduciendo a una pequeña habitación en el sótano, señalando una computadora medio desmantelada que ha visto mejores tiempos: “Este es su lugar de trabajo. Acomódate ". Así comenzó mi carrera.

Pero avance rápido hasta el presente. Ahora estoy escribiendo estas líneas, sentado en la cómoda oficina del prestigioso centro de negocios en el centro de Moscú. Detrás del trabajo con grandes marcas internacionales y el desarrollo de complejas aplicaciones fintech. Se han leído cientos de libros y se han escrito docenas de artículos. La manía de la grandeza se ha curado durante mucho tiempo. Los puestos directivos se prueban y rechazan. Tranquilidad encontrada. El amor por la profesión se conserva. Sin embargo, este no es un artículo de la serie “Qué tipo de persona soy. Haz lo que tú también harás bien ”. Este artículo trata sobre los errores que cometí y qué podría hacerse mejor. Este artículo es una retrospectiva de mi carrera.

Cambiar la empresa si no hay desarrollo


De vez en cuando me quedé atascado en compañías que claramente han superado el nivel. Parece que pagan un buen dinero, y todo aquí es familiar y conveniente. Vienes por la mañana, elige el modo habitual en la máquina de café. Intercambias chistes con Katya de contabilidad. Te sientas en tu silla, que ha tomado la forma de tu punto suave. Abre la computadora portátil y se sumerge en la rutina diaria de tareas típicas que conoce bien. Atencion Esta es una trampa!

El trabajo no debe convertirse en una tarea. Debe haber desafíos. No todos los días, tal vez no todos los meses, pero si es demasiado fácil para usted, es hora de irse. No hay que tener miedo a las dificultades. Si en la entrevista le pareció que aquí los muchachos están resolviendo problemas demasiado complicados, y seguramente se equivocará el primer día, esta oferta es para usted. Busque las tareas más difíciles, la única forma en que puede mejorar, y no degradarse en la cocina de su empresa favorita durante 4 horas al día.

Sé un programador, no un programador


¡Escribe el código! = Resuelve el problema. El código es solo una de las herramientas para resolver problemas. Oh, cuánto tiempo fue el camino para realizar esta simple declaración. Cuánto tiempo se perdió. A los programadores nos atrae el código con una fuerza terrible. Al ver la siguiente tarea en el Jira, le pasamos los ojos en diagonal y, más bien, ¡más bien escribimos código! Tan pronto como se escribe el código, perdemos interés en la tarea y tomamos uno nuevo.

Desafortunadamente, rara vez se nos plantea tareas transparentes y comprensibles. Antes de abrir el IDE, debo estar 100% seguro de que entiendo el problema que voy a resolver. Un buen marcador aquí es la descomposición. Si puedo pintar la solución en pasos y saber qué resultado producirá cada paso, entonces abro el editor y escribo el código.

Recuerde: su valor como programador no está en un código elegante con una pandilla exótica de cuatro patrones. Ninguna compañía ha tenido éxito debido a la belleza del código (en cualquier caso, no recuerdo tales ejemplos). Siempre tenga en cuenta el resultado final.

No tengas miedo de experimentar


Cada vez que comencé un nuevo proyecto para mascotas, lo comencé con tecnologías conocidas o las cambié después de varias semanas. Es mucho más rápido ¿Cuál es el punto de atormentar con Kafka si tienes un conejo favorito? ¿Por qué ajustar una estructura de datos en documentos si se ajusta fácilmente a un modelo relacional? Cada vez, la idea de que necesito ir rápidamente al prod me impidió desarrollarme. Como resultado, la mayoría de mis proyectos tienen peso muerto en el github, no me traen no solo fama mundial, sino incluso nuevos conocimientos. Intentando cumplir con los plazos que me puse, solo perdí el tiempo.

Experimento No hay prisa. Desarrolla tus horizontes. Si usted es un experto en tecnología, use este conocimiento en el trabajo, pero use herramientas con las que no esté familiarizado fuera de su trabajo. Esto es difícil psicológicamente, porque entenderás que usando un lenguaje de programación bien conocido, ya cosecharás los beneficios de la fama de tu proyecto en las Maldivas. Y tienes que descubrir por qué convertir un hechizo en un int da un código de carácter, no un número.

Lanzar proyectos de mascotas


Hace tiempo que entiendo: para ser un programador exitoso, no es suficiente ser un buen programador. Debe comprender el desarrollo de un producto mucho más amplio que su especialización. ¿Pero cómo lograr esto? Puedo leer cientos de libros sobre marketing y serán inútiles si no pongo en práctica este conocimiento. Puedo suscribirme a los canales de telegramas de los mejores expertos en productos del país, pero ¿qué sucede si no tengo un producto para experimentar?

Desde que comencé mi primer proyecto de mascotas, me ha resultado mucho más fácil encontrar un lenguaje común con frentes, qa, productos, vendedores y cualquier otro miembro del equipo. Después de todo, comencé a entender su trabajo mucho mejor. La programación moderna está muy basada en el equipo, y la experiencia trabajando en mi propio proyecto me ayuda a encontrar puntos en común con otros miembros del equipo.

Aprende a descomponer


Siempre tuve problemas con la atención plena. Cometí errores muy estúpidos en el código. No porque no entendí algo o no sabía cómo hacerlo. Solo estaba desatento. Luché con este problema de diferentes maneras aburridas (por ejemplo, vi el minutero), pero nada me ayudó. Naturalmente, después de cada error, mi autoestima cayó bruscamente. ¿De qué tipo de desarrollo podemos hablar si la autoestima es cero?

La solución llegó en forma de descomposición. Menos tarea = menos código = menos probabilidades de cometer un error. A menudo escucho la frase "esta tarea no se puede descomponer", pero personalmente creo que cualquier tarea se puede descomponer indefinidamente. Si no puede tener éxito, lo más probable es que simplemente no comprenda completamente la tarea.

Aprender herramientas


Durante mucho tiempo utilicé el IDE como editor de código regular con fácil navegación. Y también tenía un jefe que programaba exclusivamente en mcedit y a menudo me preguntaba teatralmente: "¿Quién eres sin tu IDE?" O tenía una terminal abierta las 24 horas, los 7 días de la semana, pero no sabía cómo trabajar con ella. Durante mucho tiempo viví sin analizadores estáticos y arregladores de estilo. Ignoraba las teclas de acceso rápido. Y no vi ningún problema en esto.

Ahora estoy suscrito a todos los canales oficiales de YouTube de mis herramientas. Es sorprendente lo mucho que puedes aprender de ellos. Miro cuidadosamente el proceso de trabajo de mis colegas y a menudo adopto lo que me pareció interesante. Además, algunas herramientas nos muestran ventanas emergentes donde le dicen cómo mejorar el proceso de interacción. No descuides esto.

Participa en código abierto


OpenSource - duele Cada uno de sus RP será examinado bajo un microscopio. Cada variable, cada personaje. Cada prueba será cuestionada. Y este no es el líder de su equipo, que: "Oh, bueno, seamos tan obsesionados". No llegarás a un acuerdo con estas personas, no te quejarás de ellas, no las aplastarás con autoridad. Y ni siquiera te pagan. Alrededor del vigésimo quinto comentario realmente quiero enviar todo nafig.

Se paciente! Opensource es una gran oportunidad para mejorar tu habilidad, trabajando con los mejores programadores del mundo (aunque depende del proyecto). Comience pequeño. Elija alguna herramienta simple o biblioteca. Vaya a la sección de problemas y vea qué puede solucionar. Debo decir que generalmente no hay toxicidad en el github. Si su PR se rompe en pedazos, entonces lo harán de manera muy constructiva. En cualquier caso, en mi experiencia.

Cree en ti mismo


De vez en cuando, tenía situaciones en las que quería dejar todo e ir a trabajar a un sitio de construcción. Llevar ladrillos. Esta situación podría ser una tarea que no terminó de ninguna manera. Lo que ha cambiado los requisitos diarios. O una tecnología que no quería estudiar. O la integración de un servicio de terceros, que carecía por completo de documentación. O simplemente funcionalidad, para comprender qué requiere la educación de un financiero, y todos los expertos en productos hablan exclusivamente inglés. Me asusté, postergué, renuncié y frustré la ira en el gato.

Hay un truco que ahora me ayuda mucho con tales tareas. Siempre recuerdo que al final puedo manejarlo. Siempre enfrentado. Y siempre lo será. Solo necesita sentarse, estudiar, pensar, clasificar, hacer las preguntas correctas a las personas adecuadas. Lo principal es creer en ti mismo y mantener la calma. En general, quizás este es el consejo más importante con el que terminaré el artículo. Mantén la calma y cree en ti mismo. Puedes manejarlo.

Source: https://habr.com/ru/post/461673/


All Articles