<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: María Fernanda Magallanes</title>
    <description>The latest articles on DEV Community by María Fernanda Magallanes (@mafermazu).</description>
    <link>https://dev.to/mafermazu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F414793%2F8fa415cd-c4ba-44b4-ac4d-71bb53616cf0.jpg</url>
      <title>DEV Community: María Fernanda Magallanes</title>
      <link>https://dev.to/mafermazu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mafermazu"/>
    <language>en</language>
    <item>
      <title>😅 ¿Manager o Individual Contributor? Chan chan chaaan...</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Fri, 23 Jan 2026 02:05:35 +0000</pubDate>
      <link>https://dev.to/mafermazu/manager-o-individual-contributor-chan-chan-chaaan-3j32</link>
      <guid>https://dev.to/mafermazu/manager-o-individual-contributor-chan-chan-chaaan-3j32</guid>
      <description>&lt;p&gt;Tenía tiempo sin escribir por aquí, sin embargo, vamos a ello.&lt;/p&gt;

&lt;p&gt;Gran parte de mi vida he seguido la corriente; he hecho lo que se supone que debería: ir al colegio, sacar buenas notas, ir a la universidad (escoger lo que menos me generaba rechazo) y graduarme. Creo que tarde, pero igual llegó; empiezo  una vida adulta en la que comienzo a tomar decisiones.&lt;/p&gt;

&lt;p&gt;Hasta hace poco empecé realmente a tomar decisiones, y en este post quiero hablar un poco de decisiones y de caminos profesionales.&lt;/p&gt;

&lt;p&gt;Hace unos meses escuché a mi pareja, que suele guiar y apoyar a su team, hablar sobre el aprendizaje continuo y planear estratégicamente nuestro crecimiento como profesionales, y uno de los conceptos que sacó a la luz fue el de los caminos del individual contributor y del manager.&lt;/p&gt;

&lt;p&gt;Antes, la única manera de crecer era por el camino del jefe; sin embargo, las habilidades necesarias para liderar equipos son distintas de las que solemos desarrollar como ingenieros. Entonces, muchas veces, las personas que son estrellas en su trabajo se sienten frustradas por ascensos que las llevan a gestionar a otras personas. Esto último se conoce como el principio de Peter.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"En una jerarquía, todo empleado tiende a ascender hasta su nivel de incompetencia"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;En resumen, la gente que es maravillosa en su trabajo crece y asciende, y luego la industria te lleva a ser jefe o manager y llega la frustración.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Para resolver ese problema, se empezó a considerar el camino del individual contributor y el del manager&lt;/strong&gt;, donde se premia con estatus y buenos salarios tanto a personas con habilidades de liderazgo y gestión, como a personas que prefieren mantener su foco en la especialización y ser brillantes en su trabajo.&lt;/p&gt;

&lt;p&gt;Dejé este diagrama con el resumen.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshr7axj3y2if5fboloui.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshr7axj3y2if5fboloui.png" alt="Resumen de IC y Manager" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Todo esto para pensar en qué camino me gustaría transitar profesionalmente, para así ser estratégica a la hora de adquirir nuevas habilidades.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;😅 Uy, ya sueno toda formalota hablando de estrategia.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Creo que de momento voy a irme por seguir creciendo técnicamente, porque aún me falta, sin embargo, también quiero apuntar a roles de manager. Y a partir de probar, tomar alguna decisión, o si me lo permiten, seguir el modelo de péndulo, que promueve que los managers regresen de vez en cuando a ser individual contributors para mantener sus habilidades técnicas fuertes.&lt;/p&gt;

&lt;p&gt;¿Qué pasó con el tema de developer advocate hace unos años? La verdad es que me fascina la idea de facilitarles la vida a mis compañeros devs y he tenido oportunidades muy chéveres para hacer algunas de las tareas más comunes de developer advocate: dictar conferencias, documentar y apoyar con guías. Pero sí siento que aún tengo mucho que aprender en general y quiero seguir haciéndolo. Además, en la empresa en la que estoy no hay un rol formado de developer advocate y creo que puedo brindar más valor y meterme en un reto más interesante probándolo.&lt;/p&gt;

&lt;p&gt;Igual no me caso demasiado con ninguna idea; toca probar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Y tú, has pensado en qué camino profesional te gustaría seguir?&lt;/strong&gt; 🤔&lt;/p&gt;

</description>
      <category>spanish</category>
      <category>management</category>
      <category>careerdevelopment</category>
    </item>
    <item>
      <title>Telling my leaders that I want to be a dev advocate and the challenge of creating my own role - #DAJ 6</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Thu, 23 Jun 2022 03:25:49 +0000</pubDate>
      <link>https://dev.to/mafermazu/telling-my-leaders-that-i-want-to-be-a-dev-advocate-and-the-challenge-of-creating-my-own-role-daj-6-1df7</link>
      <guid>https://dev.to/mafermazu/telling-my-leaders-that-i-want-to-be-a-dev-advocate-and-the-challenge-of-creating-my-own-role-daj-6-1df7</guid>
      <description>&lt;p&gt;As you read in the title, I said to my leaders that I want to be a developer advocate, and I have two answers: Woo, that's amazing, we need that; and the other one, what is that? What are you going to do?&lt;/p&gt;

&lt;p&gt;In my current company, I know that we need this advocacy, but for me was a little tricky because in the other companies, the role was already defined, and they know the precise actions the developer advocate needs to do. In my case, I need to do my homework, research and understand our products and how the developers interact with them. It was an enriching experience, I love it, and I hope it makes me a better dev advocate.&lt;/p&gt;

&lt;p&gt;Obviously, it's not about me; well, at first, it wasn't so obvious; It's about the product we provide and how I can make it easier to use, thinking in what the current users of our product need. So now I have more clarity about my proposal to my leaders, and I will have a short meeting with the product manager and the tech lead of the engineering team in charge to line up our ideas and make something valuable.&lt;/p&gt;

&lt;p&gt;I really wish my colleagues would love our product.&lt;/p&gt;

&lt;p&gt;I think my advocacy will be to my coworkers. Later, I can make more noise about our product to the community using the same technology and inspire others to use more open source projects. For now, I tell you, being a dev advocate is not doing what you want; it's doing what devs need; my first mistake was not understanding that.&lt;/p&gt;

&lt;p&gt;Let's give value! 💜&lt;/p&gt;

</description>
      <category>developer</category>
      <category>advocate</category>
      <category>daj</category>
    </item>
    <item>
      <title>Things to remember - Dev Advocate Journal #DAJ 5</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Sat, 18 Jun 2022 22:30:58 +0000</pubDate>
      <link>https://dev.to/mafermazu/things-to-remember-dev-advocate-journal-daj-5-3edl</link>
      <guid>https://dev.to/mafermazu/things-to-remember-dev-advocate-journal-daj-5-3edl</guid>
      <description>&lt;p&gt;Today I have some things to tell you.&lt;/p&gt;

&lt;h2&gt;
  
  
  I lied
&lt;/h2&gt;

&lt;p&gt;Well, a little bit. My previous post was about calming down and trying to organize a lot of things you have to do, and yes, breath it's important; that prevents headaches, but no matter how much I breathe, I still have a lot of things to do, but the keys that helped me the most are these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remember what really matters in your life&lt;/li&gt;
&lt;li&gt;Try to understand that not doing something is not going to kill you&lt;/li&gt;
&lt;li&gt;Communicate that you are struggling&lt;/li&gt;
&lt;li&gt;Do your best to finish things&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  About this journal
&lt;/h2&gt;

&lt;p&gt;I decided not to do this journal daily; I want to practice my English writing every day, but I think I can start with tweets or maybe a minor update on my Linkedin. For this journal, I want to give you some value and have enough time to correct this content correctly; not to be perfect, but I want to do my best. I don't want to repeat the wrong things every day.&lt;/p&gt;

&lt;h2&gt;
  
  
  What really matters
&lt;/h2&gt;

&lt;p&gt;What do you want to do in your life? I always forget it. I want to do many things, and I have a lot of responsibilities, but why? Why do I want to do all of that? What do I want? I always forget what I really want. So I need to pay attention to that because I don't want to live someone else life, I want to live my life and use all my skills, my love, and my passions to do something that helps, and that's it.&lt;/p&gt;

&lt;p&gt;At the moment, I can only tell you that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I want to stop doing things by compromise.&lt;/li&gt;
&lt;li&gt;I want to do something because I think that will help me be a better person and gain more skills to do what I really want.&lt;/li&gt;
&lt;li&gt;I need to communicate better when I am struggling because I don't need to be perfect always.&lt;/li&gt;
&lt;li&gt;And I want to do it all with all of my heart.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am a little bit emotional person, well, a lot, but this is me, and if I want to do something, I want it with all my love as a sign.&lt;/p&gt;

&lt;p&gt;With love, Mafer 💖&lt;/p&gt;

</description>
      <category>daj</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>Things to do - Dev Advocate Journal #DAJ 4</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Wed, 15 Jun 2022 01:52:08 +0000</pubDate>
      <link>https://dev.to/mafermazu/things-to-do-dev-advocate-journal-daj-4-3dn9</link>
      <guid>https://dev.to/mafermazu/things-to-do-dev-advocate-journal-daj-4-3dn9</guid>
      <description>&lt;p&gt;This morning I had the opportunity to find an interesting video about Developer Advocate, and I loved the definition they say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Developer advocates teaching developers how to use the products&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99fc7cnk0girktesf20f.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99fc7cnk0girktesf20f.gif" alt="inlove" width="382" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I love teaching and helping, and that definition motivates me a lot.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;Later, throughout the day, no matter how motivated I was, I was a little worried about the absurd number of things I had to do. I think that happens to everyone, and the witcher of Youtube knows this and recommends me a video about breath 😅 &lt;/p&gt;

&lt;p&gt;Breathing didn't do my job, but it made me get the ideas out of my head, have more clarity, and focus on what really matters.&lt;/p&gt;

&lt;p&gt;Try it and tell me your experience.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>productivity</category>
      <category>daj</category>
    </item>
    <item>
      <title>Zen Mood VS Depredator Mood - Dev Advocate Journal #DAJ 3</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Tue, 14 Jun 2022 03:01:39 +0000</pubDate>
      <link>https://dev.to/mafermazu/zen-mood-vs-depredator-mood-dev-advocate-journey-daj-3-ifa</link>
      <guid>https://dev.to/mafermazu/zen-mood-vs-depredator-mood-dev-advocate-journey-daj-3-ifa</guid>
      <description>&lt;p&gt;At the start of this post, I want to share with you that you don't need to be perfect, only do the best you can and push yourself 1% daily, stay calm and be in azen mood; then, I found this youtube video, and I enter in a depredator mood, I want to eat the world.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/YGZLvKAFeYI"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Maybe we should take a little bit of both moods 🌅&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>devjournal</category>
      <category>daj</category>
    </item>
    <item>
      <title>3 actions to improve my English and the tools I must have - Dev Advocate Journal #DAJ 2</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Sun, 12 Jun 2022 23:24:46 +0000</pubDate>
      <link>https://dev.to/mafermazu/3-actions-to-improve-my-english-and-the-tools-i-must-have-dev-advocate-journey-daj-2-1n80</link>
      <guid>https://dev.to/mafermazu/3-actions-to-improve-my-english-and-the-tools-i-must-have-dev-advocate-journey-daj-2-1n80</guid>
      <description>&lt;p&gt;Hello, I hope you feel well. 🌞&lt;/p&gt;

&lt;p&gt;Today I will tell you what I am doing to improve my English and what tools I identify are a must in my work computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I am doing to improve my English
&lt;/h2&gt;

&lt;p&gt;In languages, we have to think in 4 areas: two inputs and two outputs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read&lt;/li&gt;
&lt;li&gt;Listen&lt;/li&gt;
&lt;li&gt;Write&lt;/li&gt;
&lt;li&gt;Speak&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In my work, I &lt;strong&gt;read&lt;/strong&gt; the documentation in English and try to do my google search in English.&lt;/p&gt;

&lt;p&gt;I try to watch series and funny videos in English in my free time for &lt;strong&gt;listening&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For my &lt;strong&gt;writing&lt;/strong&gt;, I am doing this journal.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3au9kodnfsqe8ckjapc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3au9kodnfsqe8ckjapc.gif" alt="Is she still speak?" width="356" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And for &lt;strong&gt;speak&lt;/strong&gt;, I am not doing anything for this area right now. I tough about Tandem, but I don't want to depend on another person. So I think I need to make time to study with Elsa Speak.&lt;/p&gt;

&lt;p&gt;If you want to learn faster, you need to spend more time in touch with the language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About the cleaning of my computer&lt;/strong&gt;&lt;br&gt;
I install Ubuntu 22, and for my work I install:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chrome - as a browser&lt;/li&gt;
&lt;li&gt;VScode - as a code editor&lt;/li&gt;
&lt;li&gt;Terminator - as terminal&lt;/li&gt;
&lt;li&gt;Meld - as file comparator&lt;/li&gt;
&lt;li&gt;SMerge - as git facilitator&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then I downloaded some plugins for VScode -&amp;gt; &lt;a href="https://www.tabnine.com/blog/top-python-plugins-for-vscode/" rel="noopener noreferrer"&gt;Top 10 Python Plugins for VS code&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And that's it.&lt;/p&gt;

&lt;p&gt;I hope you have a great start to the week 🌅&lt;/p&gt;

&lt;p&gt;We read each other later ♥&lt;/p&gt;

</description>
      <category>tools</category>
      <category>english</category>
      <category>setup</category>
      <category>daj</category>
    </item>
    <item>
      <title>🙊 What do the Developer Advocates do? - Dev Advocate Journal (#DAJ) Day 1</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Sat, 11 Jun 2022 22:54:54 +0000</pubDate>
      <link>https://dev.to/mafermazu/what-do-the-developer-advocates-do-dev-advocate-journal-daj-day-1-5f3m</link>
      <guid>https://dev.to/mafermazu/what-do-the-developer-advocates-do-dev-advocate-journal-daj-day-1-5f3m</guid>
      <description>&lt;p&gt;It's important to me to do this. Start this new season in my life.&lt;/p&gt;

&lt;p&gt;Grandma, I want to be a developer advocate!&lt;/p&gt;

&lt;p&gt;I want to share my weird experience telling you what I am doing to be a developer advocate. Maybe I can have great success or a funny failure, but I need to try this.&lt;br&gt;
For today's chapter, I will define what a developer advocate does, and I will tell you about the first step I will take to become one.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤷 What do the developer advocates do?
&lt;/h2&gt;

&lt;p&gt;Well, we promote the use of technology, and we help other developers to use the company's products designed for them; this can be with good documentation, making demos, tutorials, and anything that makes sense for the company to be in contact with the developers. Another task that seemed super important to me in this role is that we have to be active listeners, and in the end, we try to communicate our products better.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤯 My first step to being a dev advocate
&lt;/h2&gt;

&lt;p&gt;Seriously committed to improving my professional English speaking and writing skills. I can't cancel that again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1eczlevbkzpmxj52yhc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1eczlevbkzpmxj52yhc.gif" alt="Grinch - I can't cancel that again" width="498" height="263"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And that's it for today 🙌 🎉&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can follow this journal to know what happens with my new path or if you are curious about precisely what I will do to exponentially improve my English.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thanks for reading, see you later&lt;/em&gt; 💜&lt;/p&gt;

</description>
      <category>advocate</category>
      <category>develop</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>3 Consejos para empezar a Programar 💻️💜️</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Sun, 17 Jan 2021 20:48:19 +0000</pubDate>
      <link>https://dev.to/mafermazu/3-consejos-para-empezar-a-programar-424a</link>
      <guid>https://dev.to/mafermazu/3-consejos-para-empezar-a-programar-424a</guid>
      <description>&lt;p&gt;💎 Pregunté esto por twitter y recibí las siguientes &lt;a href="https://twitter.com/MaferMazu/status/1349096345483816962" rel="noopener noreferrer"&gt;respuestas&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fue muy interesante esta dinámica, y estoy de acuerdo con varios consejos, sin embargo ahorita voy a comentarte los que a &lt;strong&gt;mí me parecen más importantes&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⏰ Date tu tiempo
&lt;/h2&gt;

&lt;p&gt;Siempre pensé que era mala programando... síndrome del impostor.&lt;/p&gt;

&lt;p&gt;Me tomó varios años aprender las bases y no fue hasta que me tocó trabajar con alguien a quién admiraba, alguien que yo consideraba un "duro programando", que me dí cuenta de que yo era muy capaz y tenía buen nivel.&lt;/p&gt;

&lt;p&gt;Al final todo conocimiento suma; y todo el estudio y la práctica en algún momento dá sus frutos. Así que: No te rindas.&lt;/p&gt;

&lt;h2&gt;
  
  
  🏆 ¡Divide y vencerás!
&lt;/h2&gt;

&lt;p&gt;¡Me encanta! Sirve para muchas cosas. Si tienes un problema, divídelo. Hazlo lo más chiquito que puedas y ve resolviendo sus partes para así lograr conseguir la solución completa.&lt;/p&gt;

&lt;p&gt;Considero que es una de las cosas más útiles que he aprendido.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 Aprende a googlear
&lt;/h2&gt;

&lt;p&gt;No estás solo; y actualmente hay mucho contenido en internet que te permite ver lo que otras personas hacen para resolver problemas. &lt;/p&gt;

&lt;p&gt;Si hay algo que te de curiosidad, o te trabas en algún momento, googlea.&lt;/p&gt;

&lt;p&gt;Busca de muchas maneras, y acostúmbrate a googlear en inglés (hay más contenido)&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 ¡That's it!
&lt;/h2&gt;

&lt;p&gt;Esos son los 3 consejos que yo me daría a mí misma si estuviera empezando. Espero que te hayan sido útiles.&lt;/p&gt;

&lt;p&gt;♥️ Déjame en los comentarios si tienes más consejos o si te gustó alguno que leíste aquí.&lt;/p&gt;

</description>
      <category>programar</category>
      <category>beginners</category>
      <category>programming</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Buenas prácticas para escribir código</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Thu, 01 Oct 2020 22:36:36 +0000</pubDate>
      <link>https://dev.to/mafermazu/buenas-practicas-para-escribir-codigo-4kb3</link>
      <guid>https://dev.to/mafermazu/buenas-practicas-para-escribir-codigo-4kb3</guid>
      <description>&lt;p&gt;Como programadores vamos a leer más código del que vamos a escribir por lo que es importante escribir bien para que entendamos nuestro propio código.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def calcular(a,b):
    return (a*b)/2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora imagina que le muestras ese código que hiciste a algún amigo tuyo que puede ser programador o no. ¿Crees que va a entender qué hace tu código más allá de una multiplicación y división?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Un código bien escrito beneficia a todo el mundo&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Es más cómodo de leer&lt;/li&gt;
&lt;li&gt;Se entiende qué hace cada función y qué representa cada variable&lt;/li&gt;
&lt;li&gt;Te permite disminuir errores&lt;/li&gt;
&lt;li&gt;Te permite detectar de forma más rápida en dónde ocurren errores &lt;/li&gt;
&lt;li&gt;A la hora de corregir código disminuyes los efectos colaterales&lt;/li&gt;
&lt;li&gt;Tu código puede ser entendido por otros y ser usado para proyectos más grandes si tu quieres&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Recomendaciones para escribir código
&lt;/h1&gt;

&lt;p&gt;Para escribir código limpio se deben tomar en cuenta estas características:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Legibilidad&lt;/li&gt;
&lt;li&gt;Mantenibilidad&lt;/li&gt;
&lt;li&gt;Testeabilidad&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🌟 El código debe ser legible
&lt;/h2&gt;

&lt;p&gt;El código está escrito para humanos y no para máquinas. A la computadora no le va a importar si defines una variable &lt;code&gt;x=3&lt;/code&gt; o si la llamas &lt;code&gt;vidas=3&lt;/code&gt;, pero para una persona este cambio sí genera una diferencia.&lt;/p&gt;

&lt;p&gt;¿Te acuerdas de este código?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def calcular(a,b):
    return (a*b)/2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;¿Qué te parece si lo mejoramos?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def areaTriangulo(base,altura):
    return (base*altura)/2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora se entiende mejor qué es  lo que hacía nuestro código inicial.&lt;/p&gt;

&lt;p&gt;Veamos otro ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Mi página de ejemplo&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;Aquí va el contenido&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto se puede mejorar así:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;title&amp;gt;Mi página de ejemplo&amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
    Aquí va el contenido
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Otra cosa a tomar en cuenta es que cada lenguaje tiene su &lt;strong&gt;estándar de codificación&lt;/strong&gt;. Puedes buscar en internet para ver cómo se escribe correctamente en cada lenguaje y usar &lt;em&gt;lints&lt;/em&gt; para ayudarte. Los lints son herramientas que permiten detectar código sospechoso, que podría generar fallas e incluso si es código confuso.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Visual Studio code puede ayudarte con estos estándares&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  El código debe ser mantenible 🔧
&lt;/h2&gt;

&lt;p&gt;Esto quiere decir que pueda ser actualizado cada cierto tiempo y que así el programa perdure.&lt;/p&gt;

&lt;p&gt;Para esto los consejos son tratar de mantener el &lt;strong&gt;código modular&lt;/strong&gt;, pensar en el código como si fuese un estante ordenado en donde cada módulo interactúa con otros.&lt;/p&gt;

&lt;p&gt;Lo otro que hay que tomar en cuenta es que debemos tratar de crear funciones, para que nuestro &lt;strong&gt;código sea reutilizable&lt;/strong&gt; y no estemos repitiendo operaciones una y otra vez sino que sólo llamemos a la función.&lt;/p&gt;

&lt;p&gt;Otras cosas que ayudan a la mantenibilidad son: tener el &lt;strong&gt;código organizado&lt;/strong&gt; (con los archivos agrupados en directorios), evitar que funciones hagan cosas que no le correspondan, evitar el &lt;strong&gt;hard coding&lt;/strong&gt;, y si usas programación orientada a objetos (poo) hay que tratar de seguir &lt;strong&gt;los principios SOLID&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;El hard coding&lt;/strong&gt; es una mala práctica que consiste en llamar valores de la nada (sin sacarlos de un archivo de configuración o al menos tenerlas como variables).&lt;/p&gt;

&lt;p&gt;Ejemplo:&lt;br&gt;
Imagina que vas a desarrollar un programa para una empresa en el que utilizas MUCHO el precio de una compra con iva.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;...
print(f"El precio más el 12% de IVA es: {round(precio*1.12)}")
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;El precio más el 12% de IVA es: 112&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Si por alguna razón este valor cambia vamos a tener que cambiar todo lo que diga 1.12 de iva.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;...
print(f"El precio más el 12% de IVA es: {round(precio*1.15)}")
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aún así cambiemos todos los valores, esto imprime mal.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;El precio más el 12% de IVA es: 115&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Habría que revisar todo el programa un montón de veces para asegurarse de que ese cambio se propague correctamente.&lt;/p&gt;

&lt;p&gt;Para resolverlo puedes usar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;...
valor_iva=0.15
print(f"El precio más el {round(valor_iva*100)}% de IVA es: \
{round(precio*(valor_iva+1))}")
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O crear un archivo aparte en donde tengas todos los valores de configuración y los importes en el programa en donde lo necesites.&lt;/p&gt;

&lt;p&gt;Con respecto a &lt;strong&gt;SOLID&lt;/strong&gt;, la idea es cumplir estos 5 principios cuando usamos programación orientada a objetos (POO):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;S: Single Reponsibility Principle (cada método se encarga de una única cosa)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;O: Open/Closed Principle (cada clase tiene sus métodos)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;L: Liskov Substitution Principle (el hijo no puede contradecir al padre en temas de herencia)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I: Interface Segregation Principle (evitar tener interfaces genéricas)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;D: Dependency Inversion Principle (evitar dependencia entre clases y usar interfaces)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si quieres saber más al respecto puedes revisar este &lt;a href="https://enmilocalfunciona.io/principios-solid/" rel="noopener noreferrer"&gt;post sobre principios SOLID&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  El código debe ser testeable 🔎
&lt;/h2&gt;

&lt;p&gt;¿Cuánto esfuerzo lleva probar tu código?&lt;/p&gt;

&lt;p&gt;Existen las &lt;strong&gt;pruebas manuales&lt;/strong&gt; (realizadas por personas) y las pruebas automatizadas (realizadas por otros programas).&lt;/p&gt;

&lt;p&gt;De las &lt;strong&gt;pruebas automatizadas&lt;/strong&gt; hay que tomar en cuenta &lt;strong&gt;las pruebas unitarias&lt;/strong&gt; (las que se prueba un módulo del programa) y &lt;strong&gt;las de integración&lt;/strong&gt; (en donde se prueba cómo interactúan estos módulos entre sí)&lt;/p&gt;

&lt;p&gt;Esto es importante porque no sólo nos interesa que nuestro código sea legible y mantenible sino que hay que poder verificar si lo que estamos programando hace realmente lo que debería hacer.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 Recuerda
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Legibilidad&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Escribimos código para humanos y hay que tratar de ser descriptivos con nuestras variables y funciones y hay que tomar en cuenta los estándares del lenguaje.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mantenibilidad&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nuestro código podría perdurar en el tiempo y hay que tomar precauciones para que no sea tan difícil de modificar.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Testeabilidad&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hay que verificar que nuestro código haga lo que se espera y se pueda probar.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔥 ¡¡Tengamos mejores códigos!! 🚀
&lt;/h2&gt;

</description>
      <category>codequality</category>
      <category>spanish</category>
      <category>programacion</category>
    </item>
    <item>
      <title>🐍 Python Básico</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Tue, 29 Sep 2020 17:21:18 +0000</pubDate>
      <link>https://dev.to/mafermazu/python-basico-5g5n</link>
      <guid>https://dev.to/mafermazu/python-basico-5g5n</guid>
      <description>&lt;p&gt;Este post va dirigido a cualquier persona que quiera aprender a programar desde cero. Aquí comento qué programas necesitas para programar con python, doy ejemplos básicos de los tipos de datos en la programación, explico qué es una variable y cuáles son las reglas para escribirlas, te enseño a entrar en python y a ejecutar algunas operaciones y también te dejo un ejercicio para que pongas en práctica todo lo aprendido.&lt;/p&gt;

&lt;p&gt;Si aún no estás convencido de empezar a programar aquí hay un post en donde te comento &lt;a href="https://dev.to/mafermazu/por-que-empezar-a-programar-en-python-2dm8"&gt;por qué empezar a programar con Python&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Si estás listo ¡Vamos a darle!&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 ¿Qué es Python?
&lt;/h2&gt;

&lt;p&gt;Es un lenguaje de programación muy popular y fácil de usar. Tiene una filosofía que apoya el código simple y permite que ejecutemos el código en distintos sistemas operativos.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué necesitas para programar con Python? 🔎
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;El lenguaje&lt;/li&gt;
&lt;li&gt;El editor de código&lt;/li&gt;
&lt;li&gt;La consola&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  El lenguaje 👅
&lt;/h3&gt;

&lt;p&gt;Hay que descargar Python, para eso nos vamos a su web en la sección de descargas&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.python.org/downloads/" rel="noopener noreferrer"&gt;https://www.python.org/downloads/&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Si estás en Windows
&lt;/h4&gt;

&lt;p&gt;Al acceder la página va a reconocer tu sistema operativo y te va a permitir descargar el instalador.&lt;/p&gt;

&lt;p&gt;🔥 Cuando ejecutes el instalador asegurate de marcar la casilla que dice: Add Python to PATH&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdatatofish.com%2Fwp-content%2Fuploads%2F2018%2F10%2F0001_add_Python_to_Path.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdatatofish.com%2Fwp-content%2Fuploads%2F2018%2F10%2F0001_add_Python_to_Path.png" alt="Add Python to PATH" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  El editor 📝
&lt;/h3&gt;

&lt;p&gt;Es el programa en donde escribimos y editamos nuestro código. Entre ellos está: Visual Studio Code, Sublime Text, Atom, etc.&lt;/p&gt;

&lt;p&gt;Recomiendo Visual Studio Code, muchos programadores lo utilizan y podemos instarlo aquí: &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;https://code.visualstudio.com/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  La consola 👾
&lt;/h3&gt;

&lt;p&gt;También conocida como la &lt;strong&gt;terminal&lt;/strong&gt;. Es un programa que te permite ejecutar comandos en tu computadora. Esta ya viene integrada en macOS y en sistemas basados en Linux.&lt;/p&gt;

&lt;p&gt;Si estás en Windows esta es conocida como cmd, sin embargo no es tan compatible con los comandos de Linux, así que a veces es recomendable usar cmder &lt;a href="https://cmder.net/" rel="noopener noreferrer"&gt;https://cmder.net/&lt;/a&gt; o Windows PowerShell. Sin embargo si instalas Visual Studio, ese editor viene con su propia terminal, o si instalas git por lo general viene con git bash que funciona como una terminal de linux.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;¿Ya tienes lo necesario? Empecemos&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🌟 ¿Qué son las variables?
&lt;/h2&gt;

&lt;p&gt;Son identificaciones de espacio de memoria en la computadora.&lt;/p&gt;

&lt;p&gt;Imagina que tienes un estante lleno de cajas y cada caja tiene un nombre. Cada vez que tú llamas a la caja tú vas a estar haciendo referencia a aquello que esté dentro la caja.&lt;/p&gt;

&lt;p&gt;Ejemplo:&lt;br&gt;
En la caja "x" tengo 5 pelotas, y cada vez que diga x me voy a estar refiriendo a esas pelotas.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Las variables almacenan datos y hay varios tipos de datos&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  📍 Tipos de datos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;int : Enteros&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;x=5&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;float : Punto Flotante&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;x=7.23&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;bool : Booleano&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;x=True&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;x=False&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;str : Cadena de caracteres (String)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;my_name="Maria Fernanda"&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;list : Lista&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;x=[1,2,3,4]&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tuple : Tupla&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;x=(1,2,3)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;instance : Instancia de un Objeto
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Persona:
    """Clase que representa una Persona"""
    cedula = "V-13458796"
    nombre = "Leonardo"
    apellido = "Caballero"
    sexo = "M"

x = Persona()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Notas sobre los tipos de datos y las variables
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Con cada uno de estos datos podemos realizar operaciones.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si sumamos dos int (enteros) se hace una suma aritmética.&lt;/li&gt;
&lt;li&gt;Si sumamos dos list (listas) estas se concatenan (se crea una lista con los elementos de ambas listas)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;En python puedes saber que tipo de dato tienes usando la función type()&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Las variables no son siempre x,y,z; de hecho es recomendable que nuestras variables tengan nombres descriptivos y digan exactamente lo que almacenan. Ejemplo: mi_altura, mi_edad, contador, mi_suma, nombre_de_empresa, url_base, cantidad_de_vidas, etc.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Por convenciones las variables empiezan siempre en minúscula y con alguna letra (no pueden empezar con número), las variables tampoco pueden tener acentos, ni espacios (en python se usan los _ ej: mi_casa). Y mi_altura es diferente a mi_aLtura (las mayúsculas y minúsculas importan)&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ya conoces lo básico, vamos a probarlo&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🎯 Jugando con Python
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Entra en la terminal de tu sistema y escribe:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;$ python -V&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Esto debería decirte qué versión de python tienes si ya lo tienes instalado.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Luego de que verificaste que se instaló escribe:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;$ python3&lt;/code&gt; o &lt;code&gt;$ python&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;En mi caso voy a escribir python3 porque también tengo instalado python2.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Empieza a experimentar (Ya estás dentro de python)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Aquí podemos escribir operaciones y podemos declarar nuestras variables&lt;/p&gt;

&lt;p&gt;Ejemplo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si escribes 5+4 y pisas enter python te va a devolver 9&lt;/li&gt;
&lt;li&gt;Si escribes "Hola"+"Mundo" con todo y las comillas y pisas enter python te va a devolver 'HolaMundo'&lt;/li&gt;
&lt;li&gt;Si escribes [1,2]+[3,4] con todo y los [] y pisas enter python te va a devolver [1, 2, 3, 4]&lt;/li&gt;
&lt;li&gt;Si escribes my_name="Mafer" y pisas enter se va a almacenar "Mafer" dentro de la variable my_name&lt;/li&gt;
&lt;li&gt;Si escribes my_name y pisas enter python debería imprimir el contenido de my_name&lt;/li&gt;
&lt;li&gt;Si escribes type(my_name) debería decirte str&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Te invito a que juegues un poco con estas operaciones.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Si quieres salirte de python puedes ejecutar el exit()&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Escribe exit() y luego pisa enter.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚩 Tu primer ejercicio en Python
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Entra en python&lt;/li&gt;
&lt;li&gt;Crea una variable que contenga tu nombre y llámala mi_nombre&lt;/li&gt;
&lt;li&gt;Crea una variable que tenga un número del 1 al 10 y llámala num&lt;/li&gt;
&lt;li&gt;Crea una variable que tenga tu edad y se llame mi_edad&lt;/li&gt;
&lt;li&gt;Ahora escribe resultado=(num+mi_edad)/2&lt;/li&gt;
&lt;li&gt;Y para finalizar print(f"Mi nombre es {mi_nombre} y el número que me salió fue {resultado}")&lt;/li&gt;
&lt;li&gt;Comparte en los comentarios qué te salió y qué otras operaciones hiciste.&lt;/li&gt;
&lt;/ol&gt;




&lt;blockquote&gt;
&lt;p&gt;🏁 En este post aprendiste qué es un editor de código, qué es la terminal, las variables, los tipos de datos y pusiste en práctica todo lo aprendido.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>spanish</category>
      <category>programacion</category>
    </item>
    <item>
      <title>Curso Básico de GitHub</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Tue, 29 Sep 2020 01:32:08 +0000</pubDate>
      <link>https://dev.to/mafermazu/curso-basico-de-github-238j</link>
      <guid>https://dev.to/mafermazu/curso-basico-de-github-238j</guid>
      <description>&lt;p&gt;Aprenderas qué es git y github, cómo crear un repositorio desde github, cómo clonar un repositorio y cómo subir los cambios locales a un repositorio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué es git
&lt;/h2&gt;

&lt;p&gt;¿Te acuerdas cuando creabas un documento y sacabas varias versiones del mismo?&lt;/p&gt;

&lt;p&gt;Seguramente terminabas con:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;archivo.txt&lt;/li&gt;
&lt;li&gt;archivoV1.txt&lt;/li&gt;
&lt;li&gt;archivoDefinitivo.txt&lt;/li&gt;
&lt;li&gt;archivoSuperDefinitivo.txt&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Git es un software que ayuda justamente con esto; es un controlador de versiones.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos. (1)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Algo que considero fundamental entender con respecto a &lt;strong&gt;git&lt;/strong&gt; es que una cosa es controlar las versiones de forma &lt;strong&gt;local&lt;/strong&gt; (en tu computadora) y otra es controlar esas versiones de forma &lt;strong&gt;online&lt;/strong&gt; (en un repositorio de &lt;strong&gt;github&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;Para ser sincera es poco el uso que le doy a git como gestor de versiones locales, la mayoría de las veces lo utilizo para poder colaborar de forma rápida con otras personas en github.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué es Github
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Es un git pero online&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Es un sistema que permite controlar versiones y tus archivos estarían guardados en los servidores de github.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿En github sólo puedes subir código?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No.&lt;/p&gt;

&lt;p&gt;Puedes subir varios tipos de archivo. Sin embargo sí está muy optimizado para hacer colaboraciones en archivos de texto plano que pueden ser interpretados por distintos lenguajes de programación.&lt;/p&gt;

&lt;p&gt;Si estás en el mundo de la programación github es indispensable.&lt;/p&gt;

&lt;p&gt;Si no podrías usar github con otros fines, por ejemplo  hacer una carta colaborativa y subir un archivo a github en formato .txt o .md.&lt;/p&gt;

&lt;h2&gt;
  
  
  📌 Pasos para empezar con Github
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Descarga el software git en tu computadora.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://git-scm.com/downloads" rel="noopener noreferrer"&gt;https://git-scm.com/downloads&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recuerda que git es un controlador de versiones, y este lo usaremos para guardar los archivos de forma local y luego con unos comandos lo haremos online (github).&lt;/p&gt;

&lt;p&gt;Si tu sistema operativo es Windows lo más probable es que se te instale algo llamado gitbash, y si no lo hace automáticamente asegurate de descargarlo.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Crea una cuenta en Github
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/" rel="noopener noreferrer"&gt;https://github.com/&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ya con lo necesario para usar Github puedes crear tu primer repositorio (proyecto) de diversas maneras. Yo voy a explicar el paso a paso de cómo lo hago yo (que pienso que es la forma más fácil)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  3. Crea tu repositorio en Github
&lt;/h3&gt;

&lt;h4&gt;
  
  
  La forma más rápida
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/new" rel="noopener noreferrer"&gt;https://github.com/new&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Luego te va a pedir que le coloques un título al repositorio, una descripción opcional, si lo quieres privado o público, y luego te dice si quieres agregarle a tu repositorio README, gitignore y licencias. De momento sólo vamos a rellenar el título y las cositas que sean obligatorias y luego vamos a seleccionar que queremos agregarle el README.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Lo básico de los repositorios
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FM7xssjF%2FScreenshot-from-2020-08-26-21-25-01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FM7xssjF%2FScreenshot-from-2020-08-26-21-25-01.png" alt="Screenshot-from-2020-08-26-21-25-01" width="800" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Arriba tenemos una barra con varias opciones sobre nuestro repositorio que sería interesante revises pero de momento vamos a centrarnos en las opciones:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to file&lt;/li&gt;
&lt;li&gt;Add file &lt;/li&gt;
&lt;li&gt;Code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Github nos permite editar nuestras cosas directamente desde la web. Si quisieramos editar el README podemos pisar el lapicito y si queremos agregar más archivos podremos usar la función Add file; pero de momento queremos hacer estas ediciones de forma local (en nuestra pc).&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Clonar un repositorio de Github en tu computadora
&lt;/h3&gt;

&lt;p&gt;Cuando se dice clonar nos referimos a traer a nuestra computadora una copia de lo que está en el repositorio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Y cómo se hace?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Estando en el repositorio que quiero clonar 😱 selecciono donde dice Code (el botón verde) y copio el link que muestra.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FJskh22w%2FScreenshot-from-2020-08-26-21-31-47.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FJskh22w%2FScreenshot-from-2020-08-26-21-31-47.png" alt="Screenshot-from-2020-08-26-21-31-47" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Luego:&lt;/p&gt;

&lt;p&gt;Si estás en Windows abres el Git Bash, si estás en Linux o Mac abres la terminal o línea de comandos.&lt;/p&gt;

&lt;p&gt;En mi caso sale:&lt;br&gt;
&lt;code&gt;mafer@PC:~/Documents/Data$&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;🌟 Explicación: En donde lo primero es el nombre de usuario en mi maquina, luego sale el nombre de mi máquina y luego sale el directorio en donde me encuentro, que en mi caso es ~ (que es el home de mi usuario), en la carpeta Documentos y subcarpeta Data.&lt;/p&gt;

&lt;p&gt;En mi caso quiero ir a otro directorio, porque el repositorio que acabo de hacer no tiene nada que ver con eso, entonces escribo en la terminal:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd ..&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Eso quiere decir change directory (cambia de directorio) al directorio padre (el directorio padre en este caso es Documents)&lt;/p&gt;

&lt;p&gt;Ya que estoy en Documents (o en cualquier carpeta en donde quiera el repositorio) voy a hacer&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git clone &amp;lt;link del repositorio que copie de github&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Si este comando te da algún error puede ser porque no tienes instalado git o el repositorio por alguna razón no se puede clonar o … googlea cualquier cosa que te haya devuelto esto.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A mí nunca me ha dado error pero imagino que debe ser por algo de eso&lt;/em&gt; 😄&lt;/p&gt;

&lt;p&gt;Y listo, si todo salió bien ya clonaste el repositorio en tu pc.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Editar los archivos del repositorio de forma local
&lt;/h3&gt;

&lt;p&gt;Ahora nos apoyaremos en la interfaz gráfica de nuestro sistema operativo para ir a la carpeta de documentos y ver una carpeta que casualmente tendrá el mismo nombre del repositorio de github.&lt;/p&gt;

&lt;p&gt;🌟 Traducción: en tu pc busca la carpetita y entra a documentos de forma normal y busca la carpeta que tiene el nombre de tu repositorio.&lt;/p&gt;

&lt;p&gt;Dentro de esa carpeta puedes copiar y pegar archivos, editar los que están, etc.&lt;/p&gt;

&lt;p&gt;Supongamos que con un editor de texto plano (bloc de notas, sublime text, vs code, o cualquier otro) editamos el README. Verás que esto puedes hacerlo sin ningún problema.&lt;/p&gt;

&lt;p&gt;Para este experimento escribiremos nuestro nombre dentro del README y guardamos.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Guardar versiones con git
&lt;/h3&gt;

&lt;p&gt;Luego de haber modificado todo y haber guardado lo que sigue es ir a la terminal (o git bash) y revisamos en qué carpeta estamos. &lt;/p&gt;

&lt;p&gt;En mi caso me quedé en Documentos así que voy a ir a la capeta del repositorio.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd &amp;lt;nombre de la carpeta&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;🌟 Pequeño hack: si escribes las primeras letras del nombre de la carpeta y no tienes otra que empiece con esas letras, si pisas la tecla tab (la que está sobre el mayus en tu teclado), va a auto completar el nombre.&lt;/p&gt;

&lt;p&gt;En fin, si logras entrar podemos:&lt;/p&gt;

&lt;h4&gt;
  
  
  Ver el status de git
&lt;/h4&gt;

&lt;p&gt;Si escribimos en la terminal:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Agregar al controlador de versiones las modificaciones a nuestra carpeta
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;🌟 Explicación: Ese “.” significa: donde estás parado (la carpeta en la que te encuentras)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Traducción: estás agregando a tu controlador todo lo nuevo que tengas en esa carpeta.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Puedes revisar si se agregó correctamente con &lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Y para terminar&lt;/p&gt;

&lt;h4&gt;
  
  
  Hacemos un commit
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git commit -m “escribo aqui un mensaje referente a los cambios que hice”&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Nota: las comillas para el mensaje son necesarias&lt;/p&gt;

&lt;h3&gt;
  
  
  8. ¿Cómo agregar mis versiones a GitHub?
&lt;/h3&gt;

&lt;p&gt;Luego de haber hecho:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit -m “mensaje”&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;hay que subir eso a github.&lt;/p&gt;

&lt;p&gt;Si estás en un proyecto colaborativo es bueno que hagas:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git pull&lt;/code&gt; o &lt;code&gt;git pull origin master&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;y luego haces:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push&lt;/code&gt; o &lt;code&gt;git push origin master&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;🌟 Explicación: El git pull lo que hace es traer a tu pc las nuevas versiones de tus compañeros a tu pc, y el git push es el que sube tus modificaciones al github. Para estas acciones normalmente te va a pedir el usuario y la clave de tu cuenta de github.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Y listo, eso fue todo.&lt;/strong&gt; 🎉&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Puedes revisar en la página de Github si se hicieron los cambios.&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  📌 En este gist aprendiste
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Instalar git&lt;/li&gt;
&lt;li&gt;Crearte una cuenta en github&lt;/li&gt;
&lt;li&gt;Crear un repositorio desde github&lt;/li&gt;
&lt;li&gt;Clonar un repositorio de github a tu computadora&lt;/li&gt;
&lt;li&gt;Moverte en la terminal con el comando cd&lt;/li&gt;
&lt;li&gt;Editar el contenido de tu repositorio de forma local&lt;/li&gt;
&lt;li&gt;Guardar las versiones de forma local con git&lt;/li&gt;
&lt;li&gt;Comando básicos como &lt;code&gt;git status&lt;/code&gt;, &lt;code&gt;git add .&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Crear commits con &lt;code&gt;git commit -m&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Cómo hacer pull a un repositorio&lt;/li&gt;
&lt;li&gt;Cómo hacer push a un repositorio&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Si quieres más información al respecto te invito a que visites la documentación de github en español: &lt;a href="https://docs.github.com/es/github" rel="noopener noreferrer"&gt;https://docs.github.com/es/github&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Bibliografía
&lt;/h2&gt;

&lt;p&gt;(1) &lt;a href="https://es.wikipedia.org/wiki/Git" rel="noopener noreferrer"&gt;https://es.wikipedia.org/wiki/Git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(2) &lt;a href="https://docs.github.com/es/github" rel="noopener noreferrer"&gt;https://docs.github.com/es/github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>spanish</category>
      <category>programacion</category>
    </item>
    <item>
      <title>¿Por qué empezar a Programar en Python?</title>
      <dc:creator>María Fernanda Magallanes</dc:creator>
      <pubDate>Tue, 22 Sep 2020 20:27:22 +0000</pubDate>
      <link>https://dev.to/mafermazu/por-que-empezar-a-programar-en-python-2dm8</link>
      <guid>https://dev.to/mafermazu/por-que-empezar-a-programar-en-python-2dm8</guid>
      <description>&lt;h2&gt;
  
  
  ¿Qué es Python?
&lt;/h2&gt;

&lt;p&gt;Python es un lenguaje de programación excelente para adentrarte en este mundo.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 ¿Por qué empezar con Python?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Es fácil de usar&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Es un lenguaje que se ha vuelto muy popular, por lo que podrás encontrar mucha información&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Su filosofía apoya que el código sea simple&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Te permite ejecutar el código sin necesidad de otros programas (es un lenguaje interpretado)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Puedes ejecutar el código en Windows, macOs y en Linux (es multiplataforma)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Te permite:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cambiar el tipo de una variable (es un lenguaje de tipado dinámico)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x=3
x='hola'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Crear tus propios tipos de variable (te permite programar con el paradigma de programación orientada a objetos)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Persona:
    """Clase que representa una Persona"""
    cedula = "V-13458796"
    nombre = "Leonardo"
    apellido = "Caballero"
    sexo = "M"

x = Persona()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Definir las instrucciones (te permite programar con el paradigma de programación imperativa)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x=[1,2]
resp=0
if len(x)&amp;gt;0:
    for elem in x:
        resp = resp + elem
    my_mean = resp/len(x)
else:
    my_mean = resp

print(my_mean)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Programar con funciones
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x=[1,2]
my_mean = mean(x)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Realmente puedes hacer muchas cosas con python, sin embargo para mí las razones principales por las que recomiendo aprender a programar con este lenguaje son su filosofía de &lt;strong&gt;código simple y su gran comunidad&lt;/strong&gt; (si googleas acerca de python es muy probable que encuentres respuestas) 🔎&lt;/p&gt;

&lt;p&gt;Así que empieza a programar sin miedo.&lt;/p&gt;

&lt;p&gt;🚩 &lt;strong&gt;¡¡¡ Empieza a Programar en Python !!!&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Siguiente post: &lt;a href="https://dev.to/mafermazu/python-basico-5g5n"&gt;Curso de Python Básico&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>spanish</category>
      <category>programacion</category>
    </item>
  </channel>
</rss>
