Вначале пару слов о проекте
Проект представляет собой real time online сервис (инструмент электронной коммерции) типа клиент-сервер.
Серверная часть включает в себя около 3500 java классов, разбита по подсистемам и рассредоточена
на 3-х десятках реплицированных Linux серверов, размещенных в нескольких независимых датацентрах,
расположенных в США.
Так как требования по надёжности серверов весьма высоки, то серверная часть системы
разрабатывается проектными менеджерами самостоятельно.
Web часть, отвечающая за представление – это около 1700 xsl файлов и 9800 графических файлов и
около 900 файлов конфигурации.
Клиентская часть представляет собой несколько кросс-платформенных приложений, включающих в
совокупности около 1400 С++ классов. Поддерживаемые операционные системы: Windows, Mac OS и Linux.
Вакансия: Системный Unix-администратор
Описание работы:
Поддержка и администрирование ~25 linux debian серверов, OpenBSD раутеров, сетевой инфраструктуры, поиск и
устранение неисправностей, программирование утилит. Оборудование размещено в трех дата центрах в США.
Требования к кандидатам:
- Место жительства кандидата - Киев (обязательно).
- Опыт администрирования OS Debian Linux (2.4, 2.6 kernels).
- Конфигурирование и поддержка web, dns, mail, vpn и других сервисов (apache+ssl, bind, postfix, openvpn, nagios, spamassassin, iptables).
- Знание OS OpenBSD, опыт использования в качестве маршрутизатора (pf, pfsync, CARP, BGP, openbgpd).
- Понимание Unix-безопасности, слежение и регулярное обновление программного обеспечения на серверах.
- Понимание сетевых технологий (802.1q, STP/RSTP, VTP, HSRP).
- Желательно знание Cisco Catalyst свичей (Catalyst 2960).
- Глубокое понимание работы TCP/IP.
- Умение локализировать и устранять сетевые проблемы.
- Умение программировать на perl, shell.
- Способность вносить небольшие изменения в существующие пакеты на уровне исходных текстов
(С, C++), собирать пакеты, программировать небольшие утилиты, например, nagios, plugins.
- Технический английский: чтение и написание технической документации, способность вести электронную
переписку на английском языке, в том числе со службами поддержки дата центров (обязательно).
Разговорный английский - большой плюс.
- Возможность работы во внеурочное время. В случае необходимости, готовность к исправлению критических проблем в любое время суток.
- Ответственность и организованность. От надежности работы серверов зависят тысячи клиентов, которым сервис нужен каждую минуту.
Условия работы:
- Удалённо по свободному графику.
- Полная или частичная занятость.
- Оплата помесячная или почасовая и зависит от того, какую часть работы по поддержанию и
развитию серверной инфраструктуры Вы сможете эффективно взять на себя.
Пожалуйста, только серьезные кандидаты с реальным опытом, как стандартного администрирования готовых систем, так и
способностью и желанием создавать новые, custom-решения. Простого списка технологий с пометками good и excellent недостаточно.
В резюме должно быть детально (насколько это представляется возможным) описано то, чем именно Вы занимались последние 5 лет
своей работы в качестве системного администратора. Несколько сложные системы Вы строили, какие возникали проблемы и как вы
их решали, какова была степень Вашего участия и ответственности и т.д.
Резюме отправлять на E-mail:
О требованиях к кандидатам
Иногда нас спрашивают: "Почему в вашей компании такие завышенные требования к кандидатам? Они выше,
чем в других компаниях."
Во-первых, компании бывают разные. Проекты тоже бывают разные. Бывают разные сроки, требования по качеству
и т.п. Понятие большого и сложного у разных людей разное. Для большинства кандидатов, с которыми я проводил
собеседования "большим" является проект в пару сотен классов. Такие кандидаты пишут в своём резюме "имею опыт
работы в команде над большими проектами, имею strong OOP and OOD skills и т.п.".
А вот другой пример: Один из моих приятелей (жили одном селе) работает над проектом для компании Boeing,
лишь компиляция которого составляет несколько часов. Больших деталей по проекту он не разглашает, но несложные
прикидки в уме, показывают, что в таком проекте должно быть порядка нескольких десятков тысяч классов.
Еще один пример: Количество требований к программному обеспечению бортовых систем Boeing 777 составляет
около 300,000 (трёхсот тысяч!). Об уровне сложности и надёжности программного обеспечения бортовых систем
Boeing 777 остаётся только догадываться.
Во-вторых, наём низко квалифицированных программистов резко увеличивает расходы на менеджмент, т.к. такие
программисты не могут работать самостоятельно. Обычно они не видят картины в целом. Им требуется постоянный
мониторинг, контроль качества, помощь и т.п. Их всё время приходится убеждать в том, что нужно делать так,
как положено, а не так как они считают нужным. Проходится максимально детализировать задания и, несмотря на
это, они всё равно делают неправильно и многое за ними приходится переделывать. Часто при работе с низко
квалифицированными программистами обнаруживается, что проще, быстрее и качественнее было бы всё написать
самостоятельно. Самому же программисту кажется, что его решение является идеальным и переубедить его в обратном
очень сложно. Получается, что таким программистам платятся деньги за количество работы, а не за результат,
т.к. результат в таком случае стабильно плачевен.
Полностью согласен со следующим правилом: лучше подождать пока хороший программист не станет доступным,
чем ждать пока доступный программист не станет хорошим.
В-третьих, мы создали эту компанию исключительно для собственного удовольствия. Работа с хорошими
программистами - это удовольствие. Это интересно. Это всегда свежие идеи, новые технологии, подходы
и концепции. Это то, что не даёт умственно деградировать и всегда позволяет держать себя в хорошем
ментальном тонусе. Работа с плохими программистами - это всегда мучение. Это застой, отсутствие
прогресса. Это всегда неудовлетворительное качество со всеми вытекающими отсюда последствиями.
В-четвёртых, требования, предъявляемые к удалённому сотруднику, всегда будут выше требований,
предъявляемых к офисному сотруднику. Это связано с тем, что в случае уделённой работы повышается
личная степень ответственности и самоорганизованности. У такого сотрудника нет рядом начальника,
направляющего в нужное русло и указывающего на проблемы. Удалённый сотрудник уже действует не как
наёмный работник, а как маленькая компания, предоставляющая услуги компании-заказчику.
Компания-заказчик имеет полное морально право ожидать, что предоставляемые услуги будут качественными.
Те проекты, над которыми мы работаем несоизмеримо проще проектов приведенных в примерах выше.
И наши требования к кандидатам, на самом деле, не слишком сложные. Да, мы не спрашиваем на
собеседованиях назначение оператора for. Нас больше интересует понимание кандидатом того,
каким образом делаются качественные проекты. А чтобы таким пониманием обладать, нужно
постоянное самообразование и практика.