<?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: Anton Roters</title>
    <description>The latest articles on DEV Community by Anton Roters (@toshydev).</description>
    <link>https://dev.to/toshydev</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%2F766973%2F183f7ed6-dda9-43f2-a17d-587942532018.jpg</url>
      <title>DEV Community: Anton Roters</title>
      <link>https://dev.to/toshydev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/toshydev"/>
    <language>en</language>
    <item>
      <title>Maestro's Code: A Musician's Tale of Becoming a Software Developer</title>
      <dc:creator>Anton Roters</dc:creator>
      <pubDate>Tue, 19 Dec 2023 21:09:36 +0000</pubDate>
      <link>https://dev.to/toshydev/maestros-code-a-musicians-tale-of-becoming-a-software-developer-4466</link>
      <guid>https://dev.to/toshydev/maestros-code-a-musicians-tale-of-becoming-a-software-developer-4466</guid>
      <description>&lt;h2&gt;
  
  
  The Bard's Demise
&lt;/h2&gt;

&lt;p&gt;I'm one of millions of musicians who took a critical hit in the past three years, and thankfully, the country I live in had lots of band-aids to hand out to people like me. I was able to pay the rent and eat potatoes alright. But when you feel like your skills aren't needed, all that doesn't mean anything anymore.&lt;/p&gt;

&lt;p&gt;I'm also a gamer and music and video producer, so I loved spending a lot of time in front of a computer screen. A friend of mine suggested I try out the &lt;strong&gt;Python&lt;/strong&gt; course on &lt;em&gt;&lt;a href="//codecademy.com"&gt;Codecademy&lt;/a&gt;&lt;/em&gt; since I'm so into tech, and my depressing mood was starting to worry my family and friends. Maybe I have a hidden talent for programming since problems can be solved in myriad different ways and it pays to be a creative thinker. Well, I could see myself as a scholar since I studied the violin at a university, but there was no math to solve, no statistics to predict, or algorithms to implement, so I thought I'm not smart enough to write complex code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Sorcerer's Apprentice
&lt;/h2&gt;

&lt;p&gt;I decided to give &lt;strong&gt;Python&lt;/strong&gt; a go the next day, and like an RPG with an entangling story, the rare book of code for level one robed staff wielders was soulbound. And I was hooked.&lt;/p&gt;

&lt;p&gt;The beginning of the course was easy. &lt;em&gt;Codecademy&lt;/em&gt;'s &lt;strong&gt;Python&lt;/strong&gt; course had just the right amount of gamification to let me learn more and more complex concepts while rewarding me with drops of serotonin for successful problem-solving. I made a promise then and there to never skip a day of coding with &lt;em&gt;codecademy&lt;/em&gt; for at least a year (I was ready to sell my soul just to feel appreciation for my craft again.) and it so happened that &lt;strong&gt;Python Intermediate&lt;/strong&gt; and &lt;strong&gt;Python Advanced&lt;/strong&gt; followed back to back as well as the whole web dev skill tree. The quest lines &lt;strong&gt;HTML &amp;amp; CSS&lt;/strong&gt; as well as the &lt;strong&gt;JavaScript&lt;/strong&gt; dungeon were all completed in solo speed runs, and I started to feel comfortable reading documentation, watching videos on sorting, and path-finding algorithms until I finally got my first serious mission by my master sorcerer &lt;em&gt;codecademy&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Sorcerer's (Cap)stone
&lt;/h2&gt;

&lt;p&gt;The quest description was fairly straightforward: Develop a program of your choice following the &lt;strong&gt;Software Development Life Cycle&lt;/strong&gt;. In other words: Have an idea, think it through, write code, test it, own it. You can probably guess what kind of program I wrote. A text-based adventure in which the player decides what the main character of the story should do. Nothing too complicated, but I was able to use &lt;strong&gt;Python&lt;/strong&gt;'s most important features and even combine it with something creative like storytelling. Apart from a &lt;em&gt;codecademy&lt;/em&gt; certificate (which pretty much feels like a &lt;em&gt;Steam&lt;/em&gt; achievement), I started feeling like I earned the right to call myself a developer. A little code sorcerer that could learn new spells and solve quests with their help. Friends and family still saw me as the bard I've always been and were happy but surprised about my huge interest in coding and all things tech. To them, it must have looked like a phase that, once I reach the higher levels of coding, would end.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--c9PEX8f4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eec3ku3awiahgyrv5u2r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--c9PEX8f4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eec3ku3awiahgyrv5u2r.png" alt="1st Capstone: Python Terminal Game" width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;1st Capstone Project: Python Terminal Game&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Bootcamp Dungeon
&lt;/h2&gt;

&lt;p&gt;In the realm of self-taught heroes, one of the most dangerous places is the so-called Tutorial hell. You start learning one programming language and, halfway through, divert into another language or a related subject, and so on, until you have spent a lot of time studying but hardly any time solving real-life problems. Many enter Tutorial hell, few come back out. Some come out stronger, some come out the way they entered and quit coding altogether. I spent my fair share of time in it, and before I got lost forever, I took a giant leap and applied for a coding bootcamp at &lt;em&gt;&lt;a href="//neuefische.de"&gt;Neue Fische&lt;/a&gt;&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;Opinions on bootcamps vary like types of potatoes. Mine is very positive because I had already spent one year on &lt;em&gt;&lt;a href="//codecademy.com"&gt;Codecademy&lt;/a&gt;&lt;/em&gt; and &lt;em&gt;&lt;a href="//freecodecamp.org"&gt;FreeCodeCamp&lt;/a&gt;&lt;/em&gt;, and because I had very good teachers and a fun group of students. For three months, four coaches spent eight hours a day, five days a week teaching us the ropes of &lt;strong&gt;web development&lt;/strong&gt; in a pedagogically smart order, from &lt;strong&gt;command line operations&lt;/strong&gt; to &lt;strong&gt;web app user authentication&lt;/strong&gt;. The biggest questions online courses couldn't answer were answered by experienced and helpful teachers, and I met my first coder friends. Learning new technologies is, without a doubt, immensely important, but you can only truly understand them if you're able to explain them to others.&lt;/p&gt;

&lt;h2&gt;
  
  
  Legendary Item: Web App
&lt;/h2&gt;

&lt;p&gt;Remember the text-based adventure I wrote in &lt;strong&gt;Python&lt;/strong&gt; a year before? It felt like the memory of a childhood friend. As a graduation project, each student taking part in the bootcamp had to work on and finish a huge capstone project, which had to be a &lt;strong&gt;web application&lt;/strong&gt;. Using &lt;strong&gt;JavaScript&lt;/strong&gt; with the &lt;strong&gt;React&lt;/strong&gt; Library inside &lt;em&gt;&lt;a href="//vercel.com"&gt;Vercel&lt;/a&gt;&lt;/em&gt;'s &lt;strong&gt;Next&lt;/strong&gt; framework and persistence through a &lt;strong&gt;MongoDB&lt;/strong&gt; database, each of us code sorcerers developed and deployed a fully tested &lt;strong&gt;web application&lt;/strong&gt; in only one month! One and a half years after starting my first online course, I crafted my first legendary web app, and even better: I knew exactly what I was doing! I became a code wizard!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6YDpYQYN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xpacjr5fhwhyl70pxoj0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6YDpYQYN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xpacjr5fhwhyl70pxoj0.png" alt="2nd Capstone Project: inSpot" width="800" height="309"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;2nd Capstone Project: inSpot&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Book of Java
&lt;/h2&gt;

&lt;p&gt;Of course, like any good "bard turned wizard", I had self-doubts. The impostor syndrome is a widely known debuff among humans and it hits especially hard when you're a self-taught programmer. So I decided to apply for another bootcamp. This time to embark on the quest line: &lt;strong&gt;Java&lt;/strong&gt; Developer. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Java&lt;/strong&gt; is old. &lt;br&gt;
&lt;strong&gt;Java&lt;/strong&gt; is everywhere.&lt;br&gt;
&lt;strong&gt;Java&lt;/strong&gt; is powerful! &lt;/p&gt;

&lt;p&gt;The three rules of the &lt;strong&gt;Java&lt;/strong&gt; club (which I made up) taught me to respect this technology. Not everything is as easy to read and understand as &lt;strong&gt;Python&lt;/strong&gt;. You don't wear sandals when climbing a dangerous mountain. Strong typing in &lt;strong&gt;Java&lt;/strong&gt; and other strict languages are the hiking boots of programming. They keep your program from twisting its ankle. Besides, the &lt;strong&gt;Java&lt;/strong&gt; bootcamp showed me how much responsibility lies on the backend of a program. An app can be all shiny on the frontend but rotten on the backend which will make it the perfect prey for hackers. Another capstone project later, this time a &lt;a href="https://github.com/toshydev/netrunner"&gt;real-time location-based multiplayer-game&lt;/a&gt;, I was ready. I finished the full stack Wizard quest line and was ready for the open world experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p9aEh_7p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x5cwlepo4w1t328x0100.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p9aEh_7p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x5cwlepo4w1t328x0100.png" alt="3rd Capstone Project: NetWalker" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;3rd Capstone Project: NetWalker&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Wizard Arena
&lt;/h2&gt;

&lt;p&gt;Of course, I wasn't the only one with the ambitious idea of becoming a software developer. I had to compete with thousands of Computer Science Graduates, Child Prodigy Coders, and other hacker wizards on the IT job market. I prepared at least 50 application letters for different companies and got rejected several times a day. I just needed one recruiter to believe in me so I could show my greatest spells. Thirty negative replies later, I got my first invitations to interviews and I was so ready. A few hours of live coding, and I'm sure nobody even suspected that I lived a very different life. A dream came true!&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bard's Return
&lt;/h2&gt;

&lt;p&gt;It has been almost two months now. Working in a corporate setting with a team of code wizards is nothing like coding alone for online courses. These are real-world problems that require real-world solutions, which cost huge amounts of money, but I'm not worried. My spell book is prepared, and I'm constantly adding new spells. After all this time, it feels even better now to know that I'm still a bard, and whenever I want to, I can make music. I just don't need to live off it.&lt;/p&gt;

&lt;p&gt;Cheers, &lt;em&gt;Toshy the Wizard&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W4s2MwnZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h6xhkfghfjkwxz0hk9gk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W4s2MwnZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h6xhkfghfjkwxz0hk9gk.jpg" alt="Wizard writing code" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>My first Python project</title>
      <dc:creator>Anton Roters</dc:creator>
      <pubDate>Sun, 12 Dec 2021 15:58:46 +0000</pubDate>
      <link>https://dev.to/toshydev/my-first-python-project-5882</link>
      <guid>https://dev.to/toshydev/my-first-python-project-5882</guid>
      <description>&lt;h2&gt;
  
  
  Hello coding world!
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;First post&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Day 99&lt;/strong&gt; of learning how to code...&lt;/p&gt;

&lt;p&gt;99 days ago I registered on &lt;a href="https://codecademy.com"&gt;Codecademy.com&lt;/a&gt; and started the &lt;strong&gt;Python 3 beginner&lt;/strong&gt; course.&lt;br&gt;
I did the course in the same fashion I play video games. I'm an achievement hunter.&lt;br&gt;
After finishing the beginner course, I started &lt;strong&gt;HTML&lt;/strong&gt;, &lt;strong&gt;CSS&lt;/strong&gt;, &lt;strong&gt;Python intermediate&lt;/strong&gt; courses and began to wonder if I could start a project of my own. Without the smooth guidance of &lt;em&gt;Codecademy&lt;/em&gt;'s courses.&lt;/p&gt;

&lt;p&gt;It was a tough realization, that finishing a course doesn't necessarily mean I understand how to apply the new knowledge.&lt;br&gt;
I came across &lt;em&gt;Al Sweigart&lt;/em&gt;'s &lt;em&gt;Automate the boring stuff with python&lt;/em&gt; which made me repeat and refine my understanding of the subjects I learned on &lt;em&gt;Codecademy&lt;/em&gt; through simple programs and it gave me enough confidence to start my very first own program.&lt;br&gt;
What a comfortable coincidence, &lt;em&gt;Codecademy&lt;/em&gt;'s &lt;em&gt;Computer Science&lt;/em&gt; career path wanted me to do exactly that.&lt;/p&gt;
&lt;h2&gt;
  
  
  A Day In Paradise - Portfolio Project
&lt;/h2&gt;

&lt;p&gt;I had to decide, what kind of program to write.&lt;br&gt;
Should it be a useful program to help me and my friends organize everyday tasks? Or should it be fun?&lt;br&gt;
I'm a gamer in my free time and I always wanted to try writing my own game.&lt;br&gt;
It became a &lt;strong&gt;text based adventure&lt;/strong&gt;. Or digital novel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9eHtSx_i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x3wphbg1nk1i91td8uf3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9eHtSx_i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x3wphbg1nk1i91td8uf3.png" alt="Image description" width="800" height="414"&gt;&lt;/a&gt;&lt;em&gt;A Day In Paradise&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It's a simple story and I would've made it much more complex but I realized:&lt;br&gt;
This text based adventure was less coding, more writing and I am definitely not a writer. &lt;br&gt;
The logic is quite simple: Pick this path and this text get's printed. Pick another path and you can read a different text.&lt;br&gt;
The code was messy and long so I decided to add functions.&lt;br&gt;
It worked! And the code became much more readable.&lt;br&gt;
I even added a little inventory section and seeing it work made me so proud!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pam_inv = {}
backpack = {}
home_inv = {1: "Keys", 2: "Phone", 3: "Wallet", 4: "Headphones", 
            5: "Charger", 6: "Laptop", 7: "Water", 8: "Food", 9: "Backpack"}

print("I need to pack my things quickly! What do I need?")
print("\n")
print(" Items nearby ".center(25, "#"))
for key, value in home_inv.items():
    print(str(key).ljust(20, "."), value.rjust(5, " "))
print("Press a number + ENTER to collect an item. To quit press Q + ENTER")
while True:
    choice = input()
    if choice.lower() == "q":
        break
    if choice.isdecimal() == False or (int(choice) &amp;lt; 1 or int(choice) &amp;gt; 9):
        print("Pick a number from 1 to 9 and press ENTER. To quit press Q + ENTER")
        continue
    if 9 not in pam_inv.keys() and (int(choice) &amp;gt;= 5 and int(choice) &amp;lt;= 8):
        print("You can't put this in your pockets. You need a backpack.")
        continue
    pam_inv.setdefault(int(choice), home_inv.get(int(choice)))
print(" Inventory: ".center(20, "#"))
for item in pam_inv.values():
    print(item.ljust(20, "."))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;The code for the inventory section in-game&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The game is far from finished but it gave me a lot of confidence.&lt;br&gt;
If you want to see the game for yourself, check out this &lt;a href="https://github.com/toshymoshy/python_terminal_game"&gt;GitHub repository&lt;/a&gt;&lt;br&gt;
Tomorrow is &lt;strong&gt;day 100&lt;/strong&gt; of my coding journey and there is yet so much to learn!&lt;br&gt;
I love it!&lt;/p&gt;

&lt;p&gt;&lt;code&gt;print("Till next time!")&lt;/code&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>python</category>
      <category>github</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
