10 + 10 consejos para mejorar destrezas de programación y ser mejor desarrollador
Muchos desarrolladores de Java me preguntan cómo llegar a ser mejores programadores, o cómo pueden mejorar sus destrezas como programador, o que si son muy buenos en Java pero no tan buenos resolviendo problemas y haciendo análisis, etc...
Todo es cierto, vivimos en una época en la que abundan muchos expertos en lenguajes de programación pero no hay muchos programadores de los de verdad.
Es relativamente sencillo entender palabras clave, métodos y APIs del lenguaje de programación de Java, pero al mismo tiempo resulta complicado solucionar problemas reales, diseñar software robusto y reutilizable y sacar el máximo de la estructura de los datos y de los algoritmos.
A menudo he visto a los programadores en Java pasándolo mal cuando se les pide diseñar y picar código en un breve plazo de tiempo a pesar de ser muy buenos en lo que se refiere a los conceptos de Java y toda la teoría.
Incluso los programadores senior con entre 4 y 6 años de experiencia programando en Java a veces fracasan a la hora de diseñar cosas como máquinas de café, programar máquinas de vending o incluso a veces invirtiendo de forma recursiva una lista enlazada. Igual me estoy desviando del tema de como ser un mejor programador pero es muy importante conocer cuales son las limitaciones propias e intentar averiguar como pulirlas.
Si te cuesta picar código, entonces debes picar todo el código que puedas... Si te estresa y te sientes perdido diseñando cuando usas análisis y diseño orientado a objetos, entonces debes diseñar usando papel y bolígrafo todo lo que sea posible.
El hecho de que te cueste al principio es lo que realmente te puede impedir que te conviertas en un buen programador. Personalmente mi experiencia me dice que el hecho de programar y picar código, y el diseño de aplicaciones le cuesta mucho a un programador medio. Se debe a que la mayoría en su día a día en el trabajo no pican el código suficiente ni realizan muchos desarrollos. Por cierto, hay una gran cantidad de consejos para ser mejor programador pero yo me ciño a mi lista, la cual sigo y me ha ayudado siempre.10 consejos para mejorar las destrezas de programación y llegar a ser mejor programador.
Para llegar a ser mejor programador, tienes que ser realmente bueno en lo que se refiere a la estructura de los datos, algoritmos, diseño usando OOPS, multi-hilo y varios otros conceptos de programación, por ejemplo, recursión, divide y vencerás, prototipado y pruebas de unidad.
Programar requiere combinar varias destrezas o habilidades, lo que implica que no es posible aprender a programar en un breve plazo de tiempo. Más bien es un proceso que implica tiempo y experiencia y no ocurrirá de forma automática.
Te puedes echar 5 años haciendo un proyecto de programación en Java sin ser un gran programador debido al hecho de que la mayoría de las entrevistas de trabajo a programadores de Java se centran en la teoría más que en las destrezas básicas de programación.
Pocos programadores practican los fundamentos básicos de programación.
Si existiese un examen de programación obligatorio sobre como resolver problemas, apostaría que la formación media de los programadores sería mucho mejor. De todos modos, ahí va mi lista de como mejorar como programador:
1) Pica código: picar y picar y picar...
¿Por qué sitúo picar código en el primer lugar de mi lista de consejos?
Pues porque es lo más complicado y a la vez es el aspecto clave de la programación. Al picar código te das cuenta de los errores que cometes a la hora de diseñar, en la gestión de bugs, en la creación de hilos y luego vuelves sobre cada una de esas destrezas para mejorar.
No puedes solo dedicarte al diseño de soluciones, tienes que programar para producir una aplicación, lo cual es importante dominar para tener éxito. Y ya que estás no pares después de solucionar un problema del código, siempre es mejor desechar tu primer desarrollo, que casi siempre será un prototipo, y es tu segundo desarrollo el que debe apuntalar los problemas y funcionalidades que perdiste de vista al programar dicho prototipo.
2) Lee libros de programación
Picar código es más fácil dicho que hecho, y existe una gran diferencia entre un buen código y un código pobre. Esto es obvio, pero, ¿cómo puedes distinguirlos? Hasta que no ves con tus propios ojos un buen código es difícil de entender realmente la diferencia...
Y es aquí cuando los libros resultan muy útiles ya que la mayoría de la veces los autores son grandes programadores. Ofrecen toda su experiencia en forma de libro. Yo adoro los libros, pero hay uno que me ha ayudado especialmente, Clean Code de Uncle Bob. Al leer este libro he descubierto defectos en mi código y la forma de solucionarlo gracias a los consejos que ofrece. Mi consejo personal es que si puedes hacerte con libros de programación, no lo dudes. También recomiendo la lectura de libros más clásicos y usarlos como libros de consulta.
Otro libro muy útil es Effective Java de Joshua Bloch, que está repleto de buenos consejos. Está en mi lista de libros imprescindibles para programadores de Java. Además, al leer, estás aprendiendo de la experiencia de otra persona, y solo hay dos formas de mejorar: o mediante tu propia experiencia (que es limitada) o mediante la experiencia de otros (que es ilimitada).
Recuerda que el que mucho abarca poco aprieta, en vez de leerte 5 libros, es mejor leerse 2 que realmente te sirvan varias veces.
3) Contribuye a Código Abierto y darse de alta en listas de Mailing
Si contribuyes a proyectos de código abierto, especialmente de Apache, Google y algunos otros es otra forma de mejorar tus destrezas como programador. El simple hecho de darse de alta a listas de mailing y seguir los debates y la actualidad te enseña mucho.
Debido a que la mayoría de los debates son entre buenos programadores, al prestarles atención entiendes los problemas y el enfoque que les dan, las soluciones y puntos de vista, etc... Con el tiempo vas adquiriendo automáticamente buenos hábitos de programación. Para sacarles el máximo provecho, haz preguntas, da tu punto de vista si puedes, pero también sopesa y pondera los puntos de vista de los demás.
4) Practica la estructura de datos, Algoritmos y los problemas relacionados con el diseño
Iba a poner este punto en segundo lugar pero al final es el cuarto... En mi opinión esto es una de las cosas más críticas a la hora de llegar a ser mejor programador. La mayoría de lo buenos programadores que he visto y conocido son realmente buenos en estructura de datos, algoritmos y fundamentos. Al dominarlos, puedes sacarle el máximo provecho a todo lo que hay disponible.
Debido a que la estructura de los datos es una parte fundamental de cualquier programa, su dominio es muy útil a la hora resolución de problemas. De igual forma, un conocimiento sólido de los principios de programación, y de algoritmos de búsqueda y de ordenar, y otros algoritmos típicos te ayudan a mejorar tus destrezas como programador.
5) Lee buenos blogs
Leer buenos blogs es como leer una pequeña parte de un libro. ¿Cómo puede leer blogs ayudarte a ser mejor programador? Bueno, simplemente lo hace. Debido a que la mayoría de los blogs los escriben programadores y la mayoría dan su opinión personal, su experiencia, a menudo resultan relevantes. Además, los blogs son pequeñas píldoras de información así que se digieren bien.
Los blogs además ayudan a aprender sobre nuevas tecnologías y sobre las novedades de los lenguajes y APIs que ya existen. A menudo he visto cosas sútiles o cosas que he pasado por alto de algún aspecto realmente conocido en Java descrito en un pequeño post de un blog.
6) Lee código
Si leer blogs te ayuda a convertirte en mejor programador, leer código te ayuda aún más. El problema es que leer blogs resulta mucho más sencillo que leer código. ¿Se te da mal? Pues entonces tienes que insistir. Lee código de proyectos de código abierto, el código de tus compañeros programadores, tu propio código propietario, código de la SDK de Java e intenta entender por qué y cómo funcionan.
Busca los patrones, desarrolla tu habilidad de ojear y buscar cosas... Al principio te resultará aburrido y difícil, pero con el tiempo desarrollarás un buen sentido del código, lo que te pondrá en guardia cuando cometas un error al picar y ayudar a otros a encontrar bugs. Tener un buen sentido del código es un signo de ser un buen programador. Ellos ven lo que otros pasan por alto.
7) Escribe pruebas de unidad
Las pruebas de unidad complementan el proceso de pensar y picar el código, y en consecuencia te ayuda a diseñar mejor tus aplicaciones. Cualquier cosa que sea difícil de probar puede ser mejorable. Además, al hacer pruebas de unidad, mejoras a la hora de hacer abstracciones, interfaces y mejora el código en general.
Pero al igual que el diseño y picar código, hacer pruebas de unidad también es un trabajo arduo para el programador medio y lo más probable es que te resulte complejo. Algunos programadores hacen testeos triviales en vez de hacer pruebas pensando en el verdadero uso que el usuario va a hacer de esa aplicación.
Recuerda que no hay substituto para el testeo ya que te hace pensar en la aplicación desde un punto de vista global en un escenario de usuario. Es otra oportunidad para encontrar errores y lagunas en tu código.
8) Revisa código
Al igual que las pruebas de unidad y el testeo, revisar código es otra cosa que te puede venir bien a la hora de mejorar como programador. La revisión de código es algo beneficioso tanto para el autor como para el que revisa. El que revisa coge a la larga un buen sentido del código y está en un lugar óptimo para dar consejos genuinos, mientras que el autor aprende de sus errores. A veces un código que tu piensas es está perfecto tiene bugs que solo unos ojos limpios de un tercero pueden ver. C
uatro ojos ven más que dos. Si trabajas en una empresa que hace pruebas de unidad y testeos del software, el hecho de revisar el código ya te convierte en mejor programador.
9) Habla con otros programadores y desarrolladores
La lectura es un ejercicio pasivo si se compara con hablar. Hablar sobre un desarrollo y debatir sobre el mismo con un compañero resulta muchas veces en un mejor desarrollo y en una mejor aplicación. Y es normal porque al hablar tu mente está más metida en asunto. Muchas veces encuentro bugs y lagunas al debatir mis desarrollos con otros desarrolladores.
En la industria del software en la que los programadores suelen trabajar aislados en sus ordenadores, el hecho de charlar y hacer sesiones en la pizarra ayuda una barbaridad. No te sientes y piques código, también debes escuchar, pensar y pasar tiempo con tus compañeros desarrolladores.
10) Participa en foros y comentar en los blogs
Esta es otra forma de actividad que ayuda a repasar los conocimientos propios. Al compartir tus conocimientos, la primera persona que se beneficia es aquella que comparte. El mundo de la programación es enorme y tiendes a olvidarte de las cosas que no usas más allá de tres meses. Participando en, por ejemplo, StackOverflow y resolviendo dudas de otros, comentando en blogs y foros es una buena forma de repasar lo que ya sabes y a la vez corregir dudas propias.
Todo programador quiere mejorar como programador, pero no todos son capaces. Además de talento natural y ser capaz de resolver problemas, exige mucho trabajo, formación continua y constancia llegar a ser mejor.
10 consejos para ser mejor desarrollador en 2023
- Escribe código todos los días: La práctica hace la perfección. Dedica tiempo todos los días para escribir código, incluso si es solo por 15 minutos.
- Lee y escribe código de otras personas: Aprender a leer y entender el código de otras personas es una habilidad crucial para convertirse en un mejor desarrollador. También puedes aprender mucho al escribir tu propio código basado en ejemplos de otros.
- Haz pequeños proyectos: Crear pequeños proyectos desde cero te ayudará a mejorar tus habilidades de programación. Estos proyectos pueden ser pequeñas aplicaciones web, juegos o herramientas.
- Utiliza recursos en línea: Hay una gran cantidad de recursos en línea gratuitos y pagos que pueden ayudarte a mejorar tus habilidades de programación, desde tutoriales hasta foros de discusión y cursos en línea.
- Participa en la comunidad: Únete a grupos de programación y foros de discusión en línea y en persona para aprender de otros desarrolladores y colaborar en proyectos.
- Aprende nuevas tecnologías: Aprender nuevas tecnologías te ayudará a expandir tus habilidades y mantenerse actualizado con las últimas tendencias en desarrollo de software.
- Escribe código limpio: La escritura de código limpio es importante para hacer el mantenimiento y la resolución de problemas más fácil. Aprender a escribir código limpio es una habilidad esencial para convertirse en un mejor desarrollador.
- Utiliza herramientas de desarrollo: Las herramientas de desarrollo, como editores de texto y depuradores, pueden ayudarte a ser más eficiente y productivo en tu trabajo.
- Busca un mentor: Un mentor puede proporcionarte orientación y consejos valiosos sobre cómo mejorar tus habilidades de programación y convertirte en un mejor desarrollador.
- Nunca dejes de aprender: El desarrollo de software es un campo en constante evolución, así que nunca dejes de aprender nuevas habilidades y tecnologías para mantenerse actualizado.