People have different preferences and impossible to get a correct assessment.
I'll even go further. Sometimes a story can make you like a game that otherwise you would have disliked because of the engine, type of game or game mechanism.
Well, programming games using API's and SDK's without game engines could be a good practice
game engines baaaah... What if they get obsolete?
DOS, EMS/XMS, DOS/4G, Win16, WinG, Win32s, Win32, Direct X, (turbo) Pascal, C, C++. That's the non exhaustive list of what I had to learn between the moment I started to go with the API/SDK approach, in the early 80's and the moment I stopped in the early 00's. Nowadays you need to include C# and .net, I don't know about the effective changes between Win32 and the 64bits API, and since things go backward, directly addressing the video card can be the best option here and there.
Well, I'm not sure that going for the API/SDK approach is really an effective way to prevent the learning of new things every now and then. This especially since learning how to use a game engine mean that your games will works on more than a single OS. By example, if he learn how to use Ren'py, it will replace the need to learn how to use the API/SDK for Windows, Linux, MacOS X, iOS and Android. Even if the API/SDK stayed put, he would need to pass through five different game engines for both approach to be equals.
But this imply that the API/SDK stay put and that the game engine development process stop. It happen sometimes but not for the most used ones. RPG Maker started in the early 90's and the last PC version was release in 2015. Unreal started in the late 90's and the last version was released in 2014. Ren'py started in 2004 and the last version was released few days ago. Unity started in 2005 and the last version released few month ago.
Except perhaps RPG Maker, they are far to the end of their development process, while all of them let your game run on at least three OSes.
Of course it's a steep learning curve at first but when you're well experienced and you build your own library and templates, building next projects will be easier and you're not stuck with wysiwyg engines. But that's just me (shrugs).
What are you talking about exactly ?
Where have you seen that Ren'py, Unity or Unreal, to name only three, are near to WYSIWYG engines ? What make you think that they can't benefit from the libraries and templates used for another game ?
Modern generic game engines are more on the side of an API on top of the system, than anything else. This whatever they rely on an existing language (C, C#, lua, javascript) or have their own one or, like Ren'py, have both.
EDIT: i don't mean to offend the devs here. I know y'all dont wanna delve into programming and just wanna make a project pronto. Efficiency is your key here.
Honestly, it's with this edit that you can offend them. And I'm not talking about the "make a project pronto" part, but about the "programming" one. Even authors using RPG Maker need to code if they want to achieve something interesting.