Consejos para programar sanamente | Parte 1

¡Bienvenido! a otro articulo donde intento escribir 🙂 , hoy la idea es armar una pequeña lista de consejos para programadores que de aplicarlos pueden servir e inclusive mejorar el balance entre vida privada y laboral asi como hacer que el dia laboral sea un poco más sano, divertido y sobre todo recompensante.

Teniendo en cuenta que este articulo esta escrito en plena cuarentena Argentina por la pandemia de Covid19, creo que es necesario llevar la experiencia del “full work from home” lo mejor que se pueda y balancear el tiempo que hacemos foco en lo laboral con el foco que hacemos en lo personal para sobrellevar la situación de la mejor manera posible(trabajar 12hs por día solo por estar en casa, desde ya te aviso que NO es sano) asi que arrancamos con la lista…

https://cpl.com/wp-content/uploads/2017/10/employment-monitor-q3-2017-.com_.png
A esta imagen le falta un mate, pero explica la idea de “work-life balance”

Es solo una lista de consejos que me ayudan a diario en mi rutina laboral.

  • Agarrar el codigo y desarmarlo en partes mas pequeñas de codigo, en lo posible en pequeñas funciones.

  • Si para cuando tenes que dejar la oficina o estás trabajando desde casa y llego el horario de finalizar el día laboral, no pudiste resolver el problema, apaga la compu! y deja la oficina o no uses la compu hasta el dia siguiente, tampoco sigas pensando en el problema.

  • No escribas más codigo del solicitado, tampoco te anticipes al futuro con funcionalidades que crees “podrian servir para…”, la idea es crear algo que funcione lo más pronto posible, solamente codea las partes necesarias para resolver el problema actual, esto se llama principio YAGNI(“You Aren’t Gonna Need It” o en español “No vas a necesitarlo”)

  • No necesitas saberlo todo ni conocer todos los frameworks(menos que menos si programas en JS que son infinitos) ya que lo más importante es tener una buena base, conocer el lenguaje que sea que uses en profundidad previo a aprender cualquier framework y aprender ciertos conceptos fundamentales como el principio SOLID o sobre codigo limpio

  • Aprender KISS(“Keep it simple, stupid” o “Keep it stupid simple”) que es un principio o patron de diseño que fundamenta que la mayoria de los sistemas funcionan mejor cuando se los hace lo más simple posible en lugar de complicados o complejos y aunque es logico a veces suele dificil de cumplir.

  • No lo pienses demasiado o no hagas “sobre-ingenieria” o no lo “sobrepienses” es decir, evita caer en “paralisis por analisis”

  • Si estas con un problema o un bug por demasiado tiempo, alejate de ese problema especifico y volve más tarde. Generalmente las mejores soluciones a los problemas ocurren de camino a la cocina, caminando por casa o la oficina, en el baño, en la ducha, etc.

  • Caminar un rato por la casa o por la vereda, mismo dentro de la oficina siempre es recomendable si estás enojado con un cliente o un compañero, en especial si queres mantener tu trabajo.

  • Aprende a escribir test utiles y si podes aprende TDD(Test Driven Development o Desarrollado orientado al testing), el cual es una metodologia que funciona más o menos de la siguiente manera: escribis un test, corres todos los test y si alguno falla, escribis mas codigo, corres todos los tests, refactorizas, repetis.

  • Resolve el problema primero y luego escribi codigo. Nunca empiezes a codear sin saber que hacer.

  • No memorizes codigo, en su lugar, entende la logica con la que funciona.

  • Si copias y pegas de Stack Overflow, asegurate de entender la solución que estas pegando, la idea es aprender a usar Stack Overflow de una buena manera.
https://i.pinimg.com/originals/53/be/34/53be34c987b10821f7c10b9d88436b92.jpg
Si, existe esta guia… y quien les hablo lo tiene y lo leyo (inserte un “facepalm” aqui)
  • Si queres aprender algo, practica y bueno… practica. Programa ejemplos o demos y hacelos funcionar, porque leer sin practicar no es suficiente.

  • Estudia el codigo de otras personas y deja que otras personas estudien tu codigo a veces, una buena idea son las auditorias de codigo y la programación de a pares.

  • No reinventes la rueda.

  • Tu codigo es la mejor documentación.

  • Aprende a Googlear bien, para esto se necesita principalmente experiencia y leer mucho para saber que estas buscando.

  • Tu codigo va a tener que ser mantenido por vos mismo en un futuro o por alguien más, asi que colabora con tu futuro vos o a quien le toque mantenerlo a futuro, no queriendo ser “el programador más inteligente” sino el más bueno(?) y si podes, hace que se lea como si fuera una historia.

  • La mejor manera de resolver un error con Google, es copiando y pegando el error en Google directamente.

  • Esto suena muy Rocky pero… no te rindas nunca, de una u otra forma lo vas a terminar por resolver, hay malos días, pero como todo van a pasar y quedar atras.
https://i.pinimg.com/originals/e9/5b/02/e95b02d27bf33c48d0be1b0d5f78a668.jpg
Algo asi, “no se termina hasta que termina”
  • Descansa, descansa, descansa!!! ya que la mejor manera de resolver un problema es tener una mente en calma.

  • Aprende a usar patrones de diseño de software, patrones de diseño son soluciones a problemas comunes en el diseño de software, cada patrón es como un plano o mapa que podes personalizar para resolver un problema comun de diseño en tu codigo(otra vez, no reinventes la rueda)

  • Una herramientas de integracion y automatiza todo lo que más puedas!

  • Siempre que puedas hace una Kata(forma en Japones) de código, una kata de codigo es un ejercicio de programación que ayuda a programadores a mejorar sus habilidades mediante practica y repetición(como en Karate), podes hacer Katas aca http://codekata.com/

  • Programa para una interfaz, no una implementación, Inyección de dependencias es un requerimiento, ver los principios del modelo SOLID previamente mencionado.

  • Refactoriza – Testea – Refactoriza, Refactorizar es la técnica para re-estructurar codigo que ya existe, alterar y mejorar su estructura internata sin cambiar su comportamiento externo.

  • Pedí ayuda cuando la necesites, no pierdas el tiempo!

  • La practica hace al maestro.

  • Aunque a veces los comentarios en el codigo pueden ayudarte, no les prestes mucha atención, probablemente esten desactualizados.

  • Conoce tu entorno de desarrollo, mantenelo actualizado, centralizado, lo mas compacto y si es posible crea una maquina virtual o instalador para trabajar con un click asi cambies de equipo de lugar y tengas que tener acceso a tu entorno.

  • Reutiliza componentes siempre que puedas.

  • Cuando desarrolles una aplicación web, pensa siempre en “mobile first” y la infra asi como restricciones de ancho de banda necesarios.

  • Nunca elijas un atajo ineficiente para resolver algo y ahorrar unos minutos, cada vez que escribas codigo, da lo mejor de vos! 🙂

  • Segui las practicas documentadas.

  • Los usuarios no son gente técnica, acordate de eso cuando desarrollar una UI.
53 Best UX Humor images | Graphic design humor, Humor, Funny design
  • Siempre usa un sistema de control de versiones o “sistema de versionado” como Github, bitbucket, Gitlab, SVC, etc.

  • Es mejor usar Logs que debuggear el codigo, loguea todas las partes criticas.

  • Se consistente cuando codeas, si usas un estilo, usa siempre el mismo estilo, is trabajar con más personas, usa el mismo estilo con todo el equipo.

  • Nunca pares de aprender, pero más que nuevos frameworks o lenguajes, enfocate en los conceptos fundamentales del desarrollo de software.

  • Finalmente, paciencia y ama lo que haces.
There is also the follow-up "Copying code directly from Stack ...
Programar es literal, el titulo de este libro 🙂

Espero que estos consejos les sirvan y les ayuden a mejorar su rutina laboral como desarrolladores(también los podes aplicar para cuando programas en casa para despuntar el vicio, como quien dice 🙂 ), si encuentran errores en el articulo o mismo ante cualquier duda podes enviarme una consulta o buscarme via redes sociales, tambien me podes dejar un comentario abajo.

¡Saludos y gracias!

¡Hasta la segunda parte! 🙂


Podes encontrar este articulo en Medium

https://medium.com/@jpromanonet/consejos-para-programar-sanamente-parte-1-a20f93122f8f?sk=c1a211e653023ca92c225361ec7d8e05

Si te gusto este post ¡compartinos!

56 comments / Add your comment below

  1. Me encantó el artículo. Como programadora en proceso de construcción me sirve mucho ir conociendo y adoptando las mejores formas para poder hacer lo que amo, sin morir en el intento jaja

    1. Gracias por tu comentario! si, es mejor arrancar sabiendo las buenas practicas siempre, que aprenderlas en el proceso del primer trabajo cuando ya tenemos “malas” practicas, me alegro que te sirva! y cualquier cosa enviame un contacto y te respondo cualquier duda, exitos en tu aprendizaje!

  2. Hallo mein Freund! Ich möchte sagen, dass dieser Artikel großartig ist, schön geschrieben und fast alle wichtigen Infos enthält. Ich würde gerne mehr Beiträge wie diesen sehen. Nerte Neils Cati

    1. Hallo wie geht’s dir? Vielen Dank für Ihre freundlichen Worte. Ich verspreche, dass es einen zweiten Teil dieses Artikels geben wird, der gesündere Ratschläge zum Thema Balancing als Entwickler für ein lebendiges und persönliches Leben enthält. Bleiben Sie dran!

      Ãœbrigens, sprichst du Englisch oder Spanisch?

  3. fantastic issues altogether, you simply won a emblem new reader. What would you recommend about your publish that you made a few days ago? Any sure? Robbyn Ram Larkins

  4. I blog frequently and I seriously thank you for your content. This article has really peaked my interest. I am going to take a note of your site and keep checking for new information about once a week. I opted in for your Feed too. Bernelle Jaimie Gee

  5. Thank you for the good writeup. It in fact was a amusement account it. Look advanced to far added agreeable from you! By the way, how could we communicate?| Viviana Isak Woody

  6. I savour, cause I discovered just what I was taking a look for. You have ended my 4 day long hunt! God Bless you man. Have a great day. Bye Mabelle Mohammed Lucilia

  7. hi!,I like your writing very so much! proportion we communicate extra approximately your article on AOL? I require a specialist in this space to resolve my problem. May be that is you! Taking a look forward to peer you. Austin Swen Popele

  8. My brother suggested I might like this blog. He was entirely right. This post actually made my day. You can not imagine simply how much time I had spent for this information! Thanks! Edith Marcus Sylas

    1. Thanks! It’s feel nice to be helpful 🙂 and yes! C is pretty easy and useful, love the language, if you look up on my newest articles you’re going to find a text editor I wrote on C.

  9. Hello, I think your web site may be having internet browser compatibility problems. Whenever I take a look at your site in Safari, it looks fine however, if opening in IE, it has some overlapping issues. I just wanted to give you a quick heads up! Other than that, wonderful blog! Blondy Vick Harmonie

    1. Thanks! It’s feel nice to be helpful :), cheers me up that someone found it exciting, I promise to keep creating, but do you read or speak spanish? maybe I could write some posts in english, thought?

  10. Good day! Would you mind if I share your blog with my facebook group?
    There’s a lot of people that I think would really enjoy your content.

    Please let me know. Thank you 0mniartist asmr

  11. This is very interesting, You are a very skilled blogger.
    I have joined your feed and look forward to seeking more
    of your wonderful post. Also, I have shared your web site in my
    social networks! 0mniartist asmr

  12. Thank you a lot for sharing this with all folks you really understand what you’re talking approximately!

    Bookmarked. Kindly additionally talk over with my web site =).

    We could have a link change contract between us asmr 0mniartist

  13. I’m not sure where you are getting your information, but great
    topic. I needs to spend some time learning much more
    or understanding more. Thanks for great information I was
    looking for this information for my mission.

  14. Excellent post. I was checking constantly this weblog and I’m impressed!
    Very useful information specially the remaining section 🙂 I care for such info much.
    I was looking for this certain info for a long time.
    Thanks and best of luck.

  15. May I simply just say what a comfort to uncover a person that actually
    understands what they are discussing on the internet.
    You actually understand how to bring a problem to light and
    make it important. A lot more people really need to look at this
    and understand this side of the story. It’s surprising you are not more popular because you definitely have the gift.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *