После расторжения договора с компанией «Ланит» IBM вычеркнула из списка партнеров «Энвижн Груп»

IBM в одностороннем порядке расторгла партнерское соглашение с компанией «Энвижн Груп» в середине июля. Теперь ИТ-интегратор не имеет права заниматься поставками оборудования и программного обеспечения IBM. Однако действующие контракты по технической поддержке продуктов IBM остаются за «Энвижн Груп».

Партнерское соглашение оказалось расторгнуто как раз перед покупкой «Энвижн» компанией МТС у АФК «Системы». В итоге миноритарии МТС и АФК «Системы» сочли приобретение невыгодным. Однако оператор все же выкупил 100% компании за 15 миллиардов рублей.

По словам представителя МТС Дмитрия Солодовникова, доля бизнеса «Энвижн», связанная с американской корпорацией, весьма мала. А прекращение сотрудничества с IBM, по его мнению, имеет «политический и экономический контекст», передает «Коммерсант».

«Мегамозг» писал, что 16 июля IBM в одностороннем порядке расторгла партнерское соглашение с компанией «Ланит». IBM и «Ланит» сотрудничали более 20 лет. Ежегодно «Ланит» поставляла оборудование и софт корпорации на сумму в несколько десятков миллионов долларов в год. Крупнейшими заказчиками «Ланита» до последнего времени были Сбербанк, Росстат, Федеральное казначейство и правительство Московской области. Теперь IBM будет работать с ними напрямую. Более того, корпорация в принципе планирует перейти с крупными заказчиками в режим работы без посредников.

ссылка на оригинал статьи http://megamozg.ru/post/17998/

Видеокурс по настройке таргетированной рекламы ВКонтакте

Я запаковал свой опыт настройки таргетированной рекламы ВКонтакте в виде видеокурса. Изначально я записывал его для своих сотрудников, но потом решил поделиться со всем. Надеюсь, для Вас это будет полезно.

Теоретическая часть



Практическая часть

ссылка на оригинал статьи http://megamozg.ru/post/17996/

Производительность VMware vSphere 5.5 и 6.0 — настройки, соображения. Perfomance Best Practices


Проштудировав документы Perfomance Best Practices or vSphere 5.5 и Perfomance Best Practices for vSphere 6.0, не выявил особых расхождений в настройке, как и чего-то дополнительно специфичного для vSphere 6.0.

Большая часть написанного умещается в стандартные рекомендации формата «используйте совместимое и сертифицированное оборудование» и «при сайзинге ВМ выделяйте ресурсы (vCPU, vRAM) в объёме не более необходимого».

Тем не менее, базовые вещи решил оформить отдельным постом, немного переструктурировав, избавив от «воды» и некоторых отсылок и замечаний, которые являются слишком специфичными и для большинства реализаций являются скорее вредными чем полезными. В сухом остатке остались рекомендации, советы и соображения, проверенные и протестированные на практике и применимые для 90% инфраструктур VMware vSphere и standalone ESXi. Разбавленные общими соображениями и дополнениями.


Хост ESXi



Общие рекомендации


  • Ну понятно, стоит использовать совместимое оборудование. Процессоры с аппаратной поддержкой виртуализации. Процессоры в разных хостах кластера должны быть минимум одного производителя (Intel/AMD) а желательно и одного уровня технологий и поколения. Иначе проблемы с vMotion и производительностью. И желательно вообще единообразие в аппаратной конфигурации кластера — проще управлять (Host Profiles) и диагностировать.
  • Установить свежие версии BIOS и firmware на все «железки». Не обязательно это скажется на росте производительности, но в случае проблем на стыке железо-софт техподдержка вендора всё равно будет требовать обновления прошивок. Мы с IBM так почти год чинили Blade-корзину — пока обновили прошивки на всех задействованных и не очень компонентах, они выпустили их новые версии и пришлось идти по второму кругу.




BIOS


  • Убедиться, что включены все необходимые и полезные компоненты и технологии — ядра процессора, Turbo Boost, если есть, технологии виртуализации (VT-x, EPT, AMD-V и т.п.).
  • Отключена опция NUMA Node Interleaving или включена опция Enable NUMA. Данный пункт часто вводит в заблуждение. ESXi — NUMA-awared ОС, более того, она умеет транслировать NUMA-архитектуру в виртуальные машины, так что включение возможности распознавать NUMA-ноды сказывается положительно на общей производительности в большинстве случаев. Однако опция «NUMA Node Interleaving», будучи в состоянии «Enable» на деле объединяет ноды в единое пространство, то есть отключает распознавание NUMA-нод.
    NUMA
    /NUMA — Non-Uniform Memory Access — архитектура серверных систем, при которой время доступа к памяти определяется размещением её относительно процессора. У каждого процессора свой набор модулей памаяти, куда доступ быстрее, этот комплект и образует NUMA-ноду./
  • Отключить неиспользуемые устройства. Это освободит прерывания и немного разгрузит процессор.
  • Включить Hyper-Threading (если есть). В этом случае vCPU назначаются по логическим ядрам и в большинстве случаев это приводит к оптимизации использования процессорных ресурсов.
  • CPU Power Saving — OS Controlled mode. Или что-то аналогичное. Если поддерживается. ESXi — имеет полный набор средств для управления питанием сервера. И лучше отдать этот вопрос на откуп гипервизору, если хочется быть уверенным, что он не скажется на производительности негативно.




Гипервизор


Тут стоит иметь ввиду, что и по процессору и по памяти для каждой виртуальной машины есть определённый оверхед — дополнительное количество того и другого, необходимое для работы самой ВМ:

— для процесса vmx (VM eXecutable);
— для процесса vmm (VM Monitoring) — мониторинг состояния виртуального процессора, маппинг — виртуальной памяти и т.д.;
— для работы виртуальных устройств ВМ;
— для работы других подсистем — kernel, management agents.

Оверхед каждой машины более всего зависит от количества её vCPU и объёма памяти. Сам по себе он не большой, но стоит иметь ввиду. Например, если весь объём памяти хоста будет занят или зарезервирован виртуальными машинами, то может увеличиться время отклика на уровне гипервизора, а также возникнут проблемы с работой таких, например, технологий как DRS.


Виртуальные машины


Главная рекомендация — сайзинг по минимуму. В смысле — выделять виртуальной машине не больше памяти и процессоров, чем ей реально нужно для работы. Ибо в виртуальной среде больше ресурсов зачастую приводят к худшей производительности, чем меньше. Это сложно понять и принять сразу, но это так. Основные причины:

— оверхед, описанный в предыдущем разделе;
— NUMA. Если количество vCPU соответствует количеству ядер в NUMA-сокете и объём памяти тоже не выходит за пределы NUMA-ноды, то гипервизор старается локализовать ВМ внутри одной NUMA-ноды. А значит доступ к памяти будет быстрее;
— Планировщик процессора. Если на хосте много ВМ с большим количеством vCPU (больше в сумме, чем количество физических ядер), то растёт вероятность появления такого явления как Co-Stop — притормаживание некоторых vCPU из-за невозможности обеспечить их синхронную работу в рамках отдельной ВМ, потому что количества физических ядер не хватает для одновременного цикла;
— DRS. Машины с небольшим количеством процессоров и памяти переносить с хоста на хост проще и быстрее. В случае внезапного скачка нагрузки легче будет перебалансировать кластер, если он состоит из небольших ВМ, а не из многогигабайтных монстров;
— Локализация кэша. Внутри ВМ гостевая ОС может переносить однопоточные процессы между различными процессорами и терять процессорный кэш.

Выводы и рекомендации:

  • Лучше один процессор, загруженный на 80%, чем 4 по 20%.
  • Если у сервера пиковая загрузка происходит раз в квартал, а в остальное время он работает на 10% своих ресурсов, лучше урезать их (ресурсы) сразу в 8 раз, а раз в квартал добавлять необходимое количество.
  • Стараться умещать ВМ по количеству vCPU и памяти в границы NUMA-node.
  • Если ВМ выходит за пределы NUMA-ноды (wide VM), конфигурировать число процессоров кратное числу ядер в NUMA-ноде. Если у нас в одном сокете 4 ядра, то кратные числа процессоров, рекомендуемые для ВМ будут 4, 8, 12…
  • При использовании нескольких vCPU, лучше конфигурировать их как отдельные виртуальные сокеты с одним виртуальным ядром в каждом. Ну или с количеством ядер, являющимся целым делителем от числа ядер в NUMA. Если в физическом сокете 4 ядра, то в виртуальном правильным значением будет 1, 2, 4. Но не 3 или 6.
  • Отключать неиспользуемое виртуальное оборудование виртуальной машины (COM-, LPT-, USB-порты, Floppy Disks, CD/DVD, сетевые интерфейсы и т.д.)
  • Использовать паравиртуальное оборудование (VMware Paravirtual для SCSI-контроллера и VMXNET для сетевого адаптера). Это уменьшает нагрузку на процессор и время отклика, но может потребовать драйвера для установки ОС.




Гостевая ОС



  • Использовать последние версии VMware Tools. После каждого обновления ESXi приводить в соответствие.
  • И вообще иметь установленными VMware Tools.
  • Отключать screen saver’ы и вообще любую анимацию и красивости. По возможности отключать графику. Это значительно снижает нагрузку на процессор.
  • Избегать одновременного запуска интенсивных задач (таких как антивирусное сканирование, бэкапы и особенно дефрагментация). Дефрагментацию лучше вообще отключить. Остальное, если нельзя избежать, размазывать для разных машин в разное время.
  • Синхронизировать время гостевой ОС с помощью ntp-сервисов или VMware Tools, но не обоих инструментов сразу. Но хотя бы одним. Так как стоит иметь ввиду, что время в гостевой ОС — не точная величина, поскольку зависит от процессора, а процессорного ресурса ВМ может получать не равномерно и не всегда в нужном объёме.
  • vNUMA. Стоит принимать во внимание, что для ВМ с количеством vCPU большим либо равным 8 активируется проброс NUMA-архитектуры внутрь ВМ. Для некоторых NUMA-awared приложений, например, Exchange или MS SQL это полезно. Однако vNUMA определяется при первой загрузке ОС и не меняется, пока не изменится количество процессоров. Поэтому, если в кластере наличествуют хосты с разным количеством ядер в сокетах, а значит с разной NUMA-архитектурой, то при переезде ВМ с хоста на хост, производительность может падать из-за того что vNUMA не совпадает с NUMA на новом хосте.




Хранение и хранилища


Главное, что стоит принять во внимание — ваше хранилище должно поддерживать vStorage API for Array Integration (VAAI). В этом случае будет поддерживаться следующее:

— Оффлоад процессов копирования, клонирования и переноса ВМ между LUN одного хранилища или между хранилищами, поддерживающими технологию. То есть процесс будет выполняться большей частью самим хранилищем, а не процессором хоста и сетью.
— ускорение зануления блоков при создании Thick Eager Zeroed дисков и при первичном наполнении Thick Lazy Zeroed и Thin дисков.
— Atomic Test and Set (ATS) — блокирование не всего LUN, при изменении метаданных, а только одного сектора на диске. Учитывая, что метаданные изменяются при таких процессах как включение/выключение ВМ, миграция, клонирование и расширение тонкого диска, LUN с большим количеством ВМ на нём может не вылезать из SCSI Lock’а.
— Unmap — «освобождение» блоков тонких LUN при удалении/переносе данных (касается только LUN, но не vmdk).

Соображения и рекомендации:

  • Independent Persistent Mode vmdk-диска — наиболее производительный, поскольку изменения вносятся сразу на диск, не журналируясь. Но такой диск не подвержен снапшотам, его нельзя откатить.
  • При использовании iSCSI рекомендуется настроить jumbo frames (MTA=9000) на всех интерфейсах и сетевом оборудовании.
  • MultiPathing — для большинства случаев RoundRobin — ОК. Fixed может дать большую производительность, но это после вдумчивого планирования и ручной настройки каждого хоста до каждого LUN. MRU можно поставить при active-passive конфигурации, если какие-то пути время от времени пропадают — чтобы не перескакивало туда-обратно.




Инфраструктура виртуализации



DRS и кластеры


  • Для управления ресурсами и контроля их использования, лучше использовать Shares в большей мере, а Limits и Reservation — в меньшей. Лимиты жёстко ограничивают ВМ, даже если кластер имеет свободные ресурсы. Резервирование, напротив, отъедает много ресурсов, даже если они не используются. Кроме того, при апгрейде физического оборудования настройки Shares автоматически распределяют новые мощности пропорционально. А забытые лимиты и резервирование могут привести к тому, что часть машине недополучает ресурсов, хотя в кластере их уже более чем достаточно.
  • Не стоит сооружать сложные многоступенчатые иерархические конструкции из Resource Pools. Для иерархий есть папки. А также держать на одном уровне (например, в корне) и Resource Pools и виртуальные машины. Потому что расчёт Shares для этих типов объектов производится по разному и могут появляться непредвиденные перепады производительности.
  • Ещё раз — чем ближе хосты друг другу по конфигурации, тем лучше. В идеале — в кластеры все хосты однотипные. Без EVC даже на хосты с процессорами одного вендора, но разным набором технологий ВМ перемещаться смогут только в выключенном состоянии.




vMotion и Storage vMotion


По умолчанию, на каждый активный процесс vMotion гипервизор отъедает 10% одного ядра процессора. И на приёмнике и на источнике. То есть если на хосте все процессорные ресурсы находятся в резервировании, с vMotion могут быть проблемы. (С DRS точно будут).

При Storage vMotion с исходного датастора активно идёт чтение, а на целевой — запись. Кроме того, на оба датастора идёт синхронная запись изменений внутри ВМ. Отсюда вывод — если двигаем ВМ с медленного датастора на быстрый, эффект будет заметен только по окончанию миграции. А если с быстрого на медленный, то деградация производительности наступит сразу.


vCenter Server


  • Минимум хопов между сервером vCenter и его БД. Желательно чтоб оба сервера были в одной сети.
  • И vCenter и его БД не должны испытывать недостатка ресурсов.
  • В БД сама база генерирует, в основном, случайное чтение, а логи — последовательную запись. Отсюда то и другое лучше положить на разные LUN. Лучше даже, если и пути до них будет разные (разные контроллеры или массивы). Или разные диски, как минимум.
  • Также отдельно стоит положить tempDB.
  • Стоит регулярно обновлять статистику таблиц и индексов в базе и избавляться от фрагментации.
  • Закрывать сессии клиентов (и толстых и веб), если они не используются — отъедают много ресурсов на обновление inventory.
  • Если в инфраструктуре больше 30 хостов и/или 300 ВМ, базу данных компонента Update Manager лучше вынести отдельно от БД vCenter.
  • Если в инфраструктуре больше 100 хостов и/или 1000 ВМ стоит вынести отдельно и сам Update Manager
  • Если в инфраструктуре больше 32 хостов и/или 4000 ВМ стоит отделить компонент Web-client Server.

ссылка на оригинал статьи http://habrahabr.ru/post/263777/

Инфо-маркетинг, как способ эффективного привлечения клиентов в стартап

Рынок рекламы с каждым днем становится все горячей и горячей. Стоимость рекламы увеличивается и становится все труднее привлечь внимание пользователя.


Мне очень нравится, как организованы продажи у тех, кто занимается ПВХ окнами. У них есть бесплатный продукт – это замер. Делая замер компания уже может показать свою компетентность дав бесплатные советы относительно установки окон и возможно других смежных тем по ремонту.

Такая модель жизнеспособна в любом бизнесе. У любого бизнеса может быть бесплатный полезный продукт. И причем, этот бесплатный продукт не триальная версия сервиса, ограниченная по времени использования, а реально полезный продукт, который может дать пользу клиенту, причем абсолютно бесплатно.

Отличным вариантом такого продукта является полезная информация из смежных тем. Например, для туристического бизнеса, это может быть видеоблог, в котором рассказывается об особенностях питейных заведений в разных странах. Снимаются отели, тусовки и другие мероприятия.
Для IT продукта, как в нашем случае, бесплатным продуктам является наш запакованный опыт в интернет-маркетинге. Основным каналом передачи это опыта являются сообщества в социальных сетях, блог и рассылка.

Вот пример того, как мы оформили и запустили эти ресурсы:

http://vk.com/dobiz

http://blog.callbackkiller.ru

Мы привлекаем потенциальных клиентов на бесплатный продукт, они начинают читать нас, учиться и в итоге какая-то часть становится клиентами. Главное – это выстраивание эмоционального контакта с аудиторией. Т.е. не только полезные посты, а вовлекающие и рассказывающие историю нашего развития и нашего движения.

ссылка на оригинал статьи http://megamozg.ru/post/17994/

Навыки .NET-разработчика России и США, в чем разница?



Статья Навыки .NET-разработчика была первым моим аналитическим исследованием востребованности навыков на рынке труда, в котором я показал потребности близкого к нам российского рынка в специалистах моей профессии. В этом материале я представляю сравнение с зарубежным рынком. Говорят, что наш IT-рынок в целом и используемые нами технологии в частности отстают от Запада на несколько лет. Давайте вместе посмотрим «за рубеж» и попробуем понять, так ли это и есть ли нам чему поучиться.





Подготовка к анализу


Предыдущий анализ потребовал практически вручную обработать 300 вакансий, что оказалось крайне трудоемкой и слишком рутинной работой. Поэтому сейчас у меня на руках не только результаты нового исследования, но и усовершенствованные инструменты! Я реализовал утилиту, при помощи которой текст вакансий загружается с целевого сайта, затем разбирается на отдельные слова и словосочетания, а затем по специальному словарю преобразуется в навыки. Предполагаю развивать утилиту и дальше, добавляя при необходимости новые адаптеры к различным сайтам вакансий, и обучая программу, помогая ей сопоставлять те или иные встречающиеся в вакансиях выражения навыкам.

Новый инструмент помог мне осилить в этот раз более 500 вакансий, из которых в 430 случаях искали специализированных .NET-разработчиков, а 70 лишь косвенно касались .NET. Суммарно обработано порядка 15000 слов и 550 различных навыков.

Зарубежные вакансии я брал с популярных ресурсов Stack Overflow Careers и Monster.com.

Если вам захочется меня проверить и подготовить собственную аналитику, промежуточные «сырые» данные статистики вы найдете в Excel-файле: OneDrive/USA-net developer.xlsx.


Репетиция




Впервые о результатах этого исследования я рассказал на конференции SkillsWiki ".NET-разработчик глазами работодателей России и зарубежья". Тогда я и собрал первую обратную связь по моим выкладкам и выводам. В частности, слушателей заинтересовали результаты исследования, но они захотели получить больше различных срезов и выводов по приведенному сравнению между Россией и США. Кстати, меня также спрашивали про аналогичное исследование по менеджерам, одну из тем моих будущих исследований.

Что ж, я надеюсь не подвести и удовлетворить и ваше любопытство, начнем!


Рейтинг востребованных навыков


Как и ранее, первым делом ознакомимся с топ-10 самых популярных навыков по рынку труда. Для удобства восприятия в рейтинге все навыки разделены на 3 группы: технологии, профессиональные (hard) и общие компетенции (soft skills).


Рейтинг технологий




Как видим, различия в популярности технических навыков малозначительны, чего не скажешь о зарплате. В левой части по России зарплата указана в рублях в месяц, а в правой по США – в долларах в год, то есть ровно так, как и указывается в описании вакансий. Не спешите пересчитывать доход ASP.NET-разработчика США на наши рубли. Я уже это сделал за вас: получается около 380 000 рублей в месяц по текущему курсу валюты. А если серьезно, то прямое сравнение здесь не очень уместно. Во-первых, различное налоговое законодательство: например, в США выплаты могут составлять третью часть дохода. Во-вторых, для полноценного сравнения нужно учитывать уровень жизни в целом, а это уже отдельная большая тема. Поэтому предлагаю сравнивать зарплаты относительно друг друга только в рамках одной страны.

Вернемся к рейтингу востребованности (популярности) навыков. И все же в нем можно отметить небольшие расхождения:

  • Опыт работы с Windows Forms не вошел в топ-10 навыков США, так как такое требование встречается всего в 4% вакансий. Статистика по рынку США только подтверждает, что эта технология относится к разряду умирающих.
  • Знание ASP.NET MVC требуется только в 56% вакансий. Принимая во внимание это и низкую популярность Windows Forms, возникает вопрос: может быть, в США меньше требуется разработчиков Front-end в целом – или же это место занимают другие технологии? Суммарно ASP.NET, ASP.NET MVC и Windows Forms встречаются в 64% вакансий, вместе с упоминанием JavaScript или его frameworks уже 76%, что уже вполне сопоставимо с российскими вакансиями, где участие в разработке Front-end требуется в 78% случаев. Построение рейтинга технологий по оставшимся 24% показывает, что наиболее популярные среди них навыки – это знание Transact-SQL и SQL Server, а также тестирование. При выборочном просмотре предложений видно, что это вакансии лидеров команд разработки, разработчиков инфраструктуры и Back-end.
  • В США Entity Framework не попал в топ-10, так как встречается только в 8.5% вакансий. Даже вместе со всеми остальными встретившимися технологиями доступа к данным процент едва достигает 12.5%. Возможно, в вакансиях США работодатели по каким-то причинам не считают важным уточнять конкретные реализации ORM. Тем не менее, знание SQL Server требуется более чем в половине вакансий.
  • Отдельно стоит упомянуть JavaScript frameworks, которые набирают обороты и в США уже попали в топ-10, так как встречаются в каждой десятой вакансии. Самым распространенным оказался angular.js (упомянут в 29 вакансиях), следом за ним с примерно одинаковой популярностью идут backbone.js, knockout.js и node.js.



JavaScript framework Популярность, %
angular.js 6,7
backbone.js 3
knockout.js 2,3
node.js 2,3
ember.js 1,4
ext.js 0,7
react.js 0,7
flux.js 0,2
marionette.js 0,2
require.js 0,2
underscore.js 0,2



Рейтинг профессиональных навыков




В требованиях к профессиональным навыкам отличия гораздо более яркие.

Во-первых, сразу бросается в глаза обилие требований к навыкам повышения качества не только программного кода, но и итогового продукта: в частности, навыки тестирования (не только автоматизированного, но и ручного), Unit-тестирования, TDD и Code Review. Все эти навыки крайне редко встречаются в требованиях работодателей к российским разработчикам. В США в целом в гораздо большей степени интегрированы разработка и тестирование, что можно видеть не только на примере этой статистики, но и по крупным корпорациям. Например, это новости прошлого года о крупных сокращениях тестировщиков в Microsoft по инициативе нового генерального директора Сатья Наделлы, который говорил об ответственности за качество приложений самих разработчиков.

Во-вторых, заметная роль отводится пониманию Agile-методологий и умению работать по этим принципам в командах. В США Agile перешел из разряда новомодных тенденций в рабочий инструмент.

Также у меня сложилось впечатление, что в США в меньшей степени уделяется внимание навыкам чтения чужого кода.


Рейтинг общих компетенций




В рейтинге общих навыков различия наиболее значимы. Вполне логично отсутствие востребованности в знании английского языка в США. Тем не менее, есть и содержательные отличия:

  • Навыки коммуникаций у разработчика США занимают основное место, так как требуются практически в каждой третьей вакансии, когда у нас всего в 8% вакансий, а также уметь излагать понятно свои мысли в 4% случаев.
  • Также от американских разработчиков требуют такой важный навык как «problem solving», в совокупности с «working with deadlines» и «detail-oriented». Это позволяет понять, что разработчик должен уметь действовать не только техническими методами, решать бизнес-задачу, ориентироваться на пользователя и его потребности, а не только на код.


В целом рынок США ориентируется не просто на технического специалиста со знанием дела, умением проектировать архитектуру, знанием различных инструментов и подходов, способностью проектировать тесты на разрабатываемый функционал и непосредственно тестировать его, но и своего рода консультанта с технической экспертизой. В России подобное встречается довольно редко, как правило, это две разные профессии.


Интересные факты


Некоторые интересные выводы можно сделать только по статистике, которая скрывается под пиком айсберга популярных навыков.

Например, меня, как человека, выпустившего приложение для Windows Phone заинтересовало, насколько популярна разработка под те или иные платформы среди .NET-разработчиков? Оказалось, что и здесь платформа Android опережает Windows Phone. Опыт разработки, в том числе под Android, предполагался в 11 вакансиях против всего 3 на Windows Phone!

Мобильная платформа Популярность, %
Android 2,5
Windows Phone 0,7
iOS 0,2


Также видно, что постепенно развиваются облачные технологии. Суммарно технологии Microsoft и Amazon требуются в 6,7% вакансий (29 шт.). Востребованность технологий Amazon и Microsoft отмечает и Gartner: Microsoft — the only vendor named a leader in Gartner Magic Quadrants for IaaS, Application PaaS, and Cloud Storage.

Облачная технология Популярность, %
Windows Azure 3,5
Amazon Elastic Compute Cloud 1,6
Amazon Web Services 1,6


Явно прослеживается прирост вакансий, связанных с обработкой больших массивов данных (Big Data). Например, замечено, что на рынке США присутствуют позиции Data Scientist, тогда как в России отсутствуют вовсе (на момент прошлого анализа). Примечательно, что сам термин Big Data в вакансиях США практически не используется и был замечен только в 1 вакансии.


Детализация по рынку США


Ниже представлены наиболее высокооплачиваемые комбинации навыков. В рейтинг попали 3 сочетания распространенных навыков, позволяющих найти вакансии с доходом в среднем 130 000$ в год.

Комбинация навыков Описание
Design patterns, Multithreading, OOP, Software architecture, SQL Server, WCF, XML/XSLT Наличие опыта построения архитектуры всего приложения, сервисов и базы данных.
ASP.NET, Design patterns, HTML/JavaScript/CSS/JQuery/AJAX, Oracle, SQL Server, WCF, XML/XSLT Опыт разработки ASP.NET-приложения, верстка Front-end, умение работать со службами и базами данных.
IIS, Oracle, PL/SQL, Source control, TFS, Visual Studio, WCF Опыт разработки и развертывания веб-служб, работа с базами данных, написание PL/SQL-процедур.


В рейтинге самых популярных навыков по количеству упоминаний в вакансиях первое место уверенно занимает классическая связка ASP.NET, HTML/JavaScript/CSS/JQuery/AJAX, SQL Server/Transact-SQL. Она встречается сразу в 130 вакансиях (более 30%). Остальные комбинации навыков лишь дополняют ее в различных вариациях. Для сравнения наиболее популярная связка вместе с применением WPF: WPF, Design, Design patterns, SQL Server/Transact-SQL – упоминается лишь в 9 вакансиях (около 2%).

Ниже представлен рейтинг навыков по математическому ожиданию, иным словами, попытаемся понять соотношение популярности навыка и его оплачиваемости.

Навык Математическое ожидание, $
ASP.NET 58 316
SQL Server/Transact-SQL 54 550
HTML/JavaScript/CSS/JQuery/AJAX 53 200
Design 29 135
Design patterns 28 713
SQL 27 753
Web services 24 198
Team player 23 105
WCF 22 626
Testing 22 594
Communication skills 21 523
OOP 20 379
XML/XSLT 19 740
Agile 19 719
Visual Studio 18 512
Software architecture 17 995
Documentation 15 506
Problem solving/Troubleshooting 14 852
Unit tests 14 483
SOAP 12 415
WPF 11 656


Данный рейтинг направлен не на выявление самых оплачиваемых или популярных навыков, а тех, которые позволяют обеспечить лучший доход в среднем по рынку. На него стоит ориентироваться прежде всего тем, кто только входит в профессию и хочет получить в первую очередь востребованность, а уже во вторую высокий доход.

Например, можно заметить по первым графикам, что зарплаты ASP.NET и WPF-разработчика в США и России находятся примерно на одном уровне, но огромная разница в их популярности делает ASP.NET гораздо более ликвидным вложением в развитие нежели WPF.

При анализе результатов появилась гипотеза, что многие из навыков могут быть востребованы только в определенном зарплатном диапазоне и их востребованность с ростом зарплаты постепенно снижается или наоборот возрастает. Попробуем простроить график популярности навыков для каждого зарплатного предложения. Здесь и далее будем использовать технологические навыки, поскольку для остальных навыков статистика гораздо меньше и сложно проследить какие-либо корреляции.



Такой график сложно анализировать, поскольку по определенным зарплатным предложениям слишком мало вакансий, поэтому агрегируем данные по диапазонам зарплат, чтобы избежать провалов, и заодно уберем с графика отображение популярности навыков для максимальных и минимальных зарплат.



Уже гораздо лучше, но можно заметить, что многие графики похожи на нормальное распределение, как и график количества вакансий.



Поэтому прежде стоит проделать еще один шаг: преобразовать количество вакансий в процент вакансий, в которых навык встречается.



Поскольку сильных всплесков не наблюдается, разве что в диапазоне в 110 000 заметен сильный перекос в сторону применения WPF и XML/XSLT и снижения доли SQL Server и HTML-технологий, то стоит обратить внимание на линейный тренд.



Заметно, что есть навыки, требования к которым стабильны в любой ценовой категории – это ASP.NET и HTML/JavaScript/CSS. Есть группы навыков, спрос на которые снижается с ростом зарплаты: SQL Server/Transact-SQL, JavaScript frameworks и WPF. И навыки, набирающие популярность: WCF, Web Services, SOAP, XML/XSLT, IIS и совсем незначительно Source Control.

По графикам заметно, что в определенные моменты времени навыки набирают популярность или ее теряют, поэтому стоит также найти наиболее популярные навыки в каждом из диапазонов.

50 000-59 999$ 60 000-69 999$ 70 000-79 999$
SQL Server/Transact-SQL 82 SQL Server/Transact-SQL 60 HTML/JavaScript/CSS/JQuery/AJAX 68
ASP.NET 82 HTML/JavaScript/CSS/JQuery/AJAX 55 ASP.NET 64
HTML/JavaScript/CSS/JQuery/AJAX 73 ASP.NET 45 SQL Server/Transact-SQL 56
Visual Studio 45 SQL Server/Transact-SQL 40 XML/XSLT 36
VB.NET 36 Web services 30 Web services 20
Adobe Photoshop 27 XML/XSLT 25 Visual Studio 20
PHP 27 Visual Studio 20 WPF 20
JSON 27 JavaScript frameworks 20 VB.NET 16
SQL Server Management Studio 27 subversion 20 WCF 16
Adobe Creative Suite 27 VB.NET 15 Entity Framework 16
80 000-89 999$ 90 000-99 999$ 100 000-109 999$
ASP.NET 65 ASP.NET 77 HTML/JavaScript/CSS/JQuery/AJAX 71
SQL Server/Transact-SQL 65 SQL Server/Transact-SQL 71 SQL Server/Transact-SQL 67
HTML/JavaScript/CSS/JQuery/AJAX 54 HTML/JavaScript/CSS/JQuery/AJAX 58 ASP.NET 60
Web services 32 WCF 31 Web services 29
XML/XSLT 24 Web services 21 Visual Studio 24
WCF 19 XML/XSLT 17 WCF 21
WPF 14 Entity Framework 15 XML/XSLT 14
SOA 14 Visual Studio 15 mobile dev 14
Entity Framework 11 VB.NET 13 SOAP 12
SOAP 11 TFS 13 JSON 12
110 000-119 999$ 120 000-129 999$ 130 000-139 999$
ASP.NET 62 SQL Server/Transact-SQL 72 HTML/JavaScript/CSS/JQuery/AJAX 80
Visual Studio 38 HTML/JavaScript/CSS/JQuery/AJAX 67 ASP.NET 80
SQL Server/Transact-SQL 35 ASP.NET 61 WCF 40
XML/XSLT 35 WCF 44 SOAP 40
Web services 31 Web services 39 Visual Studio 40
WPF 31 SOAP 22 XML/XSLT 40
HTML/JavaScript/CSS/JQuery/AJAX 27 SOA 22 TFS 40
LINQ 27 Sharepoint 22 IIS 40
SOAP 23 Orchard CMS 17 VB.NET 40
HTTP/TCP 23 Visual Studio 11


По этим данным видны следующие интересные моменты:

  • Неожиданно, что VB.NET хоть и не сильно популярен, но стабильно входит в число популярных технологических навыков вплоть до уровня дохода в 100 000$.
  • WPF в некоторых ценовых диапазонах, в основном до 90 000$ и в диапазоне 110-120 000$, имеет популярность, но в общем рейтинге и в наиболее массовом диапазоне 90 000-100 000$ не обладает весом.
  • Доля навыков по работе с веб-службами растет вместе с повышением заработной платы. В частности, WCF набирает популярность до 44% в некоторых диапазонах.


В остальном список топ-10 навыков для всех диапазонов зарплат не преподнес сюрпризов: ключевые места удерживают именно те навыки, которые и попали в общий список топ-10 навыков.


Заключение


На этом обзор востребованных навыков .NET-разработчика в США и России завершен. Пишите комментарии и пожелания на будущие исследования, также приветствуется взвешенная критика.

В следующем обзоре будет рассмотрен Java-разработчик: данные уже подготовлены, было проанализировано порядка 20000 навыков – так что ждите статьи!

ссылка на оригинал статьи http://habrahabr.ru/post/263757/