CRUD is the only thing you need to learn to become a master software developer. Everything else is just rubbish. CRUD is an acronym and it implies Create, Read, Update and Delete. As you’re learning the art of software development, a lot of senior software developers will tempt you with rubbish ideas such as CQRS, DDD, OOP, OOD, OOA and Event Sourcing. Don’t listen to them, just leave them alone with their own rubbish. If you can master pure CRUD you’ll run around them in circles and deliver 100 projects in the same time they’re delivering one. The last point results in that you’ll earn 100 times more money than them within a year or two.
That’s an over simplification of the problem
I have already anticipated the counter arguments, and I go through them all in the video below. They’re all permutations of the above. However, the best examples of that I’m right can be found in 4 use cases for CRUD.
Regardless of what computer you’re using, your entire file system is based upon CRUD. The only difference being that it’s using synonyms to CRUD such as “Save”, “Load”, “Append”, and “Delete” – It’s still 100% pure CRUD.
If you’ve ever used a database, you’ve probably read up about words such as “insert”, “select”, “update”, and “delete”. These are of course just synonyms to CRUD, and literally exists in a one to one mapping towards CRUD. Every single database ever created, including the stuff Google and Facebook runs on is based upon pure CRUD.
There is nothing in the HTTP standard that’s not CRUD. Instead of the CRUD verbs, it’s simply using synonyms, such as POST, GET, PUT, and DELETE. Post is for creating items, get is for reading items, put is for updating items, and delete for deleting items. If the world’s largest software system ever built (the world wide web) was happy with CRUD, what makes you think your problem is so special it needs more than CRUD?
Yup! The world’s largest and most valuable software system, being Kubernetes, is built upon pure CRUD. Don’t believe me? Check out its documentation. If CRUD was good enough to build every single project Google delivered, what makes you think you’ll need CQRS? One of the largest software companies in the world literally built their entire backbone server infrastructure upon CRUD!
If CRUD is good enough for Kubernetes, what makes you think it’s not good enough for you?
In the video below I am walking you through the arguments if you need to arm yourself for your next architectural meeting with your local “CQRS expert”, in case arguments such as DDD, OOA, OOD, Sagas, and Event Sourcing surfaces. Facts are, if you master CRUD, you need nothing else! You’ll be able to deliver 100 times faster, 100 times better quality, and 100 times more consistent. CRUD is all you need, literally!
The dirty little secret of our industry is that the simpler you keep things, the more you can expand upon it, and the better the end result becomes – ALWAYS!