There is some truth to this. I am a "successful" programmer (in my opinion, since I get paid to do it and people are generally happy with the results). My job every day consists of a series of frustrating problems where the solution is not obvious, but I'm sure it should be possible to solve it. A 3rd party library causes a heap corruption about once a week, or customers refuse to send data files in a consistent format. The print spooler service keeps stopping.
People come to me with the *simplest* of problems, and they can't even be bothered to type their question into Google, let alone *read* the results that come up! Most people aren't even willing to try it or learn for themselves, just waiting for someone's permission, I guess.
"It just doesn't work" is such a commonly repeated phrase, right next to "the Internet's not working". What doesn't work? Did you try doing it like this? Did it work yesterday? Has it ever worked? Can anyone else get it to work? Don't you want to know how it works? Do you even want it to work, or are you just relieved that you have something external to blame for why you couldn't get your work done?
Seriously, the key to success is just not giving up when you know something's possible.
I've been doing home automation stuff on and off for about 10 years now. It seems like every new device in the past few years has to have a connection to the internet and be controlled through a web-connected app. In some ways I kind of understand this: so many people have a smartphone, and they already know how to get it online, so if you connect your "IoT" device to the internet then you kind of get your remote control for free.
However, the whole idea of broadcasting data from the inside of my house to some 3rd party server on the internet is such a crazy idea. I recently installed a whole home energy monitor (it monitors the incoming feed and a bunch of the main branch circuits). It does come with software that I was running on a local PC, but the main way that they recommend to use it is to sign up for an online service (around $2/month) and have it upload your data there. Since their software wasn't great, I was tempted to do that... for about 10 seconds. Do you realize how much personal information that would mean transmitting to a 3rd party?When your stove, microwave, dishwasher, and washer/dryer runs? No way! Looking at the data it's pretty easy to pinpoint when we're there and when we aren't. In the end, I opted to write my own logging and reporting software, and that gave me the ability to add some useful features, like emailing me if the backup sump pump turns on (meaning my main sump pump has stopped working for some reason). Still, most people just have to take what's offered, and I think that's pretty scary.
Also consider the nest thermostat, which has an occupancy sensor, or the Xbox 360 which has a camera that's reportedly "on" all the time looking at your living room. This isn't a good idea.
If you look at the Buy Arduino Boards section of the Arduino site, all the boards are out of stock except for a couple of LilyPads. Also, the UNO Rev3 on that site lists for 20 euros. If you go to AliExpress you can find a clone for $6 with free shipping, including a USB cable, and if you want you can also get a clone for $3 (with free shipping) if you're willing to trade the FTDI USB-serial chip for a CH340G chip. From comments online the latter works fine, it just requires a different driver, and a lot of people are figuring we shouldn't be supporting FTDI either after what they did when they made their drivers bricks clones of their own chips. That's just one board. In my experience, the difference between prices of Arduino Mega boards and the clones are even worse.
I get that we want to support the official organization and I own 2 or 3 official boards. However, the price difference is sometimes too much to ignore. I spend a good deal of my time writing Arduino-compatible software and releasing it for free under an open source license on the internet. Lots of people have downloaded it and use it, and I am happy to answer their questions and help them with their projects for free. I don't expect to get paid a dime for that. A lot of people are doing similar stuff and we're all contributing to one big Arduino ecosystem in our own way. The fact that there are clones is a *good* thing. It's only the fact that clone-makers are using the Arduino trademark that's wrong. Also, if they say Arduino-compatible, then I think that's OK. Some of you might be too young to remember the birth of the PC, but IBM made the PC and then the clone-makers came along and made a whole bunch of cheaper and better *IBM-compatible* PCs. Look where that lead us.
It is easier to write an incorrect program than understand a correct one.