К слову сказать, компания Bloomberg, где я работаю, сейчас имеет приличное количество открытых вакансий для интернов, недавних выпускников и, конечно, матерых профи.
Например, можно зайти в наш раздел вакансий, указать в «Job Function» категорию «Research and Development» (R&D) и получить список открытых позиций для программистов во всех наших офисах.
Я работаю в Лондонском офисе, и поэтому многое из этого поста относится к лондонскому R&D, но в целом, все верно и для остальных офисов.
Например, конкретные вакансии в подразделение «Trading Systems», где работаю я: раз, два и три.
Что важно, по многим вакансиям (например, нашим) не требуют специальных знаний из области финансов, трейдинга и т.д. Если они есть – замечательно, но в целом мы просто ищем грамотных инженеров, или по-русски говоря, программистов.
Подавляющее количество позиций – это С++ и UNIX, но, например, в мобильную команду (iPhone/iPad/Android/Blackberry) также приглашают специалистов по Objective-C и Java.
Я координирую процесс найма в нашу группу, поэтому знаю процесс чуть более глубоко, и могу подсказать детали интересующимся.
Как подать резюме? Нет ничего проще – просто послать его через сайт. Многие думают, что такие заявки никто не читает – это неверно. Я сам устроился точно таким же образом. Все читают. Другое дело, часть отсеивается на стадии начального анализа присланных резюме, хотя, я думаю, что на этой стадии отсеивают только полностью неадекватные заявки, когда люди даже не пытаются прочитать требования и хоть как-то отразить это в своем резюме.
Какие шансы пройти? Ничего гарантировать нельзя, но если у вас 4.0 и более баллов на Brainbench на тесте по С++ (не забудьте дать ссылку на профайл в резюме) и более чем пятилетний постоянный опыт больших проектов на С++ , то шанс добраться до телефонного интервью весьма велик. А если вдобавок у вас есть рейтинг на TopCoder’e, CodeForces или что-то в этом роде (также не забудьте дать ссылку), то шансы и на личном интервью очень даже неплохие.
Теперь самая интересная часть марлезонского балета – а как это все работает для граждан России и бывших соцреспублик, у которых нет европаспорта? Могу сказать, что Блумберг может предоставить визовое спонсорство для понравившегося кандидата.
Не надо бояться. Даже телефонное интервью – это хороший опыт. Те, кто никогда этого не делал на английском, но хочет – однозначно стоит попробовать.
Зарплаты? Блумберг всегда адекватен к текущему уровне зарплат на рынке. Насколько я знаю, сейчас зарплаты программистов в Лондоне могут колебаться от 35K до 75K фунтов в год (50K-100K USD) минус 20% налогов Великобритании. Вообще, для ориентации по заплатам и вакансиям можно посетить jobserve.co.uk или monster.co.uk.
А как вообще работается в Блумберге? Интересно (объемы внутренних технологий объять невозможно), динамично (недельные релизы прямиком в онлайновый продакш), разнообразно (тренинги, возможность не уходить в менеджмент, если не хочется), престижно.
Ну и под занавес, как говорится, чтобы два раза не вставать – у нас в Лондонском офисе 22-го июля будет Bloomberg Technology Open Evening – день открытых дверей для разработчиков. Однозначно понимаю, что не все россияне могут так чисто взять и на денек ради этого сюда приехать, на всякий случай – вдруг кому будет-таки полезно, и кто захочет прийти – могу сделать инвайт (пишите на alexander@demin.ws).
суббота, 26 июня 2010 г.
Макросы для определения компилятора, библиотеки, операционной системы или архитектуры
Очень полезный проект - http://predef.sourceforge.net/.
В одном месте собрано большое количество макросов для определения компилятора, библиотеки, операционной системы, архитектуры и стандарта языка.
В одном месте собрано большое количество макросов для определения компилятора, библиотеки, операционной системы, архитектуры и стандарта языка.
Ярлыки:
инструменты,
приемчики
понедельник, 21 июня 2010 г.
Отладчик в Visual Studio 2010
В отладчике Visual Studio 2010 появилась просто фантастическая штука - отображение трассируемой переменной не где-то в особом окне, а прямо на тексте программы. Это позволяет обращать внимание на переменную, только когда доходишь до ее места в программе.

Ярлыки:
visual studio
Лондонское метро - live map
Не уверен, что это будет кому-либо полезно за пределами Лондона, но тут меня поразил сам факт существования подобного сервиса.
Живая карта Лондонского метро - http://traintimes.org.uk/map/tube/
Тут видно движение отдельных поездов.
И опять-таки, идея нереволюционная. Но! Самое важное, что такой сервис есть благодаря public API, официально поддерживаемый Лондонским Метро, которая является полугосударственной структурой. Теперь ясно, откуда такое изобилие приложений для айфона и андроида, предоставляющих разнообразную on-line информацию о метро. Я то думал, они просто парсят страницы официального сайт, а тут, оказывает, все дается на тарелочке.
Живая карта Лондонского метро - http://traintimes.org.uk/map/tube/
Тут видно движение отдельных поездов.
И опять-таки, идея нереволюционная. Но! Самое важное, что такой сервис есть благодаря public API, официально поддерживаемый Лондонским Метро, которая является полугосударственной структурой. Теперь ясно, откуда такое изобилие приложений для айфона и андроида, предоставляющих разнообразную on-line информацию о метро. Я то думал, они просто парсят страницы официального сайт, а тут, оказывает, все дается на тарелочке.
Ярлыки:
метро
воскресенье, 20 июня 2010 г.
Блог на английском для носителя русского языка?
Вы пробовали вести блог на английском?
Я уже долгое время тщетно пытаюсь это делать. Но дело как-то не идет. Каждый пост занимает в разы больше времени, посты приходится укорачивать, упрощать язык ("эдак" уже не завернешь). А самое, что внутренне неприятно - я четко вижу разницу в качестве языка. Вместо более-менее живого и, надеюсь, интересного, способа выражения мыслей, что я себе могу позволить на русском (хех, все-таки 30 лет практики), на английском получается какое-то сухое школькое сочинение, часто с неочевидными ошибками. И уж точно выглядещее, как НЕклево..
Кстати, а вы знаете интересные блоги на английском (хотя бы технические), которые пишут носители русского? (конечно, если человек вырос в английской среде с 5-6 лет, то это не в счет).
Я уже долгое время тщетно пытаюсь это делать. Но дело как-то не идет. Каждый пост занимает в разы больше времени, посты приходится укорачивать, упрощать язык ("эдак" уже не завернешь). А самое, что внутренне неприятно - я четко вижу разницу в качестве языка. Вместо более-менее живого и, надеюсь, интересного, способа выражения мыслей, что я себе могу позволить на русском (хех, все-таки 30 лет практики), на английском получается какое-то сухое школькое сочинение, часто с неочевидными ошибками. И уж точно выглядещее, как НЕклево..
Кстати, а вы знаете интересные блоги на английском (хотя бы технические), которые пишут носители русского? (конечно, если человек вырос в английской среде с 5-6 лет, то это не в счет).
Ярлыки:
мысли
fill_n vs memset
В данный момент на текущей работе я занимаюсь тем, что называется - высокоуровневое серверное программирование на С++. У меня уже есть все необходимые библиотеки низкого уровня и среднего (более того, если я отказываюсь по какой-то причине от готовой библиотеки, меня могут потом попросить это объяснить), и огромное количество библиотек высокого уровня, уровня бизнес-логики. К чему все это?
А вот к чему. Если разобраться, что я могу писать код вообще без С-шных штучек типа массивов, malloc/free, старого способа приведения типов, строчек с нулем на конце и т.д. Получается, что мой диалект С++ можно урезать на тему всего, что я перечислил. Просто убрать, и все.
И от этого будет только польза. Сколько ошибок потенциально я НЕ сделаю в арифметике указателей (ее просто не будет)? Вместо того, чтобы мотивировать человека "разумно использовать наследия С в С++", их надо просто выключить. Конечно, сразу сузится и круг решаемых задач, но мой, кстати, не самый узкий круг, можно покрыть таким вот урезанным в сторону "правильного" С++ диалектом С++.
Например, как мне кажется, функция memset() в мире С++ в целом годится разве что для обнуления. Использование какой-либо иной константы-заполнителя принципиально приближает нас к проблемам с памятью. Хотите, например, "эффективно" заполнить строку пробелами, и зарядите для этого memset(), а потом вам неожиданно придется работать с многобайтовыми кодировками, и этот пробел, записанный через memset(), может стать источником проблем.
Так что используйте алгоритм "fill_n()" вместо "memset()". Может быть неэффективен? Может, а может и нет. Зато уж точно безопасен с точки зрения типизации.
А вот к чему. Если разобраться, что я могу писать код вообще без С-шных штучек типа массивов, malloc/free, старого способа приведения типов, строчек с нулем на конце и т.д. Получается, что мой диалект С++ можно урезать на тему всего, что я перечислил. Просто убрать, и все.
И от этого будет только польза. Сколько ошибок потенциально я НЕ сделаю в арифметике указателей (ее просто не будет)? Вместо того, чтобы мотивировать человека "разумно использовать наследия С в С++", их надо просто выключить. Конечно, сразу сузится и круг решаемых задач, но мой, кстати, не самый узкий круг, можно покрыть таким вот урезанным в сторону "правильного" С++ диалектом С++.
Например, как мне кажется, функция memset() в мире С++ в целом годится разве что для обнуления. Использование какой-либо иной константы-заполнителя принципиально приближает нас к проблемам с памятью. Хотите, например, "эффективно" заполнить строку пробелами, и зарядите для этого memset(), а потом вам неожиданно придется работать с многобайтовыми кодировками, и этот пробел, записанный через memset(), может стать источником проблем.
Так что используйте алгоритм "fill_n()" вместо "memset()". Может быть неэффективен? Может, а может и нет. Зато уж точно безопасен с точки зрения типизации.
пятница, 18 июня 2010 г.
Google I/O: all videos
Тут собраны все видео с Google I/O 2010, по категориям.
http://code.google.com/events/io/2010/sessions.html
Мне, например, очень понравилась презентация про новую Java машину с JIT в Android 2.2:
И про язык программирования Go:
http://code.google.com/events/io/2010/sessions.html
Мне, например, очень понравилась презентация про новую Java машину с JIT в Android 2.2:
И про язык программирования Go:
Ярлыки:
google
Подписаться на:
Сообщения (Atom)