<?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: Dani Amsalem</title>
    <description>The latest articles on DEV Community by Dani Amsalem (@damsalem).</description>
    <link>https://dev.to/damsalem</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%2F238302%2Fc6924d9b-be78-40d6-b80e-8de9972e6149.jpeg</url>
      <title>DEV Community: Dani Amsalem</title>
      <link>https://dev.to/damsalem</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/damsalem"/>
    <language>en</language>
    <item>
      <title>I Used ChatGPT to Create Something Ugly</title>
      <dc:creator>Dani Amsalem</dc:creator>
      <pubDate>Tue, 21 Mar 2023 22:52:50 +0000</pubDate>
      <link>https://dev.to/damsalem/i-used-chatgpt-to-create-something-ugly-52bj</link>
      <guid>https://dev.to/damsalem/i-used-chatgpt-to-create-something-ugly-52bj</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR 🤓
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I was building my first Chrome Extension and got stuck. &lt;/li&gt;
&lt;li&gt;I researched and explored to no avail. &lt;/li&gt;
&lt;li&gt;A few weeks later, in the very late hours of the evening, I asked ChatGPT for help. &lt;/li&gt;
&lt;li&gt;I was surprised to receive directions and even code samples.&lt;/li&gt;
&lt;li&gt;As a result, I published my first Chrome extension!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the &lt;strong&gt;As a Result 🎯&lt;/strong&gt; title at the very bottom of this article for the link!&lt;/p&gt;




&lt;p&gt;I'd been working on a Chrome extension and &lt;strong&gt;reveling in the discomfort of discovery&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--atTJHL----/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/peivd25x6t3790ke89s2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--atTJHL----/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/peivd25x6t3790ke89s2.png" alt="Dall-E's take of a developer enjoying the discomfort of coding" width="880" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sure, I'd heard of ChatGPT but &lt;strong&gt;I had no need for a chatbot&lt;/strong&gt;. I didn't want to touch it. &lt;/p&gt;

&lt;p&gt;In fact, &lt;strong&gt;I thought ChatGPT would be another fad&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;That was until I read something from information security professional and writer, Daniel Miessler.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Do not let yourself fall into the Luddite* Trap with regard to AI, AI prompts, or ChatGPT. Do not do this. I know it’s tempting, and especially for people in security and people who appreciate the liberal arts. Don’t do it.&lt;/p&gt;

&lt;p&gt;You’ll become the old guys yelling at people on his lawn. Don’t be that guy. Invite the new kids in for kool-aid. Learn the new lingo. Stay young. Stay curious.&lt;/p&gt;

&lt;p&gt;Lean into this. &lt;strong&gt;Don’t be the person screaming at the printing press. It not only won’t help you, but it won’t make a dent. This is coming regardless of what anyone has to say about it.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Sourced from&lt;/em&gt; &lt;a href="https://danielmiessler.com/podcast/no-369-reddit-hack-deepfake-scams-embracing-change/"&gt;Daniel Miessler&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;* &lt;strong&gt;Luddite&lt;/strong&gt; - a person opposed to new technology or ways of working. &lt;br&gt;
&lt;em&gt;Google’s English dictionary by Oxford Languages&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That same day, I signed up for ChatGPT and installed it on my phone using &lt;a href="https://danielmiessler.com/blog/how-to-access-chatgpt-via-voice-command-using-siri/"&gt;Daniel's instructions&lt;/a&gt; and the OpenAI API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Later that evening, I talked to a developer friend about ChatGPT.&lt;/strong&gt; He said he'd been using it to help him with work. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here's how he described ChatGPT&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It's basically the absolute most perfect rubber duck&lt;br&gt;
It's a f****n robo-duck&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MKsZEM0F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ohhsepkwql1dvjoqwazo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MKsZEM0F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ohhsepkwql1dvjoqwazo.png" alt="Robo-duck" width="880" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Of course, up until this point I'd been asking it silly questions such as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tell me about Donald Trump as if you were Doctor Who&lt;/p&gt;

&lt;p&gt;Can you pretend we're in a world where insults and curses are not hurtful but instead fun and funny? In that world, can you give me 4 very fun and funny insults?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When I asked my friend which interface he'd been using to help him with his code, he sent me the link to &lt;a href="https://chat.openai.com/chat"&gt;OpenAI chat&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That's when I began experimenting&lt;/strong&gt; by asking it some VanillaJS questions like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tell me about the JS reduce function&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A day later, I began using it to review some ReactJS fundamentals including:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What is a ReactJS hook and why is it called that?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That weekend, late into the night, I came up with a game-changing idea.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UyZayQcM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aj15f3qd83s5ae2tqt73.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UyZayQcM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aj15f3qd83s5ae2tqt73.png" alt="Developer coming up with a bright idea from bed" width="880" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I should ask ChatGPT how to help me debug my Chrome extension!&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Here's my exact query:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I'm building a chrome extension and I'm trying to scrape data from the page using the script.js file and display that in the popup.html file. How do I transfer the data between those two places? &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In seconds, it responded with an explanation of how to transfer data as well as a code snippet to implement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I was so excited, I could barely sleep!&lt;/strong&gt; I finally had a path and some starting code to get unstuck and complete my Chrome extension project.&lt;/p&gt;

&lt;p&gt;The next day, I committed myself to finishing my project. I was certain &lt;strong&gt;ChatGPT was the key to my coding problems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As soon as I began implementing ChatGPT's code, I noticed &lt;strong&gt;the data it provided wasn't perfect&lt;/strong&gt;. Often the answers used outdated code from deprecated Google Chrome processes and APIs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But by giving it rules to apply for future responses&lt;/strong&gt;, I found it improved quite a bit. For example, I'd say,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Please only give me responses that conform to "manifest_version": 3&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'd also often find myself asking it one question, which I'd use to evolve further questions. For example, I might ask it for a solution and then ask it to refactor that solution using JavaScript ES6 syntax.&lt;/p&gt;

&lt;p&gt;Of course, &lt;strong&gt;there were some things that it just couldn't solve for me.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sBO3F1w7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hytsinhp98078pojjkjc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sBO3F1w7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hytsinhp98078pojjkjc.png" alt="Dimwitted developer" width="880" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I spent a good couple of hours trying to implement some code ChatGPT suggested only to inevitably and consistently run into errors. &lt;/p&gt;

&lt;p&gt;I asked it for alternative solutions, I asked it to check for more modern implementations but nothing seemed to work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then I came up with the brilliant idea&lt;/strong&gt; (sarcasm) of reloading my browser tab and the Chrome extension. Lo and behold, error gone!&lt;/p&gt;

&lt;p&gt;It may be an excellent rubber duck, but &lt;strong&gt;it's not looking over my shoulder to catch every sort of stupidity.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On the other hand, &lt;strong&gt;ChatGPT can do some brilliantly quick debugging.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;I ran into some errors and rather than searching across the web for potential fixes, I provided ChatGPT with my code plus error and asked it to help me debug it.&lt;/p&gt;

&lt;p&gt;Like magic, it indicated the object I was having difficulty with and a conditional way to handle a null object.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wham, bam, thank you ma'am, my code worked!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  As a Result 🎯
&lt;/h2&gt;

&lt;p&gt;I was able to finish my first Chrome extension in days after using ChatGPT whereas I had made zero progress on my project for the previous 2 weeks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3crdCaA6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/audgk9587kz7pg6ch36m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3crdCaA6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/audgk9587kz7pg6ch36m.png" alt="My ugly first Chrome extension" width="640" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A day or so later I completed the MVP and published my extension!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's ugly, but you can check it out on the Chrome Web Store if you search for "SignUpSaver". Or visit this link &lt;a href="https://chrome.google.com/webstore/detail/signupsaver/ibbajpbnilbagkgamelfmjnpapadkagm?utm_source=devto&amp;amp;utm_medium=content&amp;amp;utm_campaign=articles"&gt;https://chrome.google.com/webstore/detail/signupsaver/ibbajpbnilbagkgamelfmjnpapadkagm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here's the Github repo if you want to tear it apart &lt;a href="https://github.com/damsalem/ext-signupsaver"&gt;https://github.com/damsalem/ext-signupsaver&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've since published another ugly Chrome extension, this one a digital clock &lt;a href="https://chrome.google.com/webstore/detail/hms-clock/mbjkpklcjihpfbldfapoecehlibmfffk?utm_source=devto&amp;amp;utm_medium=content&amp;amp;utm_campaign=articles"&gt;https://chrome.google.com/webstore/detail/hms-clock/mbjkpklcjihpfbldfapoecehlibmfffk&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Takeaway 🥡
&lt;/h2&gt;

&lt;p&gt;As you've likely concluded, &lt;strong&gt;I'm now a big fan of ChatGPT.&lt;/strong&gt; I excitedly discuss it with anyone who will listen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I think it can be an excellent tool and learning resource&lt;/strong&gt; for coders to both debug and brainstorm potential solutions.&lt;/p&gt;

&lt;p&gt;I believe it can help every dev when we run into sticky situations every now and then. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Plus, it's pretty fun to chat with!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;br&gt;
All images except for my app screenshot were generated by DALL·E, OpenAI&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>openai</category>
      <category>chrome</category>
      <category>javascript</category>
    </item>
    <item>
      <title>So you finished bootcamp?</title>
      <dc:creator>Dani Amsalem</dc:creator>
      <pubDate>Sat, 26 Feb 2022 19:09:11 +0000</pubDate>
      <link>https://dev.to/damsalem/so-you-finished-bootcamp-kfp</link>
      <guid>https://dev.to/damsalem/so-you-finished-bootcamp-kfp</guid>
      <description>&lt;h2&gt;
  
  
  Now you're job hunting, or secured your first gig. Here's my story after finishing a full-stack bootcamp
&lt;/h2&gt;

&lt;p&gt;--&lt;em&gt;10 minute reading time&lt;/em&gt;--&lt;br&gt;
I'd already held a wide variety of jobs. I'd tried my hand at cold-calling sales, installing tile in kitchens and bathrooms, working as a background actor in Hollywood, and welding studs in various oil refineries across the States.&lt;/p&gt;

&lt;p&gt;I'd always wanted to be a developer, but &lt;a href="https://dev.to/damsalem/is-programming-actually-hard-1j89"&gt;I thought coding was too hard&lt;/a&gt;. That was until I learned about a 3 month long full-stack bootcamp. This was September of 2018.&lt;/p&gt;

&lt;p&gt;I loved the bootcamp because it offered a promising career. I breezed through my HTML and CSS coursework but then barely grasped anything on my JavaScript and .NET courses. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I began hoping that I’d figure out how to code while on the job.&lt;/strong&gt; After all, it was bootcamp, not a computer science degree!&lt;/p&gt;

&lt;p&gt;Before I graduated, I was already sending out resumes. I started out sending around several high-quality resumes every day. However, I wasn't really generating any interest so I decided to create a simple template to speed up my process. I began sending dozens of resumes out every day.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--36pgX3eU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zdoj1dccyek4za5ln1al.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--36pgX3eU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zdoj1dccyek4za5ln1al.gif" alt="Spammy resumes" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To break up the monotony of job-hunting&lt;/strong&gt;, I was taking a ReactJS course. As soon as I began, I realized this was too hard. I was trying to work on a project (ReactJS) without grasping the tools (JavaScript) that were required. &lt;/p&gt;

&lt;p&gt;It was like trying to build a house without knowing how to use a drill, hammer or level.&lt;/p&gt;

&lt;p&gt;I landed several interviews and &lt;strong&gt;sounded like a frantic idiot each time&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;I remember one interview with a very interesting software company, I hoped I could catch his interest by mentioning that I knew ReactJS 🤦‍♂️&lt;/p&gt;

&lt;p&gt;The interviewer, the CTO of the company, asked what my favorite part of React was. I quickly navigated to my course’s sales page and rattled off some of the bullet points. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Suffice it to say, I didn’t get another interview!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To expand my job-hunting activities, I began looking on Google and Yelp for companies in my area that might not be posting on job boards. &lt;/p&gt;

&lt;p&gt;I found several agencies and would look for their website’s Careers page. If they didn’t have one, I’d reach out on their Contact page. &lt;/p&gt;

&lt;h2&gt;
  
  
  Finally, nearly 3 months in, one of those marketing agencies responded.
&lt;/h2&gt;

&lt;p&gt;On a Wednesday, they gave me their coding challenge. It involved building a one-page WordPress page (something I had never done) and turning it in by Monday.&lt;/p&gt;

&lt;p&gt;Because it looked like a tough project, I flip-flopped on deciding if completing the challenge was even worth it. I continued blasting out my resume through Friday.&lt;/p&gt;

&lt;p&gt;However, that Saturday, I decided to knock the coding challenge out. I spent an hour or two watching a handful of YouTube videos and reading a couple of articles. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There were so many new terms&lt;/strong&gt;, I wasn’t quite sure what I was looking at!&lt;/p&gt;

&lt;p&gt;I downloaded some program called MAMP and used the same code editor from the bootcamp, Visual Studio Code. 6 hours and a lot of groaning later, I’d produced something I was somewhat proud of. &lt;/p&gt;

&lt;p&gt;I turned it in immediately and we escaped from our apartment for a much needed break. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I really, really hoped this was it.&lt;/strong&gt; But I couldn’t rest on my laurels. What if my little WordPress page was actually garbage?&lt;/p&gt;

&lt;p&gt;A day or so later, I got a call that I was to come in for an in-person interview!&lt;/p&gt;

&lt;p&gt;Thursday afternoon, I rode the subway, laptop in tow, to meet what might be my future employers for the first time.&lt;/p&gt;

&lt;p&gt;The HR lady seated me in a small Upwork cubicle and told me she’d be back with the lead dev (gulp).&lt;/p&gt;

&lt;p&gt;They returned and began with some introductory info about the company. Then they asked about me and my interests.&lt;/p&gt;

&lt;p&gt;Finally, the lead dev swiveled his laptop towards me and asked me in what directory do I make edits to a WordPress project.&lt;/p&gt;

&lt;p&gt;I began sweating…&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--98oihpT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xptxx3nacykyyf4vhjbr.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--98oihpT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xptxx3nacykyyf4vhjbr.gif" alt="Sweating profusely" width="680" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d only looked at the WordPress folders for a short while hours that last Saturday!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Um… I think &lt;code&gt;wp-content&lt;/code&gt;?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;He paused. &lt;strong&gt;I dearly wished I'd reviewed my project before coming here!&lt;/strong&gt; A moment later he confirmed my answer. &lt;/p&gt;

&lt;p&gt;Inside I celebrated with fireworks and applause 🎇👏&lt;/p&gt;

&lt;p&gt;The rest of the interview breezed by. I think he asked me some questions related to HTML and CSS, perhaps about the Bootstrap framework. I knew those well from the bootcamp.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The following week, the lead dev sent me a text me saying they'd get back to me with a job offer in a day or so!&lt;/strong&gt; Wow, I jumped around my apartment yelling hurrah to my wife. &lt;/p&gt;

&lt;p&gt;A couple days later, the HR lady emailed me the job offer. It was a 3 month long contract (with an option to extend) for a junior web dev role building WordPress templates. Then my eyes rested on the salary. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The offer was for a surprisingly low $48,000 year.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let me put that in context. I had always hoped for at least $60,000-$65,0000 per year. Being a 28 year old married man with a wife who had gone back to school in NYC, we had been living off of my savings. &lt;/p&gt;

&lt;p&gt;Once I was employed, we would continue living off of my single income and unfortunately $48,000 meant we would have to continue dipping into my rapidly dwindling savings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The 3 month contract meant I could be job hunting all over again if they didn't like me!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Of course, I needed to just get my start and this was the first and only job offer to come in. &lt;strong&gt;I had to take it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My first day on the job I was pretty certain they’d realize I was a faker.
&lt;/h2&gt;

&lt;p&gt;I stepped into the shared workspace of the graphic design and copywriting team. This was where the lead dev and junior dev were working. &lt;/p&gt;

&lt;p&gt;Everyone stopped what they were doing to shout greetings at me. I tried to match their enthusiasm but &lt;strong&gt;I'm pretty sure I missed the mark&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QNHGpvhw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u564qnhsuyagh69n9f34.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QNHGpvhw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u564qnhsuyagh69n9f34.gif" alt="My energy missing the mark" width="350" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The HR lady brought me into a small, glass-walled room inside the workspace. She had me sign some paperwork and then brought the lead dev in to get me started.&lt;/p&gt;

&lt;p&gt;I'd brought my personal laptop which was good because they said they'd buy me a brand new Macbook Pro soon. Until then, I should set up with their work environment. &lt;/p&gt;

&lt;p&gt;I installed their code editor, grabbed a licensed copy of MAMP and was given a link to a Github repository (repo for short).&lt;/p&gt;

&lt;p&gt;I desperately tried to remember some basic git commands. &lt;strong&gt;Struggling, I Googled it&lt;/strong&gt; and got the project on my computer.&lt;/p&gt;

&lt;p&gt;The lead dev sat down with me and had me add a semicolon to a CSS file and push it up to the repo. I saw my changes and was all smiles. &lt;strong&gt;This wasn't so hard!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then he sent me a link to a live WordPress project and gave me the credentials to log in. My instructions were to change some content in the WordPress editor.&lt;/p&gt;

&lt;p&gt;I'd already built a WordPress website years before becoming a developer so I knew my way around. &lt;strong&gt;This was easy!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My first few days continued like that, making simple edits to existing WordPress sites through the WordPress dashboard and getting oriented to the environment.&lt;/p&gt;

&lt;p&gt;I made small talk with my colleagues and began to slowly unwind.&lt;/p&gt;

&lt;p&gt;A couple of days later, I was given a new Github repo and told to edit an existing page in my code editor.&lt;/p&gt;

&lt;p&gt;I struggled to find the applicable page so &lt;strong&gt;I asked the other junior dev.&lt;/strong&gt; He shared that he was the one who actually built this page and so he was well-acquainted with the project.&lt;/p&gt;

&lt;p&gt;It took me well into the afternoon to figure out how the HTML was structured, how the CSS related to it and how to make some simple changes. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I would constantly Google things&lt;/strong&gt; like &lt;em&gt;CSS selectors&lt;/em&gt; and  &lt;em&gt;HTML main tag&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;Later, the lead dev showed me a couple of tricks to make this sort of work easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  The days passed and I continued learning and struggling.
&lt;/h2&gt;

&lt;p&gt;My first major task was to build out a new template based on a mockup we received from graphic design.&lt;/p&gt;

&lt;p&gt;I looked at existing pages built by one of the other two devs and then &lt;strong&gt;I'd Google the terms and tools&lt;/strong&gt; that I'd encounter.&lt;/p&gt;

&lt;p&gt;The other junior dev mentioned something called "CSS flexbox" and "CSS grid". &lt;strong&gt;I studied the online documentation for both&lt;/strong&gt; during work hours. I'd also found some online educational games and would play them when I'd get home from work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'd spend many of my evenings reading WordPress documentation,&lt;/strong&gt; exploring CSS guides, and Googling things I'd encountered but didn't understand.&lt;/p&gt;

&lt;p&gt;I was determined to get an offer to continue working here.&lt;/p&gt;

&lt;p&gt;In fact, I'd been talking to some of my colleagues and I learned that everyone gets an initial 3 month provisional job offer. Then they're offered a second and final 3 month extension before they're either let go or brought on as full time.&lt;/p&gt;

&lt;h2&gt;
  
  
  3 months in and I was interviewed by HR, the CEO and the creative director.
&lt;/h2&gt;

&lt;p&gt;Suffice it to say, &lt;strong&gt;I'd been anxious about this meeting.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We went through the pleasantries and then they asked about my experience so far. I tried to provide a lot of positive feedback. I also brought up the fact that I really needed and wanted a higher salary (ideally $65,000) just so we could survive.&lt;/p&gt;

&lt;p&gt;I explained that I knew that wasn't their problem, but I really wanted to continue working here and this was a major requirement.&lt;/p&gt;

&lt;p&gt;They provided some positive feedback about my work-performance and explained that they would consider my request and get back to me.&lt;/p&gt;

&lt;p&gt;Two weeks later I had a follow up meeting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I had come prepared.&lt;/strong&gt; I had noted down various ways I had gone above and beyond the typical expectations. I'd been recording down my day to day activities and organized it into a write-up of my role. I figured that would help them onboard future developers and make the experience easier for everyone involved.&lt;/p&gt;

&lt;p&gt;I also provided some statistics of my improving performance. &lt;/p&gt;

&lt;p&gt;Their feedback was again positive but tempered with an honest but slightly negative comment about my lack of experience. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At last they proposed a full-time job offer with a raise to $52,000 year salary!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It was a full time role with slightly better pay and I figured I'd have future opportunities for better pay. I'd also be able to skip that second 3 months of provisional work.&lt;/p&gt;

&lt;p&gt;I happily accepted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wxTpsFS0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xrs7tagedenmumhqd3g8.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wxTpsFS0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xrs7tagedenmumhqd3g8.gif" alt="My mood" width="444" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving on to better, brighter future.
&lt;/h2&gt;

&lt;p&gt;I'd now been with the same company for nearly a year and a half and had gotten another raise to $58,000 (with a one-time year-end bonus of $5,000).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I was leaving for another company.&lt;/strong&gt; The new job was for $75,000 with an opportunity for a raise to $80,000 after 3 months. I didn't get the raise after 3 months, but worked my butt off and an additional 3 months later got the raise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I've since switched to another company and am making nearly 6-figures.&lt;/strong&gt; For the first few weeks at this company, I was getting paid handsomely to study a variety of courses on the tools and languages we're using. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How amazing is that?&lt;/strong&gt; Just a couple of years prior, I'd spent thousands to attend a bootcamp. Now I was getting paid thousands to study courses!&lt;/p&gt;

&lt;p&gt;I'm loving my job, my company and my team. It's fun and challenging and has a great work environment. Plus we get excellent benefits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping it all up.
&lt;/h2&gt;

&lt;p&gt;My point in sharing this long, personal story is that &lt;strong&gt;becoming a developer is not binary.&lt;/strong&gt; You don't just turn the corner and become an expert. It's a gradual process that may require a lot of busy nights and weekends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It took me 3 months to find a job after applying at over 500 companies,&lt;/strong&gt; primarily in New York City. &lt;/p&gt;

&lt;p&gt;You may be faced with the choice of what language to study or whether to go for back-end or front-end. Do your research and begin whittling down your options discarding those topics and interests you're uncertain about in favor of those you have more certainty for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Eventually, you'll pursue a route and it will be the best one you could have chosen,&lt;/strong&gt; with the data you had at the time. Don't worry, you can always shift within the dev space. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shifts are made easier by studying and practicing outside of work hours.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v0DJz7Tv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6jjyljnrdfe3tvabvqc9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v0DJz7Tv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6jjyljnrdfe3tvabvqc9.gif" alt="Who has time?" width="480" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My studies never finished at the bootcamp.&lt;/strong&gt; I continued studying while job hunting and later while on the job and at home.&lt;/p&gt;

&lt;p&gt;I'm continuing to study nearly 3.5 years after finishing the bootcamp.&lt;/p&gt;

&lt;p&gt;While the pay as a dev can be excellent, initial roles may start off with lower pay. Fortunately, your future is bright and full of possibilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lastly, everyone experiences imposter syndrome.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The funny thing is, everyone pretends. We pretend to know what we're talking about until we do. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some folks go hard in the pursuit of excellence&lt;/strong&gt; while others achieve passable levels and then become satisfied. Those who pursue excellence and have ambition have virtually no ceiling.&lt;/p&gt;

&lt;p&gt;Did you hear that &lt;a href="https://www.geekwire.com/2022/amazon-more-than-doubles-max-base-pay-to-350k-for-corporate-and-tech-workers-citing-labor-market/"&gt;Amazon recently raised the max salary to $350,000/year&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;Congratulations on finishing your bootcamp! Now get after it.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>motivation</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Is Programming Actually Hard?</title>
      <dc:creator>Dani Amsalem</dc:creator>
      <pubDate>Thu, 04 Jun 2020 15:50:33 +0000</pubDate>
      <link>https://dev.to/damsalem/is-programming-actually-hard-1j89</link>
      <guid>https://dev.to/damsalem/is-programming-actually-hard-1j89</guid>
      <description>&lt;h2&gt;
  
  
  Not in the way you think it is…
&lt;/h2&gt;

&lt;p&gt;In September of 2018, &lt;strong&gt;I began my first of 90 days of software developer bootcamp&lt;/strong&gt;. I had just recently turned 28 and recent events in my life helped me decide to quit my job (as an e-commerce brand manager) and pivot into being a dev.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My only regret? I wish I had done it sooner.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I was a kid, &lt;strong&gt;I used to think becoming a developer was hard&lt;/strong&gt;. I thought it required lots and lots of effort to learn. I imagined forcing myself to read technical manuals and documentation. I had visions of  studying math and formulas to develop superior thinking skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fortunately, I couldn't be more wrong.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Recently, I reviewed my preconceptions and recognized them as fundamentally flawed thinking. It isn't hard, it shouldn't be complex, and it doesn't require superior mental powers.&lt;/p&gt;

&lt;h2&gt;
  
  
  I've found  3 requirements to becoming a developer:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Understand the words and symbols&lt;/strong&gt; (there are a few of these).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understand the grammar&lt;/strong&gt; (developers call this "syntax" and it's the way words are put together to communicate ideas).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understand how to Google what you don't know&lt;/strong&gt; (so, so important)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4gasmkgoi1nlfo8ojtvz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4gasmkgoi1nlfo8ojtvz.jpg" alt="Mac Pro, Do More"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I attended a really interesting bootcamp in Portland, Oregon. What made it interesting wasn't the variety of courses, but rather the first course every program began with.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The first course you did defined every word and symbol&lt;/strong&gt; fundamental to programming.&lt;/p&gt;

&lt;p&gt;Everything from the symbols used in links (URLs), to the fundamental words like "computer" and "developer", as well as deeper technical terms, all were defined.&lt;/p&gt;

&lt;p&gt;As I continued through the bootcamp's courses, I began to learn more about the grammar that is used. Fortunately, &lt;strong&gt;many languages use a similar grammar&lt;/strong&gt; (aka syntax) and eventually this becomes second nature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One of the things the bootcamp  stressed was being able to do your own research.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At first sorting out my own confusions was very tough. As I pressed on, I found that using &lt;strong&gt;my new vocabulary had a major, positive impact&lt;/strong&gt; on how I conducted my research.&lt;/p&gt;

&lt;p&gt;I began using certain key words and phrases that other developers also used when trying to solve similar problems as me.&lt;/p&gt;

&lt;p&gt;At some point, &lt;strong&gt;I realized I knew how to Google my coding questions&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ultimately, what I got from bootcamp was belief in myself.
&lt;/h3&gt;

&lt;p&gt;I knew how to code, I knew how to continue learning and growing, and I knew how to dig myself out of pretty much any confusion.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2ek65huflpz6ibnr6hd1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2ek65huflpz6ibnr6hd1.jpg" alt="Hello World"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My First Job
&lt;/h2&gt;

&lt;p&gt;After many hundreds of applications, many phone interviews (and rejections), as well as several coding challenges, I landed my first job as a web developer at an agency in NYC.&lt;/p&gt;

&lt;p&gt;The pay wasn't great, the work was challenging, but &lt;strong&gt;I loved it&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I was constantly studying and researching because &lt;strong&gt;my role as a WordPress developer&lt;/strong&gt; meant I had a new language to study. Not only that, but &lt;strong&gt;I still had so much to learn&lt;/strong&gt; when it came to fundamentals of web development.&lt;/p&gt;

&lt;p&gt;Fortunately, &lt;strong&gt;I had all the tools I needed&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;An understanding of common terms and symbols.&lt;/li&gt;
&lt;li&gt;An understanding of the grammar (syntax).&lt;/li&gt;
&lt;li&gt;The ability to research and solve my own problems.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  When you have a job, it's so much easier to learn and retain what you've learned.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;When programming is your job&lt;/strong&gt;, by necessity, you must learn new ways to do things.&lt;/p&gt;

&lt;p&gt;When you work with other developers, naturally your understanding of development grows. &lt;strong&gt;Every developer has a different point of view&lt;/strong&gt; as far as grammar (syntax), tools to use, and the process (any process) should be started.&lt;/p&gt;

&lt;h3&gt;
  
  
  Programming is less about repetitively solving the same problem, and more about finding new and better ways to solve the problem.
&lt;/h3&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You can start a puzzle by finding all the edges and corners&lt;/strong&gt; and assembling from there. Or you can start from the main point of interest, and build your way out.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can start a video game by discovering what kills you&lt;/strong&gt;, or you can explore the map, or even by reading the forums.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can write a short story from the hero's perspective&lt;/strong&gt;, from the narrator's perspective, or from a friend's perspective.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As many ways as there are of solving puzzles, video games, and challenges in life, similarly, &lt;strong&gt;you will find many ways to code things&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl8ieqe4gff2m8gxrrpwy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl8ieqe4gff2m8gxrrpwy.png" alt="Developer Coding"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  In Summary
&lt;/h2&gt;

&lt;p&gt;So to sum it up, more than a year and a half into my career as a web developer  I've recognized a few things that I wish my younger, twenty-something self had known:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Programming isn't hard&lt;/strong&gt;, at least not like you might expect. All it requires are good study materials, and enough persistence to keep at it every day, even if it's only for an hour.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Programming shouldn't be complex&lt;/strong&gt;, the more I read and study - and I do that daily - the more I find that all senior developers and experts advise us to write simple, human-readable code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Programming shouldn't be avoided&lt;/strong&gt;, just because you don't understand it. It's actually far simpler than it looks. All you have to do is break it down into single, simple components.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you want to become a software developer or some other sort of specialist, don't become discouraged by how "hard" it all looks, or the appearance of complexity.&lt;/p&gt;

&lt;h3&gt;
  
  
  More often than not, the complexities are just a result of misunderstanding the words, symbols and grammar.
&lt;/h3&gt;

&lt;p&gt;If you have those fundamentals in, and have some guidance for doing your own research, I believe any subject can be conquered, with a little persistence.&lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;If you want to know what bootcamp I went to, or what study materials I recommend, check these out:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I attended The Tech Academy Bootcamp, they have online and in-person classes and you can find them at &lt;a href="https://learncodinganywhere.com/" rel="noopener noreferrer"&gt;learncodinganywhere.com&lt;/a&gt; (if you tell them I recommended you  I may earn a small commission).&lt;/li&gt;
&lt;li&gt;The Tech Academy also published a tech dictionary with the simplest, best definitions ever. You can &lt;a href="https://www.amazon.com/gp/product/B077LM2XXH?ie=UTF8&amp;amp;tag=daniamsalem-20&amp;amp;camp=1789&amp;amp;linkCode=xm2&amp;amp;creativeASIN=B077LM2XXH" rel="noopener noreferrer"&gt;find the dictionary on Amazon&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;After completing the bootcamp, I went through most of FreeCodeCamp's curriculum. While they don't cover words and symbols you need to know, they do have a lot of information and best of all, it's free. Learn more at freecodecamp.org&lt;/li&gt;
&lt;li&gt;If you're struggling with computer studies in general, I can't speak highly enough about Study Technology by Applied Scholastics. Here's a quote:&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;The basic fact is that students fail to learn because no one ever taught them &lt;strong&gt;how to learn&lt;/strong&gt; - that is, how to identify the barriers to learning and how to overcome those barriers.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;If you have any questions or feedback, please share your thoughts below.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>developer</category>
      <category>computerscience</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
