I'm using tiled (https://www.mapeditor.org/) for the maps in my game and have found it very useful to allow quickly creating levels. But there are a few things I found helpful I thought I'd share in case others are using Tiled.
The first is that we have a number of object layers which indicate where specific enemies and other things should be spawned, but the markers in the map are just indicators, so we want those layers to be invisible. While I'm working on the maps I want the layers to be visible, but I'd always forget to make them invisible before exporting the map, so they'd show up in the game where they don't make any sense. What I ended up doing was toggling the visibility in code right after loading the map instead, so I don't have to do it in Tiled.
The other thing I found really helpful was adding a linting phase to the map loading. I have enemy objects which have a property telling the game which patrol path it should follow. The patrol path is an object defined in the patrols layer, but it's easy to make a typo or something and have weird errors down the line, so I do an explicit check to confirm that the patrol it points to is present during map load time to make errors more obvious.