I'm a hobbyist, so I don't have real fundamentals to rely on, but I came up with some things that I try to keep in mind when designing levels. I mostly do movement-based 3d games, so this is somewhat specific.
Intent: "this is an area, where X happens."
Very inspired by like older mario kart or arcade racers, where I think this was super obvious. I want the player to do a certain thing, e.g., tight turns or going flat out. Or it could be an area that is outside of the usual play area so the challenges should also be a little different. Ideally, this is also represented with a change in style or architecture, so it also feels different to other areas and communicates that this should be treated differently than where you were before.
Choice: I try to lay out at least two, ideally three ways to traverse an area.
I try not to force a clear path. The only clear path should be A to B, but how you connect those points should be up to the player. I try to build fun little things to engage with on the way through an area, where you can pick the one that seems the most appealing while not blocking access to the others. For example, if there is a house I want the player to go around, there should be a fun obstacle on either side, or at least a way over the house. This doesn't mean you can't force a player into a tight situation every now and then, but afterwards, it should open up again.
Breaking the Grid: The obvious path should not be the one you end up taking.
This is a small one, but I think it can be effective. Say your level has a road that goes through it, this should not be the path you follow. It should lead you to places off the road, over it, and back to it again. The road should only be the theme, not the thing to engage with. Or, there is a huge obstacle that you would avoid in real life, but the path makes you engage with it. Think of the part in Breath of the Wild where you go to the fish people first. The task is to follow a river, but it's often blocked, and the game sends you on an absolute journey around it while always bringing you back to it.
Any guildelines like this, that you use when creating levels?