Hey, @tristan. Thanks for the answer! You raised very interesting points.
The dbt Cloud Develop interface is a great idea and I think it will reduce a lot the friction to start using dbt for our analysts that are not familiar with CLIs, IDEs, Git. I believe that with time, they will naturally learn more and more about tooling, but the transition should be much smoother with Develop. For me, coming from a software engineering background and having spent a lot of time on IDEs, I feel more comfortable developing locally. Especially for long refactoring sessions, structuring my initial project, etc.
That said, I do have some initial feedback on Develop (those are my first weeks on dbt and we are still slowly building our proof-of-concept):
- It worries me a bit that there’s no auto-saving on the tabs and compiling or running the SQL won’t auto-save either, so I see the risk of analysts working for quite some time without saving their files. Trying to close an unsaved tab on Develop will prompt for a warning dialog, but trying to close my browser or my browser’s tab won’t, when I think it should
- Some git operations are a bit slower than I would expect (pulling, committing, or even creating a new file). You mention “making sure the project is in a good state”, so maybe that’s related?
- It would be amazing to keep the state of which tabs I have open (and maybe even the state of my file/project tree on the left-hand side of the page) even if I reload the page
Going back to my workflow, I find it amazing how easy it is to see my compiled model and to run it against my database while working on Develop. For working locally, I might do a simple shell script to watch for file changes on my model’s folder and either compile them automatically, or compile and run them (run outside dbt, using my data warehouse CLI client), so I can have another window open on my second screen that will react for file changes that I do in my local IDE. Or I might try to go even fancier and have better integration with my IDE (IntelliJ), which has good database integrations (for running queries, showing results, etc).
Those are my thoughts for now. Probably once I finish our proof-of-concept and my entire team starts using dbt I will have more feedback to share