Not shown: stop using SELECT *. You almost certainly do not need the entire width of the table, and by doing so, you add more data to filter and transmit, and also prevent semijoins, which are awesome.
This is another area where I wish SQL was more composable. I’d love to be able to specify a bunch of columns using a single reference or a function, without having to resort to dynamic sql. Exclude and rename are a start, but not enough.
For developers, yeah. SELECT * has pitfalls, and you should almost always specify your columns or use a query builder that does that for you.
For analysts though, life is short and sometimes you really don't want to type all the columns out. SELECT * is fine.