Callbacks were advertised as the reason why one should use node. They're a foundation of JS.
Then they got covered up by promises. And now, with async await, we're back full circle towards the style of a more linear programming language such as python.
It wasn’t that callbacks we’re a selling point, it’s that asynchronous execution was.
Callback were just the way of doing that in JS. Now we have Promises + Async/Await as sugar around what is basically the same pattern
ie - cb(err, result) is not that different than .catch(err).then(result) but it’s much nicer to develop with.
Of course now you can do the same in imperative try/catch for with await so yes, we’re back to similar syntax but a whole lot change under the hood and provided a much more performant concurrent model
Now we have async/await, I think there is no problem.