Last time I interviewed, I thought about how it probably would have benefitted me to take one less class a semester in college and just drill leetcode-style questions in that time. Given how almost all "prestigious" companies use these problems heavily for interviewing, it's likely to increase earnings more than any other course.
I think what caltech is doing here makes a lot of sense and demonstrates an awareness of the realities of interviewing at companies a lot of their students will want to work at. College is also a better time to build up this skill than later when other responsibilities tend to pile up.
I've been using the beta for the past couple months on a new project along with @nexus/schema to build a GraphQL server. This hits a sweet spot for me where I'm not having to manually duplicate a bunch of information in my GraphQL schema that's easily derivable from my database schema, but I still have the freedom to implement custom resolvers and use Prisma directly (or whatever else) when I need to. It's a good stack for building a GraphQL server around a Postgres db.
The main problems I've run into have been around utilizing standard postgres naming patterns (snake case for tables and fields instead of camelcase) and mapping the names in the prisma schema. Ran into a handful of bugs related to having these mappings that have all been fixed since. It still requires a post-introspect step to add the mappings, but that's not too big of a deal. Ideally the introspection would be able to handle database-specific conventions.
Couple of other things I've run into that already have github issues:
- It would be great if along with the create/connect options on relationships for nested writes there was also an upsert.
- Better transaction support beyond just nested writes would be great and probably a requirement for a lot of apps. Thankfully, my server is relatively simple right now so banking a bit on prisma improving as my app grows in complexity.