One of the first things we tech helpers try to do is assess the new member's background relative to the stated project. The goal being help get the OP from here to there it is necessary to know where here is.
Some members join as total beginners or nearly. A few of those present non-beginner code and go on like they know the stuff even after it is clear that they don't.
Consider that the time they waste is taken from helping others?
Some members come here in tech-retirement to give back for what we got.
Some new members have a dying need to get their degree projects done naow.
But for a farmer or other worker wanting a modest goal and willing to work, GOOD!
We get all kinds of people here plus lurkers. The site is a resource, but does require filters to separate data from noise. That is forum legacy.
Karma...sux. I've learned to stay away from those.
The difficult ones I find are the ones who are in so far over their head, though clearly willing. This forum can be difficult because too many helpers stir the pot all at once. It would be useful if we could tokenize helping, allowing whomever has taken the lead to just lead for a few posts, until they either step back, flame out, or succeed. But egos get in the way, as do valid alternate approaches, and minor mistakes that take the thread off into the weeds for dozens of posts.
Yeah, I've done that too, but the problem is the thread continues, so the thread content keeps dragging them back, and the discussion becomes 'multi-threaded'. "Why not do it the way so-and-so suggested". It's not me to say something like "I know what's best for you, so just ignore all that", nor to say "do you want code you can maintain, or do you want code you need a C++ guru to explain to you again and again?"(if you don't know the difference, I rest my case), so it becomes a parallel struggle. Still, I've helped a few.
It would save a lot if new members could show knowledge of basics like variable types, arrays, loops, ASCII strings (to steer them away from Bad Habits in the first place).
Next pins, modes, ADC and PWM. All in the IDE Tutorials sections 1 & 2, IIRC. Beginner Programmer.
Some know bits, bit logic, pointers, structs and unions. Experienced Programmer.
Know Ohm's Law, Kirchoff's Laws, can read a circuit shematic, know how to use a meter & how well. Hardware Hobbyist.
As a beginner it is best to learn the basics and avoid doing more than 40 lines of code-code (not empty lines or braces) seeing how something works perhaps twisted sideways. Lessons with breaks, fresh eyes see better. Don't live there. Rent and pass on through to easier coding!
Beginner is a lot of range learning what to do to get out of repetitious work and huge bug hunts.
Somewhere along the line comes doing more than one thing at a time and then it's time to learn to fly. The sky isn't the limit. So far, that's been orbit.
So Beginners, Stay In School! It really is for your own good.