<?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>Forem: Shasten Marshall</title>
    <description>The latest articles on Forem by Shasten Marshall (@shasten).</description>
    <link>https://forem.com/shasten</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%2F779157%2Fef31305b-e522-42cb-8bee-74588d4fdb7c.jpg</url>
      <title>Forem: Shasten Marshall</title>
      <link>https://forem.com/shasten</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/shasten"/>
    <language>en</language>
    <item>
      <title>An Epiphany While Learning Django</title>
      <dc:creator>Shasten Marshall</dc:creator>
      <pubDate>Sat, 18 Mar 2023 20:55:38 +0000</pubDate>
      <link>https://forem.com/shasten/an-epiphany-while-learning-django-2jo9</link>
      <guid>https://forem.com/shasten/an-epiphany-while-learning-django-2jo9</guid>
      <description>&lt;p&gt;I’m a middle-aged &lt;em&gt;gringo&lt;/em&gt; who lives in Mexico. More than once, I have taught English here, and all too often; most of my students would completely &lt;em&gt;over-complicate&lt;/em&gt; their learning path on their journey to learning English. There are so many times I would tell my students, “If you do exactly as I tell you, you will be proficient at speaking English. One day, &lt;em&gt;who knows&lt;/em&gt;, you might even attain fluency. Seriously, the process is easier than you think.” Recently, I was reminded of how &lt;em&gt;oblivious&lt;/em&gt; I was to heeding my own advice when it came to learning to program in Python.&lt;/p&gt;

&lt;p&gt;A couple of years ago, I embarked on the &lt;em&gt;journey&lt;/em&gt; to becoming a &lt;em&gt;software engineer&lt;/em&gt;, and it has been so difficult because I wouldn’t do what people who were trying to help me suggested that I do. Seriously, I fought this &lt;em&gt;process&lt;/em&gt; so hard that I now understand something that I didn’t understand before.&lt;/p&gt;

&lt;p&gt;If  you are like me, and are doing the &lt;em&gt;self-taught&lt;/em&gt; route, no-doubt you have heard of courses like &lt;em&gt;Python For Everybody&lt;/em&gt; by &lt;em&gt;Charles Severance&lt;/em&gt;. I have never taken any of his courses, but I have watched a few interviews of him outlining the learning process of a Developer. So, I wasn’t surprised when I found myself learning things like Object Oriented Programming when learning Django because he explicitly said that Django teaches you OOP.&lt;/p&gt;

&lt;p&gt;Honestly, I really feel like I let Django intimidate me. After a year of dragging my feet, I started out on the Django website building that &lt;em&gt;blessed&lt;/em&gt; Poll App, and then I realized that Django isn’t as hard as I thought. It’s funny because I had the same exact experience with Arch Linux where I wouldn’t do the command-line installation for about 3 years because of the same reason. When I finally did install it, I realized that there was just an &lt;em&gt;imaginary boogeyman&lt;/em&gt; scaring me away, and I now feel this way about Django.&lt;/p&gt;

&lt;p&gt;If you haven’t &lt;em&gt;guessed&lt;/em&gt; by now, I have some skills loosely related to programming. I had created a few websites without a back-end, and I could get it to resize to where you could &lt;em&gt;make sense&lt;/em&gt; of it on your cellphone. I knew HTML and CSS so well that I felt confident that I could look at any free template &lt;em&gt;online&lt;/em&gt; and remake the layout. Also, I built a few development tools for development with the extensive use of google, Stack Overflow, IRC Chat, and many other forums. Unfortunately, &lt;em&gt;none&lt;/em&gt; of that prior experience helped me here.&lt;/p&gt;

&lt;p&gt;Being hip to &lt;em&gt;Single Page Apps (SPA)&lt;/em&gt;, I knew there was a lot that I could do &lt;em&gt;without&lt;/em&gt; a back-end; but I might as well build WordPress sites if I'm honest. I had some friends doing this, but it never appealed to me. I just thought that if people knew how &lt;em&gt;painless&lt;/em&gt; it is to get a WordPress website up, that they would stop paying for it. It would be better to learn to &lt;em&gt;programming&lt;/em&gt; where you could actually solve problems, but &lt;em&gt;learning&lt;/em&gt; how to do this was proving much more &lt;em&gt;difficult&lt;/em&gt; than I ever imagined it would be.&lt;/p&gt;

&lt;p&gt;The thing I didn’t realize was the role that &lt;em&gt;databases&lt;/em&gt; played in web development, and how this just streamlines the whole development process. I would just &lt;em&gt;visualize&lt;/em&gt; databases as information in &lt;em&gt;rows&lt;/em&gt; and &lt;em&gt;columns&lt;/em&gt;, but it never occurred to me that with OOP, you can have an &lt;em&gt;admin account&lt;/em&gt;, &lt;em&gt;post&lt;/em&gt; pages from there and it will automatically be &lt;em&gt;renamed&lt;/em&gt; in the &lt;em&gt;url&lt;/em&gt;. And this is all thanks to the database you set-up with a little basic OOP. This &lt;em&gt;facilitates&lt;/em&gt; the process so much, and also adheres to the DRY (Don’t Repeat Yourself) philosophy of &lt;em&gt;back-end&lt;/em&gt; development.&lt;/p&gt;

&lt;p&gt;I remember preparing for my &lt;em&gt;capstone project&lt;/em&gt; that a mentor told me that it had to have a database of some sort. To be very honest, I drew a complete blank at the time because I had this project that meant the world to me that I was busy developing, but there was no databases involved. Unfortunately, I had the opportunity to scale my project into a &lt;em&gt;kick-ass&lt;/em&gt; project by getting a Django app to do a lot of the dirty work of my project. If I'm honest, I think I could have managed to get a Django app up when I was working on it, but that's not what I did.&lt;/p&gt;

&lt;p&gt;It was so overwhelming that I gave up for a few months, and I don’t know exactly what changed in the air to get me to try again. That was almost a year ago, and things were still intimidating and the learning curve is still kinda steep. I still get &lt;em&gt;stumped&lt;/em&gt; most days on Leetcode, but I know that if I continue to &lt;em&gt;grind&lt;/em&gt;; I will be that kick-ass developer for a good company or I might freelance. Either way, there is a rainbow at the &lt;em&gt;end&lt;/em&gt; of the tunnel. Well, kinda...&lt;/p&gt;

&lt;p&gt;Today, I know a few people who are like me, trying to hustle their way through learning how to code. I think you have to have a little bit of a chip on your shoulder in order to stick with this because there are a lot of &lt;em&gt;ups&lt;/em&gt; and &lt;em&gt;downs&lt;/em&gt;. Maybe, you are like me in that you are &lt;em&gt;smarter&lt;/em&gt; than the average person, in your &lt;em&gt;forties&lt;/em&gt;, but you have been &lt;em&gt;marginalized&lt;/em&gt; by people or circumstance. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Bottom line&lt;/em&gt;, I think it is natural for people to get &lt;em&gt;stuck&lt;/em&gt; at certain points in &lt;em&gt;software development&lt;/em&gt;. If I had to do this again, I think I would try to &lt;em&gt;heed&lt;/em&gt; my own &lt;em&gt;advice&lt;/em&gt; to my English students in that I would &lt;em&gt;relax&lt;/em&gt; and &lt;em&gt;trust&lt;/em&gt; those who were trying to tell me how to &lt;em&gt;evolve&lt;/em&gt; into a competent developer. When they were talking databases, I would realize how far I was from my goal and that I need to just &lt;em&gt;trust the process&lt;/em&gt; and trust those people trying to help me. &lt;/p&gt;

&lt;p&gt;It &lt;em&gt;might have&lt;/em&gt; been an easier process.&lt;/p&gt;

</description>
      <category>django</category>
      <category>webdev</category>
      <category>python</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
