Статистика самых востребованных специалистов и дорогих вакансий в ИТ Беларуси, белорусский след в скандале с Hacking Team, разные ништяки из области функционального программирования, а на десерт — пронзительная, как слеза, исповедь чёрного сеошника.
1. Где в ИТ самый длинный рубль?
Самые востребованные специалисты и самые дорогие вакансии в ИТ:
«Айтишник» «айтишнику» рознь — заметят некоторые. И будут правы. В сфере информационных технологий, как и в целом в экономике, есть разделение на более доходные специальности и менее доходные. Развивая тему популярных у нас в стране языков программирования, изучим рынок труда на предмет востребованности ИТ-специалистов в разрезе специальностей и зарплат.
Одним из самых популярных ресурсов для поиска работы в Беларуси можно назвать сайт http://jobs.tut.by. Вакансии, размещенные здесь, и стали предметом исследования.
2. Как в Беларуси стать программистом?
Недавно ИT-эксперты ответили на все типичные вопросы абитуриентов и даже написали подробную брошюрку для выпускников школ. Отныне, если кто-то будет в очередной раз мучить вас этим вопросом — кидайте в него этой ссылкой.
Одно что мне не понравилось, что пункт номер 1 этой вводной статьи — «Сколько я буду зарабатывать?». Отличный вопрос белоруса для начала знакомства со всеми рекрутёрами мира.
А теперь выдержка из комментариев к этой новости — счастливый папаша:
Мои дети учатся в БГУИР на КСиС и работают с третьего курса. На пятом курсе они получали уже 2000$ в месяц... В БГУИР идут лучшие и там программирование ближе к практике, им мало приходится переучиваться, все остальное дают в БГУИР.
Александр Мартинкевич правильно сказал в прошлый раз, что быть программистом и учиться на программиста — разные вещи. Учиться программировать надо еще в школе. Мои ученики, которые программировали в школе, получают не меньше 40 миллионов рублей в месяц в Беларуси, а «выездные» превосходят по зарплате Сноудена. Я знаю многих ребят учившихся в Гомеле и Мозыре — они получают столько, сколько им и не снилось, но это благодаря их учителям в Мозыре и Гомеле. Поступив в Гомельский государственный университет, можно получать гораздо больше, чем закончив по этим же специальностям БГУ или БГУИР.
В самой методичке меня зацепило следующее утверждение Евгения Пешкура, заместителя директора по подготовке персонала EPAM Systems:
На мой личный взгляд, вы НЕ программист, если не способны в компьютерной игре http://robocode.sourceforge.net/ создать танк, побеждающий стандартный набор примитивных танков.
Ну, что, %username%, как тебе этот дешевый способ проверить себя на «программистость» своей души и тела?
Если решитесь бросить вызов игре — вот отличная точка для старта (часть 1, часть 2).
3. Мелкие новости летнего байнета
Выкатываю ворох местных новостей одной транзакцией:
- Краткий конспект выступления Алены Владимировской в Минске (бывший HR Mail.ru): как получить хорошую работу во времена кризиса
- Как PandaDoc сделал заявку на попадание в клуб «$1 млрд»
- Plot chat, или как мы заняли первое место на wth.by
- Клиенты МТС нечаянно «задосили» его корпоративный сайт
- JetCat Games: Новые иммиграционные правила выдавливают нас из Литвы
- Белорусский проект «Стартап на миллиард» получает грант от Facebook на развитие
- История роутинга в проекте MAPS.ME
Отдельной строкой новости местного ИБ — как многие уже знают, недавно завалили на бок известную в узких кругах Hacking Team (вот краткая история для тех, кто не в курсе), так вот эта самая история засветила белорусский след:
В Октябре 2014 года для сотрудников ОАЦ итальянская компания Hacking Team проводила презентацию своего продукта Galileo (Da Vinci). Об этом свидетельствует отчёт Hacking Team, который был найден в архиве документов, украденных у компании.
На презентации присутствовали сотрудники Оперативно-аналитического центра при президенте Беларуси (ОАЦ), одного из которых звали Алексей Цымбалай (Alyaksey Tsymbalay).
Байнет: Оперативно-аналитический центр интересуется шпионским ПО http://t.co/GVTaFvv55d
— Andrew Lucky (@Luckkyyy) July 9, 2015
4. Использование Lisp в продакшене
Сама стать вот здесь:
Вопреки распространенному мнению, Lisp это невероятно практичный язык для создания продакшн-систем. Вообще говоря, вокруг нас много Lisp-систем: когда вы ищите авиабилет на Hipmunk или едете в метро в Лондоне, используются Lisp-программы.
Наши Lisp-сервисы концептуально представляют собой классическое ИИ-приложение, которое функционирует на огромной куче знаний, созданных лингвистами и исследователями. Его главный используемый ресурс это ЦПУ, и это один из крупнейших потребителей вычислительных ресурсов в нашей сети.
5. Искусство командной строки
Большая и солидная статья о святой мощи «чорного» экрана. Вместо традиционных цитат, выхвачу первый же комментарий к этому материалу:
Вот так живешь, считаешь себя неплохим таким знатоком Linux, а тут раз и калькулятор в баше. А вообще, спасибо за статью, открыл несколько новых вещей для себя.
6. Слово на букву «М»
Монады уже здесь:
Про монаду ходит множество мемов и легенд. Говорят, что каждый уважающий себя программист в ходе своего функционального возмужания должен написать хотя бы один туториал про монаду — недаром на сайте языка Haskell даже ведётся специальный таймлайн для всех отважных попыток приручить этого таинственного зверя. Бывалые разработчики поговаривают также и о проклятии монад — мол, каждый, кто постигнет суть этого чудовища, начисто теряет способность кому-либо увиденное объяснить. Одни для этого вооружаются теорией категорий, другие надевают космические костюмы, но, видимо, единого способа подобраться к монадам не существует, иначе каждый программист не выдумывал бы свой собственный.
Действительно, сама концепция монады неинтуитивна, ведь лежит она на таких уровнях абстракции, до которых интуиция просто не достаёт без должной тренировки и теоретической подготовки. Но так ли это важно, и нет ли другого пути? Тем более, что эти таинственные монады уже окружают многих ничего не подозревающих программистов, даже тех, кто пишет на языках, никогда не считавшихся «функциональными». Действительно, если приглядеться, то можно обнаружить, что они уже здесь, в языке Java, под самым нашим носом, хотя в документации по стандартной библиотеке слово «монада» мы едва ли найдём.
Именно поэтому важно если не постичь глубинную суть этого паттерна, то хотя бы научиться распознавать примеры использования монады в уже существующих, окружающих нас API. Конкретный пример всегда даёт больше, чем тысяча абстракций или сравнений. Именно такому подходу и посвящена эта статья. В ней не будет теории категорий, да и вообще какой-либо теории. Не будет оторванных от кода сравнений с объектами реального мира. Я просто приведу несколько примеров того, как монады уже используются в знакомом нам API, и постараюсь дать читателям возможность уловить основные признаки этого паттерна. В основном в статье пойдёт речь о Java, и ближе к концу, чтобы вырваться из мира legacy-ограничений, мы немного коснёмся Scala.
Дополнительно — Потоковая обработка данных при помощи Akka:
Все привыкли ассоциировать обработку больших данных с Hadoop (или Spark), которые реализуют парадигму MapReduce (или его расширения). В этой статье я расскажу о недостатках MapReduce, о том, почему мы приняли решение отказываться от MapReduce, и как мы приспособили Akka + Akka Cluster на замену MapReduce.
В качестве догрузки:
«Key punching on a large scale» — I think we finally have a good definition of «big data» pic.twitter.com/WolZJNYQQp
— Evgeny Morozov (@evgenymorozov) July 10, 2015
7. Уголок юного жабаскриптера
- Airbnb JavaScript Style Guide()
- Очень полезный список визуализаций (пакетов), основанных на D3. d3.js — это, видимо, лучшее, что есть для JavaScript в этом плане
- Edge.js связывает Node и .NET воедино нсразу на трех платформах
- Типичные вопросы на интервью по Node.js
8. Исповедь покаявшегося сеошника
19 мая 2015 года на Inbound.org — крупном зарубежном сообществе маркетологов — вышла статья Confessions of a Google Spammer. Статья буквально взорвала аудиторию и быстро разошлась по всему интернету. Это настоящая исповедь бывшего сторонника черного SEO — неприкрытая история беспринципного интернет-бизнесмена, который находил и долгое время успешно эксплуатировал «дыры» в поисковых алгоритмах.
Автор статьи — Джефф Дейч. Джефф — глава отдела маркетинга в Ptengine. По его собственным словам, он написал эту статью по двум причинам:
- Чтобы предупредить обо всех опасностях черного SEO.
- Чтобы объяснить, почему же он сдался, и почему так важно заниматься входящим маркетингом.
Это перевод его популярной статьи-исповеди, которая начинается так:
Перед тем, как заняться входящим маркетингом, я, бывало, зарабатывал по $50 000/месяц, используя методики поискового спама. Моя рабочая неделя составляла максимум 10 часов. Говорю вам от чистого сердца: никогда и ни за что не следуйте по моему пути.
И сейчас я расскажу почему...
Как бы не клял свою судьбу черный оптимизатор, дырки в поиске продолжают находить и наживаться, и вот вам самый свежий пример этого:
Файлы PDF хорошо манипулируют поисковой выдачей Google — https://t.co/R11xQ1pW9E pic.twitter.com/g0DAXsxk3F
— Журнал Хакер (@XakepRU) July 10, 2015
9. Полиморфные связи для самых маленьких
Сабж расположен вот здесь:
Недавно, делая очередной функционал на одном из проектов, я столкнулся с немного необычными связями в реляционных СУБД, у которых, как оказалась позже, есть замысловатое название — Полиморфные связи. Что это такое, как и где их применять, я попытаюсь объяснить в данной статье.
В комментариях дополняют:
Тогда уж к ряду следовало бы упомянуть про «SQL Antipatterns: Avoiding the Pitfalls of Database Programming» от Bill Karwin.Там есть раздел, посвященный полиморфным ассоциациям.
Кстати, на stackoverflow он часто отвечал на вопросы по этому поводу, разбирая всё на примерах. Вот даже презентация есть.
Самый главный минус полиморфных связей, как уже сказали — отсутствие контроля целостности данных. Его придется реализовывать программно. Всё-таки этот тип связей не совсем вписывается в концепцию реляционных баз данных. Ну и когда будете проектировать БД, нужно будет подумать над тем, захотите ли Вы в дальнейшем делать общую выборку по таблице с полиморфными связями.
И если вдруг захотите, а связанных таблиц у Вас будет больше, например, 5-ти, подумайте, как будет выглядеть сам запрос и сколько JOIN'ов нужно будет сделать, а самое главное — как это скажется на производительности.
10. Заключительное видео
Самым популярным докладом на DevCon 2015 оказался рассказ Дмитрия Сошникова о практическом применении F#. Он назывался так: Магия F# для обработки данных: монады, провайдеры типов и немножко теории категорий
Автор: Дмитрий Сошников, Microsoft
Продолжительность бла-бла-бла: 1 час 10 мин.
Краткое описание:
На сегодняшний день практически все слышали о функциональном языке программирования F#, но не все включили его в свой набор инструментов разработки. В этом докладе мы рассмотрим серию практических примеров, показывающих преимущества F# для обработки (больших) данных. Поговорим о монадах параллельно-асинхронных вычислений для эффективного доступа к web, об использовании распределенных вычислений в облаке с помощью MBrace, о провайдерах типов и об интеграции с R для решения задач машинного обучения.
И если уж мы заговорили о платформе .Net:
A Complete List of .NET Open Source Developer Projects http://t.co/NBA3HDR8Pq via @scottge1985
— Alex Krakovetskyi (@msugvnua) July 11, 2015
*Мнение колумнистов может не совпадать с позицией редакции.
**В цитировании сохранены авторская орфография и пунктуация.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.