This is a public service announcement with a threat at the end of it:

"Do not, I repeat, do NOT attempt to write web applications, or any particular sort of application that works with a relational database (damn near more than half of applications) without a PROPER grasp and knowledge of SQL.
I do not want to see you reaching out for an ORM either, no, you need to learn to properly design a database or to properly interact with them AT most before you even attempt using an ORM OR designing an application from the beginning, shit will only hurt you in the long term I promise, learning SQL can go a looooong fucking way and most DBA's I know make way tf more than people think they make, it might even be an interesting career choice"

If you do not follow the above advise, and I see your ass reaching for building a web application without the above knowledge I will be under your bed at night, putting oil in my hairy body before I jump into bed to you and leave you confused for the rest of your life.

Build to learn, YES, but for the love of Chamberlain and Boyce PLEASE do not neglect SQL. I have seen such neglect REACH production and I am currently wishing I had these mfkers close to me.

  • 2
    My experience level isn't super high but every time I've dorked with an ORM... it's just another thing to learn that is in my way.

    Like I get something out of using a web framework and learning angular-isms or react-isms or whatever ... ORM-isms have just cost me time.
  • 2
    Agreed. ORMs are useful tools - I've used them on many a project. They're certainly not replacements for understanding SQL however, and anyone who uses them as such will deservedly come unstuck on all but the most trivial projects.
  • 5
    Worst kind of ORM: those who try to abstract SQL away. Looking at you Ebeans.

    It just ends bad.

    And yes. That post deserves it:
    Can I get an ameeen in here?

  • 2
    @N00bPancakes oh definitely, knowing how they work is fine and I don't expect everyone to have data analyst level SQL skills man, but to reaaaally make an effort to learn SQL before attempting to play with an ORM, in my experience, hand written and properly developed SQL trumps ORMS all the time, you can really get far with it
  • 0
    @AlmondSauce you said it my man!
  • 0
    @IntrusionCM word bro! I don't even know where the fear from SQL comes from, personally I have always loved it!
  • 0
    @AleCx04 For me I work in a small shop, 3 devs. We know the database and SQL is a way of life, doesn't matter what your job title is.

    So if someone asks me for X,Y,Z. I think of the DB, how I want to make that query and ... then I write my front and back end code and so on.

    If I were at some huge company and maybe there's some DBAs and even an ORM guy(s).... yeah I could see me just calling some API and that calls some ORM like stuff that the ORM guy manages his thing and I'm doing my front end thing only.... sure.

    But beyond that ... every time I've played front end guy and had a back end guy to work with and I get some output I don't get I end up with "bro just let me see the SQL here..." and we all work it out that way ;)
  • 2
    @AleCx04 most people imho are taught SQL fundamentally wrong.

    Either by ignoring SQL and choosing Oracle "" SQL "", ignoring that SQL is set theory and trying to make it " object like... Or and that's the worst kind... Make it as dry as a glutenfree oat cookie lying in the desert for several months and teaching it by mathematics only.

    In Germany, the "Berufskolleg" does all three or one of three. From > 5 apprentices I had - none got taught SQL in a way that anything good could grow from it.
  • 1
    @mcfly prepare yeself at night lad
  • 0
    We just had discussions about this at work. I'm somewhat weak in mysql and my boss knows db's like nobody I've ever seen. 70% of our optimizations for performance are db related like figuring out how to ensure tmp tables arent created on large datasets because tmp tables take a lot of time. Using indexes properly etc. Is really interesting and def something that needs to be learned very well to expand your career in this field.

    I started with ORM and for years didnt have grasp on sql until this job. I'm just lucky to be working with the people on my team.

    You can get away with ORM covering for you up until a certain point. Once the application gets to a critical point and the datasets are huge most of those ORM core functions have to be visited and optimized anyways. ORM developers seem to prioritize being able to manipulate data many ways on smaller datasets vs handling extremely large datasets well.
Add Comment