Platform & Performance
- Эксперты, гуру, своего рода элита программистов, когда один стоит десятерых. Если код любой другой группы может быть улучшен, код специалиста группы performance должен стремится к идеалу. За его спиной нет никого, кто спасет положение, поэтому особое требование к ответственности.
- Знания о программировании и продукте высоки как нигде. Быстро найти и устранить узкое место, переписать проблемный код, не потеряв функциональности, все эти задачи требуют неординарных знаний. Кроме того, надо оценить возможные пути решения проблем, выигрыши и затраты на реализацию еще до того, как реализовать. Последнее достигается опытом решения подобных задач, который не приобрести в других группах.
- Единственная группа, результаты которой являются не просто кодом, но кодом с подтвержденными характеристиками. Все изменения влияют на систему, и это влияние оценивается количественно нагрузочными тестами. Таким образом, всегда есть ответ на вопрос, что изменилось после его вмешательства и насколько.
- Возможность опробовать идеи, проводить сложные исследования по различным аспектам производительности сервера приложений, DB сервера, кластера, кода.
- Использование отладчиков, профайлеров, средств мониторинга для локализации проблемы производительности, расширяемости продуктового кода.
Требования:
- Отличное знание Java, J2EE, Oracle
- Умение работать с Solaris, Linux, Windows
- Критичность (не принимать ничего на веру, пока не получены результаты, это подтверждающие)
- Умение и желание разбираться со сложными проблемами, и чужим кодом
- Ответственность
- Характер «почемучки» и «а что, если».
Если говорить серьезно, квалификацию и опыт можно наработать, а вот если человек ждет точных указаний, что ему делать, то это не к нам. Он должен сам достаточно сильно «генерировать» идеи.
Нагрузочное тестирование (Stress & Volume Testing)
- Сравнительно новый тип специалистов. В эпоху бурного развития Internet и всей IT индустрии возникают проблемы, о которых раньше не задумывались, но которые стали очень критичными для бизнеса. Как поведёт себя система при одновременной работе с ней 100, 500, 1000 или 10000 пользователей? Выдержит ли система пиковые нагрузки в период рекламных кампаний? Что будет с системой при возникновении стрессовых ситуаций - недостаток дискового пространства, исчерпание свободной памяти, отключение одного звена в кластерной конфигурации и проч.? На все эти вопросы надо знать ответ заранее. И эти ответы должны давать специалисты по нагрузочному тестированию (на самом деле это не только нагрузочное тестирование - это ещё стресс-тестирование, тестирование на больших обьёмах (Volume), тестирование на разных конфигурациях).
- По своей сути, специалист по нагрузочному тестированию занимается экспериментами, что очень интересно
- Уникальность тестов. В некоторых случаях специалисту по нагрузочному тестированию необходимо проводить тесты на реальном оборудовании крупнейших заказчиков. Для примера, на 2-ух High-End Servers Sun Fire E25k (по 72 процессора каждый, и стоимостью по 4 млн $ каждый) надо эмулировать работу 2000 пользователей. Полученная в ходе тестов информация просто уникальна, а специалист, с опытом проведения таких тестов без работы не останется.
- Разностороннее развитие. Это и программирование, и умение работать с разными операционными системами, и умение мониторить эти системы.
Требования:
- Знание Java (Jython) или скриптовых языков - Perl, Python
- Знание Oracle PL/SQL
- Умение работать с Solaris, Linux, Windows
- Аккуратность
- Скрупулёзность
