Kind of agree with any non-programming thinking first. Usually, I will start to ask myself "do we need a database for this?", and then build the hole UML around it (if needed). Then I will ask myself "do we need to access those data from multiple UI?", and if yes, I focus on thinking by APIs to tackle the problem. If not, I usually go down to my favorite tool, Laravel, because it is the moment it has something to offer to solve problems like Queues Jobs, Gates, Notifications, ... (basically opiniated tools, but useful tools that make you earn a lot of times, important enough on a project to consider it against another framework because as it is opiniated it will shape a little bit different your database if any was needed). I usually skip the "pseudo-code" step unless I need to explain a job oriented mecanism (if the problem we are trying to solve requires a lot of domain specific knowledge, in this case I do like a lot of you folks, mixed insert-favorite-language-here + pseudo code).
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.