<?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: Michael Chrupcala</title>
    <description>The latest articles on DEV Community by Michael Chrupcala (@mikechrupcala).</description>
    <link>https://dev.to/mikechrupcala</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%2F571164%2F77287f2c-35a6-495e-a695-086401dd008d.jpg</url>
      <title>DEV Community: Michael Chrupcala</title>
      <link>https://dev.to/mikechrupcala</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mikechrupcala"/>
    <language>en</language>
    <item>
      <title>5 Investments for Web Devs (with discounts!)</title>
      <dc:creator>Michael Chrupcala</dc:creator>
      <pubDate>Wed, 17 Mar 2021 15:27:23 +0000</pubDate>
      <link>https://dev.to/mikechrupcala/the-5-best-purchases-for-web-developers-with-discounts-43hg</link>
      <guid>https://dev.to/mikechrupcala/the-5-best-purchases-for-web-developers-with-discounts-43hg</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;It's no secret that you can learn &lt;em&gt;anything&lt;/em&gt; you want to online. As a software engineer, you're expected to have a wide and deep understanding of all different kinds of technologies. But here's what they don't tell you - choosing what to learn, and more importantly, what to &lt;strong&gt;ignore&lt;/strong&gt; can be a HUGE challenge.&lt;/p&gt;

&lt;p&gt;Investing in yourself and your career can lead to big improvements in your daily output. I don't want you to waste your money, so with that in mind, here are discounts for 5 of the best purchases you can make online for your career:&lt;/p&gt;

&lt;p&gt;P.S. --&amp;gt; Here's 5 more incredible dev discounts created by &lt;a href="https://dev.to/devlorenzo"&gt;DevLorenzo&lt;/a&gt;! 🚀&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/devlorenzo" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QtgKvHIX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--N0bOH9Ja--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_66%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/571015/3b1e2909-e87b-4fc7-b817-0673184568b0.gif" alt="devlorenzo image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/devlorenzo/best-discounts-for-devs-1683" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Best discounts 🚀 every developer 💻 should bookmark🔖&lt;/h2&gt;
      &lt;h3&gt;DevLorenzo ・ Mar 17 ・ 3 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#showdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#career&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h1&gt;
  
  
  1) Office Chair
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z4p2NeAx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fo5doq9p1a4v6a684nrd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z4p2NeAx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fo5doq9p1a4v6a684nrd.jpg" alt="41GBVN4lodL._AC_"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B07QLR12BV?pd_rd_i=B07QLR12BV&amp;amp;pd_rd_w=lEjuu&amp;amp;pf_rd_p=51cf0d17-50cf-4c89-b1a7-606703cfac11&amp;amp;pd_rd_wg=dUtqA&amp;amp;pf_rd_r=7CWF29V17V3HHWZ8XWA6&amp;amp;pd_rd_r=716a3f09-38e4-4501-87f0-24f28bc0d609&amp;amp;th=1"&gt;Hbada Home Office Chair&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Price: $129.99 (25% off...was $169.99)&lt;/em&gt;&lt;br&gt;
Yes, this is super basic. No, your folding chair or mattress isn't cutting it. If you're planning on working from home for the foreseeable future (and right now, many of us are) then it's worth shelling out some cash to treat your back &amp;amp; lower-lumbar. &lt;/p&gt;

&lt;p&gt;If you spend somewhere between 30-50 hours a week sitting down, then trust me, you owe it to yourself to feel comfortable. Let's remember that building products is a marathon, not a sprint! If you invest in the right gear then you'll be a better runner when you cross the finish line.&lt;/p&gt;
&lt;h1&gt;
  
  
  2) PluralSight Subscription
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--utA8pD0_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.pluralsight.com/content/dam/pluralsight/newsroom/brand-assets/logos/PS_logo_F-01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--utA8pD0_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.pluralsight.com/content/dam/pluralsight/newsroom/brand-assets/logos/PS_logo_F-01.png" alt="Pluralsight company logo"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://visualstudio.microsoft.com/dev-essentials/"&gt;VS Bundle (with PluralSight)&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Free 1-Month Subscription (through Microsoft)&lt;/em&gt;&lt;br&gt;
PluralSight's platform is filled with tons of courses taught by leading veteran's in every coding language. As I write this, the top trending tracks on Pluralsight (with 10+ &lt;strong&gt;whole courses&lt;/strong&gt; in each track) are Angular, Python, C# and JavaScript, but they have everything else you could be interested in. Follow the instructions &lt;a href="https://www.reddit.com/r/learnprogramming/comments/3xc3cp/free_pluralsight_membership_for_6_months/"&gt;here&lt;/a&gt; for a Microsoft VS membership that will gift you 1 month free of PluralSight.&lt;/p&gt;

&lt;p&gt;This VS Bundle also comes with a $200 Azure credit, plus discounts to lots of other great platforms!&lt;/p&gt;
&lt;h1&gt;
  
  
  3) ACloudGuru Subscription
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QESH8Gyz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://s3.amazonaws.com/spoke-profiles-prod-assets/avatars/210x210h/96a9fcb7699c67c69e69abeb52367db691e84f8c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QESH8Gyz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://s3.amazonaws.com/spoke-profiles-prod-assets/avatars/210x210h/96a9fcb7699c67c69e69abeb52367db691e84f8c.png" alt="ACloudGuru company logo"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://acloudguru.com/pricing"&gt;Monthly Subscription&lt;/a&gt;&lt;br&gt;
&lt;em&gt;20% discount for membership&lt;/em&gt;&lt;br&gt;
Well it's in the name - ACloudGuru is the best site I've found for anything related to cloud technology. When I was practicing for my AWS Cloud Practicioner certificate, I almost spent more time on ACloudGuru than I did on AWS' website. Their content stays up-to-date and they gear their videos to not only help you pass a cloud cert, but to deeply learn one of the fastest-growing engineering sectors in the world.&lt;/p&gt;
&lt;h1&gt;
  
  
  4) Back-end Course
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bExAYnlD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Coursera-Logo_600x600.svg/1200px-Coursera-Logo_600x600.svg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bExAYnlD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Coursera-Logo_600x600.svg/1200px-Coursera-Logo_600x600.svg.png" alt="Udemy Logo"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.coursera.org/learn/object-oriented-design"&gt;Object-Oriented Design course&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Price: Free!&lt;/em&gt;&lt;br&gt;
After I landed a job interview with one of my dream companies, I spent a month preparing for 5+ hours a day. The bad news is, I failed my interview because they surprised me with an object-oriented design question and I hadn't taught myself how to solve those yet. &lt;/p&gt;

&lt;p&gt;But the good news is- this course has everything you need to crush that kind of question! I felt much stronger after watching these videos and solving the practice questions, and now I'm ready for the next one.&lt;/p&gt;

&lt;p&gt;P.S. If you don't see the discount, try using Incognito Mode in Chrome&lt;/p&gt;
&lt;h1&gt;
  
  
  5) Front-end Course
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BsWIJ0G---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.udemy.com/staticx/udemy/images/v6/default-meta-image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BsWIJ0G---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.udemy.com/staticx/udemy/images/v6/default-meta-image.png" alt="Udemy Logo"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.udemy.com/course/the-web-developer-bootcamp/"&gt;Web Developer Bootcamp course&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Price: $18.99 (86% off...was $139.99)&lt;/em&gt;&lt;br&gt;
Full-disclosure, I haven't taken this course myself but it's one of the top-rated classes I could find for developing web applications. It's front-end heavy but there's plenty of AJAX/REST/database material as well, and it should give you a &lt;strong&gt;huge&lt;/strong&gt; leg up if you're studying to be a web developer.&lt;/p&gt;

&lt;p&gt;P.S. If you don't see the discount, try using Incognito Mode in Chrome&lt;/p&gt;
&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Follow me on Twitter for more programming tips, and DM me if you have any questions or if you’d like some advice. I hope this helped, and thank you for reading!&lt;/p&gt;

&lt;p&gt;Linked article --&amp;gt; Here's 5 more incredible dev discounts created by &lt;a href="https://dev.to/devlorenzo"&gt;DevLorenzo&lt;/a&gt;! 🚀&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/devlorenzo" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QtgKvHIX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--N0bOH9Ja--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_66%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/571015/3b1e2909-e87b-4fc7-b817-0673184568b0.gif" alt="devlorenzo image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/devlorenzo/best-discounts-for-devs-1683" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Best discounts 🚀 every developer 💻 should bookmark🔖&lt;/h2&gt;
      &lt;h3&gt;DevLorenzo ・ Mar 17 ・ 3 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#showdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#career&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>4 Steps to Debug Any Problem</title>
      <dc:creator>Michael Chrupcala</dc:creator>
      <pubDate>Mon, 08 Mar 2021 17:55:53 +0000</pubDate>
      <link>https://dev.to/mikechrupcala/4-steps-to-debug-any-problem-3565</link>
      <guid>https://dev.to/mikechrupcala/4-steps-to-debug-any-problem-3565</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Your leg started to cramp ten minutes ago, but you barely noticed.&lt;/p&gt;

&lt;p&gt;The chatter from a distant TV is nothing but background noise...white noise, a gentle reminder of the outside world.&lt;/p&gt;

&lt;p&gt;Your only focus is the sound from the strokes of your keyboard…click click click…a rapid-fire staccato of instructions to your machine...&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Create Object&lt;/em&gt;…&lt;em&gt;insert method&lt;/em&gt;…then suddenly, the moment of truth when you test the lines you’ve just added……Success! Great, now you just have to add that &lt;em&gt;one&lt;/em&gt; last function…broken! What!! Which line???&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Writing code isn't easy, no matter how much experience you have with it.&lt;/strong&gt; When you get something wrong, some errors are more helpful than others at pointing you toward the mistake. Usually it just takes one obvious re-write to get your program back up-and-running.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But what happens when you’re stuck?&lt;/strong&gt; Completely at a loss, and staring at 200+lines of computer-speak that seemed very familiar to you just a second ago, and very &lt;em&gt;unfamiliar&lt;/em&gt; in an instant. How do you work your way out of the problem? &lt;strong&gt;Try these steps to debug your code:&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 0: Check for Grammar/Spelling Mistakes
&lt;/h1&gt;

&lt;p&gt;Obvious? Sure, but I’ve noticed that 98% of my mistakes come from a misplaced comma or a misspelled “this”. Code is a fickle, unforgiving tool, and one extra letter or missing syntax can confuse your compiler.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Pictured below: me, for 2 hours, trying to find the extra “.” in my code)&lt;/em&gt;&lt;br&gt;
&lt;a href="https://i.giphy.com/media/guSDEekNFb23C/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/guSDEekNFb23C/giphy.gif" alt="A very confused man looking franticly around"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The good news is, most IDE’s will come with features to help you catch errors faster. Personally I love all of the following features: &lt;strong&gt;auto-complete&lt;/strong&gt;, &lt;strong&gt;error detection&lt;/strong&gt;, and &lt;strong&gt;color-coding&lt;/strong&gt;. That last one’s my favorite because it means I can skim through a bunch of orange text strings and notice that little red stinker with the missing quotation mark. But if that didn’t work, ask yourself…&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 1: What do you know?
&lt;/h1&gt;

&lt;p&gt;It can feel really frustrating when your confidence is dashed by a bright red ‘ERROR’ across the screen. But you knew enough to get yourself here, and that means you probably know enough to get yourself out! So first, you should pick apart the error message and take a mental note of what’s familiar.&lt;/p&gt;

&lt;p&gt;“&lt;strong&gt;Syntax error&lt;/strong&gt;…I’ve seen this before, and the last time it was just a typo.”&lt;br&gt;
“&lt;strong&gt;Null value&lt;/strong&gt;….well I know that means that some value is either undefined or it doesn’t exist. Oh, and I also know that the value is probably considered ‘false’.”&lt;/p&gt;

&lt;p&gt;Another thing you can try is, if you added more than a few lines of code, then you can isolate them and read slowly line-by-line. Explain to yourself what &lt;em&gt;each&lt;/em&gt; of the lines should be doing, or read every word and remind yourself of the definitions. Maybe you forgot the “OR” operator, or you wrote &lt;strong&gt;splice()&lt;/strong&gt; when you needed &lt;strong&gt;slice()&lt;/strong&gt;. Which leads me to the next step…&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 2: What are you missing?
&lt;/h1&gt;

&lt;p&gt;Here, it could be really helpful to make a list of what you’re &lt;em&gt;not&lt;/em&gt; familiar with. &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%2Fuploads%2Farticles%2F4fvjkh4tvtbhueyhcmkp.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%2Fuploads%2Farticles%2F4fvjkh4tvtbhueyhcmkp.jpg" alt="Notebook on a wooden desk"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do you have an idea of which line of code is the problem? If not, check the error message again to &lt;strong&gt;isolate&lt;/strong&gt; the problem. Is there a new word in the error message that you haven’t seen before? &lt;/p&gt;

&lt;p&gt;Are you practicing a new concept, one that’s complicated and might be interacting with your code in a way that you wouldn’t expect? Maybe the asynchronous function you're calling has timing problem that you've never seen before.&lt;/p&gt;

&lt;p&gt;If that’s the case then you might need to…&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 3: Research the unfamiliar.
&lt;/h1&gt;

&lt;p&gt;This is, hands-down, my favorite part of coding. Every day you might face a new challenge, and every day that challenge can be an opportunity for growth. &lt;/p&gt;

&lt;p&gt;The amount of resources available online for computer programming is staggering. From articles that break down highly-specific edge cases, all the way up to complete Ivy League courses. &lt;/p&gt;

&lt;p&gt;Try not to feel discouraged when you run into a new term/concept. Programming languages are massive, and this can happen every day! Instead, try seeing it as an invitation to go down the research rabbit hole. You never know which doors your curiosity could open.&lt;/p&gt;

&lt;p&gt;For beginners, &lt;strong&gt;reading the documentation is a secret weapon.&lt;/strong&gt; Every popular framework &amp;amp; library will have its own website that's dedicated to explaining its features and to show you examples. You should use a library's docs as your starting place for research, so that you can build a mental model of how a feature &lt;strong&gt;should&lt;/strong&gt; work, which will give you a better idea of how you're trying to use it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 4: Find somebody who shares your problem.
&lt;/h1&gt;

&lt;p&gt;It’s rare, and especially rare at the beginning of your career, for you to have a problem that nobody’s ever grappled with. There are more than seven billion people on this planet- that’s a lot of engineers!&lt;/p&gt;

&lt;p&gt;At this stage I like to get creative with my Google searches. Say I’m writing in JavaScript and I’m uncomfortable with ‘closure’ (and no, we're not asking my ex-girlfriend). Searching for the phrase “Javascript closure” is a good start, but “stackoverflow closure” will give me pages full of community-answered code examples, “r/javascript closure” will include 10+ posts on a wildly popular Reddit community, and that’s not even the tip of the iceberg. &lt;/p&gt;

&lt;p&gt;If the first few walkthroughs that you find are dry or poorly explained, then there’s no limit to the amount of information you’ll find online.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;No matter where you’re at with your professional development, and no matter what you’re working on, the best thing you can do is keep going. Even if you went through all these steps and you’re still stuck, taking a 5-minute walk outside can usually break down that nasty roadblock. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/mikechrupcala" rel="noopener noreferrer"&gt;&lt;strong&gt;Follow me on Twitter&lt;/strong&gt;&lt;/a&gt; for more programming tips, and DM me if you have any questions or if you’d like some advice. I hope this helped, and thank you for reading!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>help</category>
    </item>
    <item>
      <title>How to Practice for Code Challenges</title>
      <dc:creator>Michael Chrupcala</dc:creator>
      <pubDate>Mon, 01 Mar 2021 14:02:06 +0000</pubDate>
      <link>https://dev.to/mikechrupcala/how-to-practice-for-code-challenges-4gbc</link>
      <guid>https://dev.to/mikechrupcala/how-to-practice-for-code-challenges-4gbc</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;You are given coins of different values and a total amount of money &lt;em&gt;amount&lt;/em&gt;. Write a function to compute the fewest number of coins that you need to make up that amount.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What code should you write to solve this problem? Or, where would you even start? If you haven't run into coding challenges yet, Google, Amazon, and all of the big software companies use questions like the one above to hire all their new engineers.&lt;/p&gt;

&lt;p&gt;If you don’t have a solution for this problem yet then you're in good company - neither do 63% of all programmers who try it (according to &lt;a href="https://leetcode.com/problems/coin-change/" rel="noopener noreferrer"&gt;Leetcode&lt;/a&gt;). &lt;/p&gt;

&lt;p&gt;What's more important, is that you develop a &lt;em&gt;framework&lt;/em&gt; to approach these problems with, so that you're prepared for whatever they'll throw at you in a technical interview. &lt;/p&gt;

&lt;p&gt;Here's a list of 5 takeaways that will help you crush code challenges for your technical interview:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/g37mGHexrv5ug/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/g37mGHexrv5ug/giphy.gif" alt="Goku trains with lots of push-ups"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Use a Timer or Stopwatch
&lt;/h1&gt;

&lt;p&gt;Pick the amount of time that you want to give yourself for one problem, and stick with it. You might solve the problem ahead of schedule, you might not — either way, &lt;strong&gt;it doesn’t matter if you solve the challenge or not.&lt;/strong&gt; As soon as your time’s up, stop what you’re doing and move to the next one. I’m serious.&lt;/p&gt;

&lt;p&gt;Your goal shouldn’t be a green checkmark or a gold star...leave that pass/fail nonsense in grade school where it belongs. Instead, your goal should be to attain knowledge. How do you do that? By failing and adapting. Over and over again. To accomplish this, you need &lt;em&gt;exposure&lt;/em&gt; to lots of different kinds of problems. &lt;strong&gt;Quickly.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Back when I started solving coding challenges, I spent 45 minutes to an hour on each one and I “failed” almost all of them. Now, I’m spending no more than 20 minutes on each, and I’ll solve 50–75% depending on the difficulty. But forget about me, just worry about your own timer and set it wherever you feel comfortable. Over time you’ll find that you shave off a few minutes; the way you’ll get there is by setting daily goals.&lt;/p&gt;

&lt;h1&gt;
  
  
  2. Set Daily Goals
&lt;/h1&gt;

&lt;p&gt;This will help you to focus and to shut out some of life’s distractions. Sure, it sounds simple — and anyone can set a daily goal — the difficult part is completing this goal day after day. We’re looking for &lt;strong&gt;consistency&lt;/strong&gt; here. One daily goal, every day, is much better than completing five goals on Monday while failing to do any on Tuesday.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Compound interest is the eighth wonder of the world. He who understands it, earns it … he who doesn’t … pays it. -Albert Einstein&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this quote, Einstein was referring to the tendency of money to earn more of itself over time. But if you apply the same idea to &lt;em&gt;your growth of knowledge over time, you will become unstoppable.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;One thing that you might find helpful is that while I’ve noticed that I’m great at taking somebody else’s instructions, but I’m &lt;strong&gt;terrible&lt;/strong&gt; at following my own. Luckily, I’ve found a way around this; write your daily goals for tomorrow before you go to bed tonight. Set them on your desk, and forget about them. You’ll wake up in the morning with a clear head, sit in your chair, and notice a to-do list from a very smart, very organized stranger.&lt;/p&gt;

&lt;p&gt;Another thing that helps is if you &lt;strong&gt;set a small number of easy-to-achieve goals for yourself.&lt;/strong&gt; Motivation is key; you’re much more likely to solve three Leetcode challenges if you plan on solving two than if you dread solving 30.&lt;/p&gt;

&lt;h1&gt;
  
  
  3. Follow a Framework
&lt;/h1&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%2Fuploads%2Farticles%2F24zp2rd07d4zfs1l5spb.jpeg" 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%2Fuploads%2Farticles%2F24zp2rd07d4zfs1l5spb.jpeg" alt="1_WQ4lzbAfqWoq4lTLveghHw"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Back when I was solving daily code challenges, I would write notes for every problem I tried. The next time I would job search, my goal will be to fill another notebook. I’m sharing this for two reasons. First, because &lt;a href="https://medium.com/@michaelchrupcala/my-first-week-at-lambda-school-2ea6310cd248" rel="noopener noreferrer"&gt;my bootcamp&lt;/a&gt; taught me a really simple framework for keeping notes, called “UPER” —&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Understand&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plan&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Execute&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Review&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first two steps should happen &lt;strong&gt;before you write any code&lt;/strong&gt;. To accomplish anything, you have to plan how you’ll get there. But before you can even do that, you need to make sure you &lt;em&gt;understand&lt;/em&gt; what’s being asked of you.&lt;/p&gt;

&lt;p&gt;For example, what’s the input type that your function will receive? What will your output be — a string, or maybe a float? Are you missing any crucial information? &lt;/p&gt;

&lt;p&gt;Next, you’ll execute each of the steps in your plan by defining your variables and writing your functions. Then lastly, review how you did! What did you do well, what can you improve, and what were you unsure about?&lt;/p&gt;

&lt;p&gt;The second reason I’m sharing this UPER framework with you, is that I truly believe code challenges are one of the best ways to improve your programming chops. Yes, they’re time-consuming and no you don’t have to be as obsessive about them as I was, &lt;em&gt;but daily code challenges will make you better&lt;/em&gt;. You’ll learn about your programming language, and you’ll build analytical muscles from all those reps in the Leetcode gym. Most importantly, you'll learn creative problem-solving with every challenge you tackle. And after you're hired, you can flex those muscles when you write code daily at your job!&lt;/p&gt;

&lt;h1&gt;
  
  
  4. Step Away
&lt;/h1&gt;

&lt;p&gt;Don’t take my word for it. &lt;a href="https://www.psychologytoday.com/us/blog/prescriptions-life/201901/taking-walk-will-boost-your-creativity-and-problem-solving" rel="noopener noreferrer"&gt;Doctors&lt;/a&gt; &lt;a href="https://scienceline.org/2014/11/stuck-on-a-problem-take-a-walk/" rel="noopener noreferrer"&gt; keep&lt;/a&gt; &lt;a href="https://news.stanford.edu/2014/04/24/walking-vs-sitting-042414/" rel="noopener noreferrer"&gt; finding&lt;/a&gt; that our brains are more creative when we take frequent breaks. Fresh air and exercise aren’t just good for your health. When you’re stuck on a problem and you’ve tried everything, focusing on something new can be the best way forward. Geniuses throughout history such as Steve Jobs, Charles Darwin, Albert Einstein, and Tchaikovsky all knew the importance of taking a walk outside. &lt;/p&gt;

&lt;p&gt;A sudden flash of creative insight can come from anywhere, &lt;strong&gt;especially&lt;/strong&gt; when you’re outside taking a breath.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/8OJdqYqN1Nii3UTD6l/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/8OJdqYqN1Nii3UTD6l/giphy.gif" alt="Bob Ross petting a deer and smiling"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  5. Learn from Others
&lt;/h1&gt;

&lt;p&gt;What’s tough about learning a new skill is that there’s so much information you haven’t learned yet that &lt;em&gt;you don’t even know what you don’t know&lt;/em&gt;. This is because you’re missing the context — researching on your own is hard because you don’t know where to start. You don’t know what is and is not important; Javascript built-in methods? Functional programming concepts? Data structures? How do you filter through the noise?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://leetcode.com/problems/two-sum/discuss/?currentPage=1&amp;amp;orderBy=hot&amp;amp;query=" rel="noopener noreferrer"&gt;Leetcode&lt;/a&gt; has a nifty feature that lets you read the code that other people already submitted. When I’m solving code challenges, even if I solved the problem I’ll read through other user’s solutions and take notes.&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%2Fuploads%2Farticles%2Fxs0ljnvvx4vqcmu7wevt.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%2Fuploads%2Farticles%2Fxs0ljnvvx4vqcmu7wevt.png" alt="1_fdh-5b8Yer-g4_RIX6p_oA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just because you solved the problem doesn’t mean that you can’t still improve. There might be a concise way to solve the same challenge in five lines instead of ten. Maybe you could write a more efficient algorithm or one that uses less computing space. This ties back into the “Review” step of the UPER framework. &lt;/p&gt;

&lt;p&gt;Take a peak at somebody else’s code and you’ll be surprised at how much you can learn about your own.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Hopefully some of this was helpful, but this is just what worked for me! There’s a lot of great advice out there; both &lt;a href="https://www.youtube.com/c/KevinNaughtonJr" rel="noopener noreferrer"&gt; Kevin Naughton Jr. &lt;/a&gt; and &lt;a href="https://www.youtube.com/c/NickWhite" rel="noopener noreferrer"&gt;Nick White&lt;/a&gt;’s videos were a huge inspiration to me. Just remember, keep iterating and you’ll find what works best for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/mikechrupcala" rel="noopener noreferrer"&gt;&lt;strong&gt;Follow me on Twitter&lt;/strong&gt;&lt;/a&gt; for more programming tips, and DM me if you have any questions or if you’d like some advice. Thank you for reading!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>career</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
