Yeah, that's great, until you need to conditionally compose a query. Suddenly your pre baked queries are not enough. So you either:
- create your own shitty ORM based on string concatenation
- create your own shitty ORM
- or use a well supported ORM, those almost always support query composition and native queries
You write like it's ORM vs native. ORMs let you write native queries and execute them while also doing all the tedious work for you such as:
- mapping results to model objects
- SQL injection safety
- query composition
- connection builders
- transaction management
So if you love native queries write native queries in an ORM which will do all the tedious shit for you.
Last 2 job changes I told the recruiters my current company is not paying competitively and the annual raises are below inflation. Then we agreed on my expected salary range. They got back to me within a day or two with offers and both times I was signing a new contract within a week.
They respected my bluntness and aimed to meet my expectations. I'm in the UK and I find that outside the hipster businesses or blatant venture capital scam startups, in tech, people respect being to the point and honest.
Sadly both times my existing employers couldn't afford to meet my new salary range when I got the counter offers, I would've stayed if they matched or exceed.
I'm also honest and to the point when interviewing and my interview to offer ratio is about 1/3. The other times they find someone cheaper or they're one of those companies that expect a full stack senior dev at mid tier salary. I never got ghosted or declined, it was always that I asked for too much money and I declined the counter offer.
Also, never complain about your current job. Instead say what you want/expect and mention that you're not getting it in the current role. I find that recruiters and interviewers address these expectations very early in the process.