I've been doing tutorials and reading tons of "how to's", and this "No Programming Required! You can now make advanced games without writing a line of code. Construct 2 does the hard work so you don't have to" is serious b.s..
Never programmed before, but want to make actual games that are more than just a flappy game?
Better know how programming works!
Otherwise, start taking classes.
I have wasted so much time trying to make things with Construct. Each project getting to a point of playable, but always needing more. Of course, trying to make anything substantive in this, even simple retro games, takes TONS of programming that you'll have to LEARN here.
I think its pretty accurate when Scirra state that no programming is required. But for people that have never programmed before as you write you haven't, might be confused by this statement, because someone that have programmed before wouldn't confuse the requirement for logic with that of typing code.
Because how would you make decisions?
Lets say a bullet hits an enemy and what if you have different types of bullets and enemies, and each of them are affected differently depending on the type of bullet they are hit by. So regardless of which type of program you are using, whether its uses a more traditional programming approach or one like C2 or maybe something that is 100% point or click, the logic of selecting the correct bullets and enemies and make things happen the way you want it to, is still there.
In my opinion what C2 does and does well is to move the focus from writing tons of code with all the syntaxes that's comes along with it and shift the focus from this toward the logic part.
So instead of spending time trying to program how to load a video file into your game, you simply say "I want the program to play my intro through a video, so I can add a video object which can handle this for me". which is done through a few clicks and you don't have to worry what is going on behind the scene.
The problem comes between finding a balance of what this video object should be capable of and not, because the more stuff you add to it, the more advanced it will also become, but not adding these features can limit its functionality, which on the other hand can be just as frustrating for advanced users.
So to use C2 and be good at it, I think you need to be good at logic thinking and to be able to do basic math, but that is no different from any other programming language out there.