Хотелось бы обсудить : востребованность(количество вакансии и уровень оплаты труда) разработчика Oracle с более-менее глубоким знанием архитектуры Oracle, на уровне, например, книг Guy Harrison(
http://www.amazon.com/exec/obidos/ASIN/0137011954/?tag=flatwave-20) или Джонатан Льюис(
http://www.ozon.ru/context/detail/id/2984086/) (сложные планы выполнения, оптимизация памяти, распределения данных, ввода-вывода в Oracle) ?
У меня возникает впечатление, что количество вакансий для таких специалистов очень ограничено по сравнению с Java-разработчиками. В массе требуются специалисты среднего уровня, знающие основные вещи. Кроме того, возникла следующая тенденция для OLTP-систем: если раньше бизнес логику чаще писали на PL/SQL(известный пример OEBS, или формы на Дельфи, вызывающие PL/SQL функции), то сейчас часто "морду" и бизнес логику делают на Java, которая через различные фреймворки(Spring, Hibernate) сама формирует SQL запрос и обращается к СУБД.
Оптимизация в OLTP-системах(которые я видел, правда они были не очень высоконагруженные) идет в основном в сторону создания подходящих индексов и/или изменения бизнес логики, чтобы быстрее работало. Т.е. глубже копать в cторону оптимизации памяти, ввода-вывода в 99% случаев не надо.
В случае хранилищ данных (работаю с хранилищами порядка 5Тб). Глубокое знание архитектуры Oracle, принципов оптимизации запросов необходимо.
Таким образом, можно выделить тенденции:
1) с каждым годом для OLTP систем востребованность чистых Oracle- разработчиков будут уменьшаться(в частности, прошли крупные внедрения OEBS в Связьинвесте и т.д., сама корпорация Oracle отходит от Oracle Forms, Reports в сторону Java-фреймворков);
2) сильные Oracle-разработчики в ближайшем будущем будут нужны только в области хранилищ данные (разработка ETL-процессов, возможно BI который обращается сразу к СУБД(Oracle BI), не формируя OLAP-куб сам, как Cognos).
3)сейчас и в ближайшем будущем будут востребованы сильные Java-разработчики со знаниями основ Oracle для создания OLTP-систем. Которые оптимизируют работу с данными изменяя бизнес-логику или оптимизируя Java на сервере приложений. Глубоко не залезая в планы выполнения, распределение данных, работу с памятью в Oracle.
4) и само сабой знания предметной области существенно повышают востребованность и уровень оплаты любого разработчика, в том числе Oracle-разработчика.
Т.е. чтобы быть востребованным специалистом для Oracle-разработчика среднего уровня(допустим 5-6 лет опыта), нужно либо заниматься хранилищами данных(правда крупные внедрения хранилищ вроде прошли уже, осталась поддержка и доработка), либо переходить в Java разработчики. Параллельно разбираясь в предметной области.
Вопрос для обсуждения: согласны ли вы с данными тенденциями ? Может быть расскажете про свой опыт.