Thinking-in-Functions%3A-A-New-Mental-Model-for-Backend-Development