> And even more related to the entrepreneur-ship world I had lessons about copyrights law, labor laws, patent laws , as well as finance course (what is an asset active/passive, what is the difference between giving yourself a salary and giving you shares etc.)
Oh interesting, I thought this was specific to the "Grandes Écoles". For entrepreneurship, this is good. Accounting basics also comes in handy.
But yeah, I make a difference between learning C, SQL, PHP and let's say taking a compiler class, OS class , programming language design, distributed systems, and a database class where you learn the intrinsic of a database.
Correct me if I'm wrong, but when such school 'teach you SQL', they teach you about how to operate a SQL database, and do efficient indexing/joins. That itself is very important, but the school makes no effort to demystify a database. Similar to how you demystified processor by building it from scratch (Electrical Engineering is another "old-school" discipline one I think French engineers are good at), I feel learning to demystify many key computer science concepts makes you a better software engineer. And while learning a new language is something you can do on your own time easily, going deep into a compiler creation isn't something easy to do on your own, especially after being out of school.
Some people would argue that lot of this is useless, but to me: Like a civil engineer, where doing matrices operations and second order derivatives by hand at school is never going to be useful later on the job, having the core skills gives you a better intuition on the job.