As someone also learning to program the Arduino, I have a pet peeve.... the overuse of delay()!
Almost every book, website, and video series I've examined starts with the Blink sketch that uses delay() to time events, and never really goes past it. Even though the example sketches that come with the Arduino quickly move to a different style of programming (see Blink Without Delay and Debounce, which use the millis() timer), those books, websites, and videos keep using delay() instead.
It is simpler - but then using your emergency brake to control your car's speed is simpler than using the brake, gas, and shifter. And I think using delay() is akin to using your emergency brake to drive.
Study Blink Without Delay and Debounce, to start. Find videos about those sketches, and about using the millis() and micros() timers to time events.
And if a book, website, or video tells you to use delay() to debounce a button, stop reading or watching. That is a poor way to accomplish debouncing an input, it stops the action so nothing else can happen, and there are much better ways to do this.