I've worked for a few of those fairly recently. I also worked for a place that was running on a fully custom codebase, no framework, php with all sql scattered through each page and all the devs using their individual machines to ssh into a central dev computer to work (tell people which file you're working on first). No version control of course.
This is an automatic fail for an employer. In interviews I ask, if it comes up I interrupt the discussion, verify, and if they truly develop without valid source control/revision control - I end the interview and inform the recruiter NFW and why.
is this DBA stuff though? Sounds like creating indexes would be basic junior-level backend dev knowledge?
Yes, it is or should be.
If you have a mission critical database with a lot of writing to it and the requirement of millisecond response times then every index you implement needs to be balanced against the cost of writing.
Like other database objects, i.e. constraints and triggers that's absolutely a DBA job.
The database was 10gb RDS with no indexes.
and we must note that the business side did eventually bring in external consultants because the project was clearly distressed. So it did eventually get corrected and I naturally tend to see the worse examples of this kind of thing, but yeah, it is possible to assemble a team of 8 developers and get unlucky such that not a single one knows anything about indexes or cloud databases in general.
But that’s turning out to be more and more untrue. Newer engineers really do not know.
I worked for several years at a semi-startup as a Database Engineer where my role was to guide developers in writing performant SQL (and writing indexes for them) and architect their schema to be inline with our future plans and various other database tasks (managing query plans, being an expert on the database feature set etc). I even created an internal course: SQL School, that I included the directors/customer support teams in.
To that specific company my role was priceless, new features could be built in 1/2 the time with an expert writing the queries and handling the database. My programmatic analysis of our 20 year old code base had 5000 unique queries and 3000 more when accounting for dynamic SQL. Not gonna lie it was a complete mess but if I didn't exist they would have needed a lot more database resources. It was a terrible code base and any plan to refactor and avoid this mess would still need my role to do the transition.
I loved that job but its extremely hard to transition to any other roles and nowadays its easier to use alternative solutions.