Подобные вещи сильно различаются от места к месту. На моем текущем сайте грань между разработчиками и администраторами баз данных очень размыта - мы (администраторы баз данных) тоже пишем PL / SQL, а они (разработчики) разбирают планы запросов. Мы все видим себя как сверстников, просто с разными навыками и обязанностями. Это очень забавно: недавно компания запрыгнула на платформу DevOps . Сообщество баз данных вообще не понимает этого; мы всегда так работали. Излишне говорить, что мы чрезвычайно продуктивно работаем, как это: уровень базы данных , безусловно,Самая надежная часть технологического стека компании, она проста в эксплуатации (поскольку у нас есть опыт работы в команде администраторов баз данных, чтобы понять приложение на глубоком уровне, а разработчики знакомы с администратором баз данных, чтобы понимать операции 24/7/365 и как структурировать свои приложения для этого).
Но я знаю, что вы имеете в виду, когда говорите о «неправильном» виде разработчика. Он самоучка, что само по себе является благородной вещью, но по пути он обнаружил недоверие к каким-либо формальным инструкциям. Он не знает, чего не знает , и обижается на любого, кто пытается его просветить, он считает это оскорблением его навыков самообучения. Он выучил императивный стиль программирования, потому что вы можете изучать его без каких-либо теоретических вещей, о которых постоянно болтают типы CS (ну, плохо; каждый должен знать о биг-ои подобные биты теории). Он тоже немного изучил ОО только потому, что ему нужно использовать Java. Но хороший специалист по базам данных - разработчик или администратор баз данных - должен уметь думать в декларативном стиле, думать о теории множеств, нормальных формах и даже понимать реляционную алгебру и исчисление. С этими людьми очень и очень трудно общаться, потому что они активно враждебны ко всему, что может вытолкнуть их из их зоны комфорта, которая в целом ограничена тем, как отформатировать что-либо на веб-странице. Если они вообще думают о базах данных, они думают, что таблица подобна классу, а строка - как объект. Эти парни буквально просто делают, SELECT * FROM TABLE
фильтруют и сортируют результаты в своем собственном коде., Они действительно, действительно не понимают, почему база данных лучше, чем простой файл (и они не так тайно думают, что любой, кто использует реляционную базу данных, является идиотом).
Позвольте мне привести вам реальный пример: недавно я говорил с одним из этих типов о проблемах, связанных с откатом выпуска нашего программного обеспечения после его запуска в производство, если проблема проскочила мимо QA. Я объяснил, что, хотя мы можем откатить его приложение (одно из многих обращающихся к базе данных), оно должно быть в состоянии работать с развернутой базой данных. Он спросил, почему, и я ответил, что в этих новых таблицах и столбцах будут реальные данные о клиентах. Затем он сказал, так что просто скопируйте его во временную таблицу, в чем проблема. Я недоверчиво уставился на него: когда клиент звонит и говорит, что мои деньги исчезли с моего счета, что мы ему скажем, что все в порядке, они во временной таблице? Он просто не понимал, что когда вы имеете дело с чужими деньгами, вы должны вести себя как ответственный взрослый. Насколько я знаю, он до сих пор не знает; его больше нет с нами
Лагеря MySQL были такими долгое время; они сказали бы, что вам не нужны транзакции, внешние ключи и т. д., если вы думаете, что это было сделано, только потому, что вы понятия не имели, что делаете, и т. д. и т. д. (тогда, когда они выросли, они тихо добавили их). Для таких людей были разработаны ORM, такие как ActiveRecord или Hibernate, чтобы они могли писать приложения баз данных без необходимости касаться SQL. Использование этих технологий я считаю красным флагом - это не та компания, которая ценит навыки DBA. То, что они действительно хотят, это няня ...