Как стать автором
Обновить
33
0

Управление проектами в IT

Отправить сообщение

Как айтишнику найти работу в США и ЕС: 9 лучших ресурсов

Время на прочтение5 мин
Количество просмотров169K
Мировой рынок IT стремительно развивается. С каждым годом профессия разработчика софта становится все более востребованной — уже в 2017 году в мире насчитывался примерно 21 миллион программистов различных направлений.

К сожалению, русскоговорящий рынок IT находится еще на начальной стадии развития — уже есть крупные и успешные проекты, но рынок еще долго не сможет сравняться с европейским и американским, которые производят до 85% всех IT-продуктов мира.
Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии25

Как подготовиться к собеседованию в Google и не пройти его. Дважды

Время на прочтение15 мин
Количество просмотров130K


Заголовок статьи звучит как epic fail, но на самом деле все не так однозначно. Да и в общем и целом эта история закончилась весьма позитивно, хоть и не в Google. Но это уже тема для другой статьи. В этой же статье я расскажу о трех вещах: каким образом проходил мой процесс подготовки, каким образом проходили интервью в Google и почему же на мой взгляд все не так однозначно, как может показаться.
Кому интересно, прошу под кат.
Всего голосов 178: ↑174 и ↓4+170
Комментарии457

Y Combinator рекомендует прочитать в 2016

Время на прочтение4 мин
Количество просмотров24K
«Чтение и личный опыт формируют мировоззрение. И даже если вы не помните самый момент получения опыта или содержания книги, то их влияние на ваше представление о мире непременно остается в Вас. Ваш разум похож на скомпилированную программу без исходного кода — он работает, но не ясно как.»

— Пол Грэм, основатель Y Combinator, программист, инвестор, эссеист



Всего голосов 20: ↑18 и ↓2+16
Комментарии8

Отпуск по-программистски, или как я не поучаствовал в конкурсе по программированию на JS. Часть первая

Время на прочтение12 мин
Количество просмотров24K

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


image


Задача состояла в том, чтобы написать программу на JS, которая будет определять, есть слово с словаре английских слов или нет. Вроде бы просто, но есть пара ограничений, делающих задачу заведомо невыполнимой:
– Словом считается не просто любое правильное слово английского языка, а именно слово, которое есть в предоставленном словаре из 600K+ слов.
– Словаря в момент исполнения программы нет, скачать его нельзя, а размер программы, включая данные, не должен превышать 64К. Внешние библиотеки подключать также нельзя, но файл данных может быть заархивирован.
Благодаря этим условиям вместо однозначного ответа результатом может быть только определение наибольшей вероятности присутствия слова в словаре.


Сразу скажу, что решение я так и не отправил из-за неудовлетворённостью результатом (решение, которое давало хотя бы 80%, я смог поместить только в 120-130К, а без превышения размера в 64К выжал максимум 70%).
Тем не менее опыт считаю достаточно интересным и достойным статьи. Под катом много SQL,JS,Python, нейронные сети, а также печальная правда о производительности CPU на хостинге.

Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии86

Профилирование и оптимизация программ на Go

Время на прочтение25 мин
Количество просмотров92K

Введение


В этой статье я расскажу, как профилировать и оптимизировать приложения на языке Go с использованием встроенных и общих инструментов, доступных в ОС Linux.

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

Я привел такое определение, чтобы сразу отсечь вопросы некорректной работы приложения. В этой статье мы не будем говорить о проблемах мультитредового программирования, о дата-рейсах (англ. data race), о поиске ошибок (англ. debugging). Для всего этого в Go есть свои утилиты и подходы, но оставим эту тему на будущее.



Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии18

Лучшие практики Go, шесть лет в деле

Время на прочтение18 мин
Количество просмотров60K
В 2014 году я выступил на открытии конференции GopherCon с докладом под названием «Go: Best Practices for Production Environments». В SoundCloud мы были одними из первых пользователей Go и к тому времени уже два года писали на нём и поддерживали Go в бою в той или иной форме. За это время мы кое-чему научились, и я попытался поделиться частью этого опыта.

С тех пор я продолжал программировать на Go в течение всего рабочего дня, сначала в командах SoundCloud, отвечающих за операционную деятельность и инфраструктуру, а теперь работаю в компании Weaveworks над Weave Scope и Weave Mesh. Также я усердно трудился над Go kit, набором инструментов для микросервисов с открытым исходным кодом. И всё это время я принимал активное участие в развитии сообщества Go-программистов, встречался со многими разработчиками на митапах и конференциях по всей Европе и в США, коллекционируя их истории успехов и провалов.

В ноябре 2015-го, на шестую годовщину релиза Go, я вспоминал то своё первое выступление. Какие из лучших практик прошли проверку временем? Какие из них устарели или стали неэффективными? Появились ли какие-то новые методики? В марте мне представилась возможность выступить на конференции QCon London, где я рассказал о лучших практиках 2014 года и дальнейшем развитии Go до 2016 года. В этом посте представлена выжимка из моего выступления.

Ключевые положения я выделил в тексте в виде Top Tips — лучших советов.

А вот и cодержание:

  1. Среда разработки
  2. Структура репозитория
  3. Форматирование и стиль
  4. Конфигурация
  5. Разработка программы
  6. Логирование и метрики
  7. Тестирование
  8. Управление зависимостями
  9. Сборка и развёртывание
  10. Заключение
Читать дальше →
Всего голосов 68: ↑63 и ↓5+58
Комментарии19

ABC: Always Be Coding (не переставай программировать)

Время на прочтение5 мин
Количество просмотров75K


Как получить работу инженера?

Давай на чистоту. Ты хороший кандидат на должность инженера? Как ты сам себя оцениваешь? Много ли компаний, в которых ты бывал на собеседованиях? Каково у тебя отношение пройденных интервью к полученным предложениям о работе? Попробуй воспользоваться следующей формулой (это мое сферическое измерение в вакууме, которое не означает ровным счетом ничего):

# x = количество компаний, в которых ты проходил собеседования

# y = количество предложений о работе, которые ты получил

рейтинг = 100 * log(x) * y / x



Если твой рейтинг < 90, обязательно прочти это. Если > 120, возможно, тебе это не нужно, но, все равно прочти.

Читать дальше →
Всего голосов 109: ↑90 и ↓19+71
Комментарии58

Как собеседовать ИТ-специалистов

Время на прочтение2 мин
Количество просмотров33K
Одна из наших основных задач — сделать IaaS простым и понятным. Для этого мы постоянно оптимизируем работу нашего провайдера и рассказываем об этом здесь. Например, мы уже писали о том, как работает API нашего IaaS-провайдера и делились опытом разработки своего DNS-менеджера.

Сегодня мы решили взглянуть на западный опыт и рассмотреть тему найма ИТ-специалистов. Для этого мы оттолкнулись от заметки Реджинальда Брэтуэйта (Reginald Brathwaite) из компании Page Duty и кратко проанализировали инсайты, которые он описал.

Читать дальше →
Всего голосов 48: ↑27 и ↓21+6
Комментарии101

FizzBuzz на TensorFlow

Время на прочтение4 мин
Количество просмотров53K

интервьюер: Приветствую, хотите кофе или что-нибудь еще? Нужен перерыв?


я: Нет, кажется я уже выпил достаточно кофе!


интервьюер: Отлично, отлично. Как вы относитесь к написанию кода на доске?


я: Я только так код и пишу!


интервьюер: ...


я: Это была шутка.


интервьюер: OK, итак, вам знакома задача "fizz buzz"?


я: ...


интервьюер: Это было да или нет?


я: Это что-то вроде "Не могу поверить, что вы меня об этом спрашиваете."


интервьюер: OK, значит, нужно напечатать числа от 1 до 100, только если число делится нацело на 3, напечатать слово "fizz", если на 5 — "buzz", а если делится на 15, то — "fizzbuzz".


я: Я знаю эту задачу.


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


я: ...


интервьюер: Вот маркер и губка.


я: [задумался на пару минут]


интервьюер: Вам нужна помощь, чтобы начать?


я: Нет, нет, все в порядке. Итак, начнем с пары стандартных импортов:


import numpy as np
import tensorflow as tf

интервьюер: Эм, вы же правильно поняли проблему в fizzbuzz, верно?


я: Так точно. Давайте обсудим модели. Я думаю тут подойдет простой многослойный перцептрон с одним скрытым слоем.

Читать дальше →
Всего голосов 132: ↑123 и ↓9+114
Комментарии140

Ищем уязвимости с помощью google

Время на прочтение8 мин
Количество просмотров150K
Любой поиск уязвимостей на веб-ресурсах начинается с разведки и сбора информации.
Разведка может быть как активной — брутфорс файлов и директорий сайта, запуск сканеров уязвимостей, ручной просмотр сайта, так и пассивной — поиск информации в разных поисковых системах. Иногда бывает так, что уязвимость становится известна еще до открытия первой страницы сайта.

Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии14

А если найду? Перелет еще дешевле чем вы уже нашли

Время на прочтение3 мин
Количество просмотров123K
Если вы планируете поездку и уже нашли недорогой перелет, не спешите покупать билеты, потому что сейчас вы найдете билеты еще дешевле. И это не реклама очередного говноагрегатора.

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

Читать дальше →
Всего голосов 123: ↑99 и ↓24+75
Комментарии299

Обновленный Codebattle: игра для программистов

Время на прочтение2 мин
Количество просмотров28K
Привет, Хабр!



Три недели назад мы (дружная команда образовательного проекта Хекслет) опубликовали пост про наш новый проект — игру для программистов Codebattle. Напомню, идея игры очень простая: вам и сопернику дается задача, вы решаете ее на выбранном вами языке. Вы видите код соперника в реальном времени, результаты запуска тестов и можете общаться с ним и зрителями в чате. Кто первый решит задачу (удовлетворит тестам) — тот победил.

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

Встречайте — обновленный Codebattle! Вкратце:

  1. Хабраэффект нам не страшен (тьфу-тьфу-тьфу)
  2. Читерить больше не получится (нельзя подогнать решение под тесты)
  3. Добавлять языки стало проще (сейчас уже есть clojure, ruby, js, python, php, java, erlang)

Подробности под катом →
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии59

Почему команда SoundCloud перешла на микросервисы

Время на прочтение4 мин
Количество просмотров31K
Ранее мы уже рассказывали о дата-центре фотосервиса imgix, описывали детективную историю поиска проблем с SSD-дисками проекта Algolia, а сегодня представляем вашему вниманию обсуждение того, как команда стримингового сервиса SoundCloud перешла на использование микросервисов.

Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии6

Оптимизация денежных расходов (пересчет в часы и обратно)

Время на прочтение5 мин
Количество просмотров40K
Осенью 2014 мне катастрофически не хватало времени и ушёл в глубокие минуса по кредитам. Тогда у меня и появилась задача: как мне научиться экономить время и деньги. Ответ оказался прост: нужно экономить время и деньги одновременно. Ведь часто бывает, что экономя деньги — тратишь много времени, или экономя время — тратишь деньги. Тогда и понадобилось переводить время в деньги и обратно, чтобы оптимизировать их потребление.



Читать дальше →
Всего голосов 63: ↑38 и ↓25+13
Комментарии39

Продукты JetBrains по ценам прошлого года

Время на прочтение1 мин
Количество просмотров36K
Нас постоянно спрашивают: «Когда же будут скидки?». Отвечаем: «Скидки — есть!».

До 5 февраля на ВСЕ продукты JetBrains можно приобрести новую лицензию или обновить существующую со скидкой 40% от текущей цены.

На этот раз акция не международная, а только для жителей трех стран: России, Украины и Беларуси. Мы понимаем, что курсы валют сильно пошатнулись и изменили цены в последние месяцы, и надеемся, что наша акция как-то компенсирует это и позволит вам не экономить на производительности и качестве кода.

Как воспользоваться скидкой?
Читать дальше →
Всего голосов 68: ↑62 и ↓6+56
Комментарии73

Как поступить в магистратуру в Англии

Время на прочтение3 мин
Количество просмотров98K
Мне 26 лет, я веб-разработчик в Берлине и я никогда не учился в университете.
Читать дальше →
Всего голосов 72: ↑62 и ↓10+52
Комментарии111

Анатомия Ember.js (часть первая, теоретическая)

Время на прочтение5 мин
Количество просмотров32K
image Ember.js сложный в обучении. Хотя даже не так. Концепты Ember.js сложны в освоении и понимании. Мне кажется, что любой курс обучения Ember.js должен начинаться с этих слов.

Я разработчик, работающий с Ruby on Rails (до этого я программировал в .NET и Python). Для меня было довольно проблематично понять магию, заставляющую Ember.js работать. Иногда я общаюсь с другими начинающими разработчиками, вставшими (или пытающимися встать) на путь Ember.js — все их проблемы начинаются из-за того, что они не понимают, как устроен данный фреймворк.

Да, с одной стороны есть официальная документация в которой детально описаны все аспекты данного фреймворка. Но ей не хватает концепции; для начинающего разработчика это просто осколки информации разбросанные случайным способом. Из документации, например, можно узнать что у нас есть в арсенале контроллеры, модели и виды (controller, model, view). Но для того что-бы узнать за что они отвечают и как работают начинающему разработчику предлагают сначала наступить на грабли пару десятков раз. Плюс в нагрузку к контроллерам, моделям и видам Ember.js нам дает целый взвод разношерстых объектов типа компонентов, шаблонов, маршрутизатора и путей (component, template, router, route).
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии20

Береги зрение, используй f.lux

Время на прочтение1 мин
Количество просмотров449K
Почти четыре года прошло с момента упоминания на Хабре программы f.lux, настоящего лекарства для тех, у кого устают глаза из-за монитора.



Программа изменяет цветовой профиль монитора, в зависимости от времени суток. Ночью глаза меньше устают от тёплых цветовых тонов (3400 K), днём — от холодных (6500 K), которые больше соответствуют дневному свету.
Читать дальше →
Всего голосов 113: ↑94 и ↓19+75
Комментарии110

MegaUpload.com закрыт ФБР, основатели и еще несколько сотрудников арестованы

Время на прочтение2 мин
Количество просмотров16K


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

На сайте ФБР доходчиво донесено, что двум организациям и семерым частным лицам выдвинуто обвинение в многократном нарушении копирайта, получении прибыли в 175$ миллионов и причинении ущерба в полмиллиарда долларов. Как это все считалось, как обычно не описано, да и особого значения не имеет, так как в масштабах MegaUpload несколько случаев погоды не делают.

Упомянутым гражданам грозит много лет по 3 обвинениям:
1) 20 лет за мошенничество
2) 20 лет за отмывание денег
3) 5 лет за каждый случай нарушения копирайта

Читать дальше →
Всего голосов 151: ↑143 и ↓8+135
Комментарии200

Квантовая левитация (эффект мейснера)

Время на прочтение1 мин
Количество просмотров32K
Поразительное видео из университета Тель-Авива, демонстрирующее эффект мейснера, когда сверхпроводник (в данном случае охлажденный жидким азотом) «заперт» в магнитном поле.



К сожалению, пока мы не найдем/создадим сверхпроводник, остающийся таким при обычной температуре, левитирующие автобусы откладываются…

PS: Господа минусующие, почитайте вики. К маглеву это не имеет отношения — здесь используются другие принципы.

PPS: Спасибо ftp27 за еще одно видео от этих же ребят, которое демонстрирует пару дополнительных интересных моментов, таких как огибание препятствия и левитацию двух сверхпроводников.

Всего голосов 178: ↑148 и ↓30+118
Комментарии49

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность