Pull to refresh
0
0

Программист

Send message

На технических собеседованиях даже нормальные люди звереют

Reading time5 min
Views104K
В Сети опубликованы сотни постов о том, что собеседования в IT никуда не годятся, что на них расспрашивают о каких-то частностях или задают вопросы о том, что твердо знает только вчерашний выпускник университета (классический пример – сортировка с помощью двоичного дерева). Все эти выпады справедливы, но я хочу добавить еще один от себя: от собеседований звереют даже нормальные люди.

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

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

История вторая: кандидат хорошо справлялся, пока не допустил пустячную ошибку в такой мелочи, что этим спокойно можно было пренебречь. Но собеседующие уцепились за эту ошибку, в их отношении к кандидату появилась едва уловимая враждебность. С этого момента всё пошло под откос.
Читать дальше →
Total votes 131: ↑126 and ↓5+149
Comments354

Вторая часть гайда по интервью за рубежом — Coding, System Design и Culture Fit

Reading time8 min
Views8K

Мы GeekFactor. Вместе с GetMentor мы помогаем разработчикам найти работу за границей, а компаниям подбираем подходящих кандидатов.

Главные этапы в собеседовании зарубеж — подача резюме, system design interview, coding interview и culture fit interview. На что обратить внимание и как готовиться, мы рассказываем в двух статьях. 

В первой части мы поговорили о том, из чего состоит собеседование за рубежом, как составлять резюме и что нужно помнить, когда проходишь screening interview — разговор с эйчаром. В этой — раскроем подробнее тему coding interview, culture fit interview и system design interview.

Примечание: да, с текущими событиями найти работу с релокейтом стало сложнее. Но советы остаются актуальны — мы проверили.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments1

АнтиЗапрет — Скажи цензуре нет!

Reading time1 min
Views169K
Как и обещал, сделал бесплатный VPN и прокси-сервер, который проксирует только ресурсы, внесенные в единый реестр запрещенных сайтов Роскомнадзором, Роспотребнадзором или ФСКН.
Не нужно искать прокси или VPN, включать/выключать их постоянно, а один раз настроить и забыть.

ПростоVPN.АнтиЗапрет


Сервис использует API сайта antizapret.info и обновляет списки раз в сутки.
Есть два способа настройки: как прокси и как VPN.
Читать дальше →
Total votes 169: ↑150 and ↓19+131
Comments124

Локальное хранилище или куки? Безопасное хранение JWT на клиенте

Reading time6 min
Views72K
JWT (JSON Web Token) — это замечательный стандарт, основанный на формате JSON, позволяющий создавать токены доступа, обычно используемые для аутентификации в клиент-серверных приложениях. При использовании этих токенов возникает вопрос о том, как безопасно хранить их во фронтенд-части приложения. Этот вопрос нужно решить сразу же после того, как токен сгенерирован на сервере и передан клиентской части приложения.



Материал, перевод которого мы сегодня публикуем, посвящён разбору плюсов и минусов использования локального хранилища браузера (localStorage) и куки-файлов для хранения JWT.
Читать дальше →
Total votes 30: ↑24 and ↓6+32
Comments20

Управление командой программистов: как и чем их правильно мотивировать? Часть первая

Reading time11 min
Views24K
Эпиграф:
Муж, глядя на чумазых детей, говорит жене: ну, что, этих отмоем или новых нарожаем?


Под катом рассуждения нашего тимлида, а также директора по развитию продукта RAS — Игоря Марната об особенностях мотивации программистов.

image
Секрет успеха в создании классных программных продуктов известен — возьмите команду крутых программистов, дайте команде классную идею и не мешайте команде работать. Крутые разработчики — ребята редкие и востребованные. Некоторые рекрутеры даже говорят, что у них создаётся такое впечатление, что родить крутого программиста проще, чем нанять его с рынка. Помимо трудностей с наймом, как таковым, опыт каждого конкретного разработчика, его знания о существующем продукте и истории его разработки зачастую незаменимы или восполняются тяжело и долго. Поэтому если вам повезло, и у вас уже есть крутая команда программистов, важно работать над их мотивацией. Нанять, обучить новых разработчиков, сделать из них команду — почти так же трудно и долго, как родить и вырастить детей.
Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments32

Сделаем фотомодель по-быстрому!

Reading time8 min
Views5.6K
Не знаю о чем Вы там подумали из названия, но знайте — я этого в виду не имел! :)
Итак, продолжим становиться «Колумбами и открывать то, что до нас знали миллионы людей», кто вспомнит откуда эта почти-цитата (подсказка: про Интернет) тому 4 балла к гик-карме. Итак…

Итак, в свободное время, когда я не создаю безумные проекты, не учу людей зарабатывать на стартапах, в это время я изучаю всяческие гик-технологии, в т.ч. одна из них прямо-таки у меня стала навязчивой идеей. А именно — взять свой городок в пригороде большого города и превратить его в 3d-уровень для какой-нибудь игры (в FarCry/Crysis я продвинулся в этом больше всего), при том с фотограмметрической точностью (погрешности в метр или меньше от реального расположения домов).

Для того, чтобы это сделать нам понадобится:
  1. 3d-модели;
  2. 3d-движок;
  3. наука со страшным названием фотограмметрия;
  4. даже математика — а то, когда читаешь про Spherical harmonics — радуешься, что приматом был некоторое время; грустишь что все-равно не понимаешь о чем там...
  5. тонна терпения (впрочем, я не был бы мировым лентяем, если бы это и правда было так);

Начнем с 3D моделей

Читать дальше →
Total votes 139: ↑119 and ↓20+99
Comments76

Апгрейд матрицы ноутбука TN->IPS или как получить из бюджетного ноутбука более продвинутый

Reading time2 min
Views167K
Можно ли купить относительно бюджетный ноутбук с хорошими характеристиками, но дешевле собратьев с IPS матрицей, а потом недорого и быстро заменить TN на IPS?


Читать дальше →
Total votes 91: ↑90 and ↓1+89
Comments151

Зачем изучать непопулярные языки. Пример сообщества F#

Reading time8 min
Views30K


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

В разработке хорошие технологии тоже не всегда становятся массовыми. Например, F#. Все что я о нем знаю — это дико крутой, но совершенно непопулярный язык, после которого разработчики уже не могут просто так возвращаться к своим привычным языкам.

Я попытался узнать, в чем причина. И вообще — кто те люди, которые на нем пишут, и зачем они это делают, если язык не нужен бизнесу? Для этого я постучался поговорить в русскоязычное сообщество F# в «Телеграме». Здесь — наш круглый стол.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments164

Чтобы избавиться от боли в спине вам, возможно, придётся сидеть по-другому

Reading time7 min
Views346K


Когда я сижу, у меня болит спина.

Это происходит уже последние 10 лет. И неважно, где я нахожусь – на работе, в ресторане, даже дома на диване. Моя поясница кричит: «Прекрати сидеть!»

Чтобы уменьшить боли в спине, на работу я купила себе коленный стул. Потом стол для работы стоя. Потом вернулась к обычному стулу, потому что мне стало больно стоять.

Я ходила к врачам, хирургам-ортопедам и специалистам по боли. Я освоила пилатес, увеличила свою гибкость и силу мускулов. В какой-то момент мой пресс стал таким сильным, что муж стал называть его «дощечкой».

Эти средства немного помогли – сначала. Но боль так и не ушла. Поэтому несколько лет назад я решила принять это как должное: сидячее положение причиняет мне боль, и так будет всегда.
Total votes 72: ↑62 and ↓10+52
Comments231

12 вопросов о самокатах, которые не стыдно задать

Reading time10 min
Views146K
Мир прочно подсел на колёса. Радует, что в этот раз на правильные. Среди них — самокаты. Чисто конструктивно это весьма простая штука — в уже совсем далёком детстве мы гоняли на том самом, который деревяшки и два колеса. Иногда деревяшки были расписаны городецкой росписью. Транспорт из детства жутко гремел, но казался едва ли не самым весёлым на свете, особенно когда под горку коленками об асфальт. И никто из нас и думать не мог, что снова встанет на самокат будучи взрослым. Но на какой! Лёгкая и прочная складная конструкция, бесшумные колёса, амортизаторы, тормоза и даже электромоторчик. И всё, начинается: «Я покоритель пробок! Я лечу над городом! Я гроза тротуаров! Чёрт, как его впихнуть в автобус? А он выдержит мою тушу в 90 кг? А я не окривею? А если сыну дать покататься?». Мы собрали топ самых волнующих вопросов и готовы на них ответить. Ну что, погнали?

Читать дальше →
Total votes 47: ↑41 and ↓6+35
Comments194

Собеседование по TypeScript: 20 вопросов и ответов

Reading time12 min
Views131K
Язык TypeScript основан на том же синтаксисе и семантике, которые хорошо знакомы миллионам JavaScript-разработчиков. TypeScript даёт возможность работать с самыми свежими и ещё только появляющимися возможностями JS, включая те, которые имеются в ECMAScript 2015, и те, которые пока существуют лишь в виде предложений. Среди таких возможностей, например, асинхронные функции и декораторы. Всё это направлено на то, чтобы помочь разработчику в создании надёжных и современных приложений.

TypeScript-программа компилируется в обычный JavaScript-код, который может выполняться в любом браузере или в среде Node.js. Этот код будет понятен любому JS-движку, который поддерживает стандарт ECMAScript 3 или более новый.



Материал, перевод которого мы сегодня публикуем, содержит разбор двадцати вопросов, которые вполне могут задать тому, кто собирается пройти собеседование, претендуя на позицию TypeScript-программиста.
Читать дальше →
Total votes 54: ↑46 and ↓8+38
Comments69

Почему в 2018 году я использую метод разработки, которому уже 30 лет

Reading time6 min
Views31K
image

Создавать игры сложно


И самая сложная часть создания игр — это препродакшен. Это заявление может показаться обескураживающим. Все мы слышали о очень тяжёлых периодах продакшена игр и часто видели лёгкие, простые и интересные периоды препродакшена. Почему же я утверждаю, что препродакшен сложнее? Потому что один из аспектов, способных отравить продакшен — это выполняемый во время него препродакшен. Как бы ни был сложен препродакшен, гораздо сложнее (и намного дороже) выполнять его на этапе продакшена. Позвольте объяснить: в идеальном мире никто не брался бы за производство коммерческой игры, которую ждёт провал. Если вы намереваетесь создать игру с целью извлечения прибыли, и вы знаете, что игра прибыль не принесёт, то к продакшену вы не перейдёте.

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

В момент соединения всех частей (то есть создания первой играбельной версии) вы понимаете, действительно ли ваша команда шла к исходной цели. Это совершенно неподходящий момент, если вы проработали над игрой несколько лет.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments32

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

Reading time4 min
Views53K


Идея сделать независимый от корпораций P2P мессенджер не нова, однако разработка нового протокола и клиентских приложений для него достаточно дорогой и долгий процесс. А что, если использовать старый добрый XMPP, в котором уже все давно продумано и запилено?


Но это же не настоящий peer-to-peer, скажете вы, для работы XMPP нужен собственный сервер и домен. Это так, но мы можем запустить сервер на локалхосте, а для связи с серверами других пользователей использовать скрытый сервис в виртуальной сети I2P. Использование I2P избавит нас от необходимости платить за домен с хостингом, а так же защитит наши коммуникации от преступной онлайн-слежки.


Таким образом, получаем:


  • Гибридный P2P мессенджер, который можно запускать и на пользовательских устройствах, и на полноценном сервере.
  • Фичи, которых не хватает другим P2P мессенджерам: оффлайн сообщения, хранение контактов и истории "в облаке", работа нескольких клиентов с одним аккаунтом.
  • Готовые клиентские приложения на любой вкус.
  • За счет использования I2P, неуязвим для различных *надзоров (сори за мат).

Приступим же к реализации...

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments58

«Яндекс.Касса», «Робокасса», и др. агрегаторы платежей: куда идти стартапу или малому бизнесу, чтобы работать легально?

Reading time14 min
Views60K
Всем привет! Три года назад, когда у меня был свой небольшой интернет-магазин необычных подарков, не существовало таких маркетплейсов и продвижения, как сейчас, и все свои «велосипеды» приходилось изобретать самому. Но, с другой стороны, не было никаких онлайн-касс и жёсткого контроля со стороны государства. Можно было торговать чем угодно через паблик в ВК в любом формате: с чеком, без чека, за нал и безнал — всё, что душеньке угодно. Потом кольцо «государственного контроля» начало сжиматься. Сначала взялись за крупный бизнес, потом за банки. Потом всех торговцев алкоголем, включая палатки у дома, «посадили» на ЕГАИС. Потом «посчитали» дальнобойщиков, дважды или трижды раздев их системой учёта «Платон».
Год назад руки государства добрались и до такой мелюзги, как малый и микробизнес. Многие думали, что до этого не дойдёт, но — дошло. Началась «жесть» — я имею в виду смену правил торговли по закону 54-ФЗ. Одни кричали, что эти онлайн-кассы дорогие и убьют торговлю. Другие, наоборот, уверяли, что управлять процессом станет проще и прозрачней. Третьи (особенно — гики, фанаты Джека Ма, основателя Alibaba и апологеты технологий) предрекали, что неизбежно появятся новые сервисы, которые изменят бизнес-процессы, и это хорошо.

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


Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments114

Почему плохо быть отличником

Reading time7 min
Views131K
Я отличница. Конечно, не совсем та, которая со сложенными ручками, пятёркой по поведению и отглаженным воротничком. Но золотая медаль, олимпиады, красные дипломы в количестве трёх штук и прочая атрибутика «школьного» успеха налицо. Вот уже 11 лет я работаю в бизнесе — всё это время в ИТ: инженером по тестированию, инженером VoIP, коммерсом. Хорошо работаю, почти не придраться. Всё на «пять», часто с плюсом. И у меня, как у любой отличницы, много историй про одноклассниц, которые в 33 года и замужем, и на последних «мерсах», и со своим делом. «Харэ ныть, пора разобраться, какого, собственно, так происходит?» — в один из дней эта мысль плотно засела в голове. И вот он, разбор полётов — для нас, отличников, для будущего поколения и для родителей, которые «тянут» своих детей от пятёрки к пятёрке.


Читать дальше →
Total votes 163: ↑133 and ↓30+103
Comments468

Система сбора, анализа, уведомлений и визуализации логов на syslog-ng, elasticsearch, kibana, grafana, elasticalert

Reading time34 min
Views118K

image


Что мы получим после этой статьи:


Систему сбора и анализа логов на syslog-ng, elasticsearch в качестве хранилища данных, kibana и grafana в качестве систем визуализации данных, kibana для удобного поиска по логам, elasticalert для отправки уведомлений по событиям. Приготовьтесь, туториал объемный.


Какие логи будем собирать:


  • все системные логи разложенные по индексам в зависимости от их facility(auth,syslog,messages и т.д.);
  • логи nginx — access и error;
  • логи pm2;
  • и др.

Обоснование выбора системы


Почему я выбрал связку с syslog-ng в качестве отправителя, парсера и приемщика логов? Да потому что он очень быстрый, надежный, не требовательный к ресурсам(да да — logstash в качестве агентов на серверах и виртуальных машинах просто убожество в плане пожирания ресурсов и требованием java), с внятным синтаксисом конфигов(вы видели rsyslog? — это тихий ужас), с широкими возможностями — парсинг, фильтрация, большое количество хранилищ данных(postgresql,mysql,elasticsearch,files и т.д.), буферизация(upd не поддерживает буферизацию), сторонние модули и другие фишки.


Требования:


  • Ubuntu 16.04 или debian 8-9;
  • vm для развертывания;
  • Прямые руки.

Приступим или добро пожаловать под кат

Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments36

Пандус для сайта

Reading time8 min
Views25K
Привет, Хабр. Я Иван Бакаидов. Сегодня я хочу поделиться с вами своим докладом “Почему я не могу пользоваться твоим сайтом?”. В этом докладе я рассказываю о проблемах доступности современного Веба для людей с особенностями здоровья. Уверен, что вы не задумывались над этой проблемой, хотя для некоторых пользователей это может быть решающим фактором в использовании вашего ресурса. Даже обычные статьи на хабре плохо читаются скринридерами, так как никто не указывает описание изображения в alt.

Под катом будет представлено небольшое описание содержания Видео, а еще полезные ссылки по теме, а также выдержки из моих постов про баттлы с Yota и Сбербанком.


Total votes 69: ↑66 and ↓3+63
Comments65

Почему компания меня потеряла

Reading time7 min
Views66K
Когда деревья были только бинарными, а дешевая чашка кофе стоила дороже, чем час программиста, автор делал первые попытки программирования. Не существовало «айтишников», «дизайнеров», «js-ников», и даже «прогеров» — ты либо был на «ты» с железками, всем софтом и программированием, либо нет. Время ушло, пришла специализация, выросли оклады, потом еще раз, а потом помножились на два. И теперь мы охеревшие настолько специализированы, что…

Автор — из старой школы. По разным причинам. Мне нравится заниматься «всем», помогать себе и компании, и я рассчитываю на отдачу — не только, и не столько, на финансовую. Я постоянно учусь. Но не только своей «основной», узкой специальности (=программирование), за которую платят, и ниже объясню, почему…

Недавно я столкнулся с проблемой, известной как «переученность». Такое бывает, когда ты переростаешь вакансию «вширь», а компания не может никак это использовать. Тогда ты ломишься в стартапы, стараясь самовыразиться, ищешь варианты, разговариваешь с руководством (тут мне повезло), или просто уходишь.

Дальше я постараюсь обобщить личный и известный мне опыт по этой проблеме.

Тем, кто вдруг узнает меня по этой публикации
Пожалуйста, не показывайте, что читали это, ведь опыт может помочь нам всем, а каких-либо обид на вас у меня нет.
Читать дальше →
Total votes 169: ↑134 and ↓35+99
Comments412

Как правильно чистить лук, или Почему разработка ПО выходит из-под контроля

Reading time10 min
Views29K


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

Складывается ощущение, что проект зажил собственной жизнью и пытается сожрать вас.



Как так случилось? Может, наняли плохого разработчика? Кто-то ошибся в планировании проекта? А вдруг сама идея проекта была ужасной?

Возможно. Но часто проект бывает с самого начала обречен на провал из-за недопонимания одного важного момента.

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

Это предположение — неверно.

Проект — это не лист бумаги, не двумерный объект — у него есть глубина.

Каждую функцию на поверхности можно раскрыть — и так слой за слоем. Будь у меня склонность к громким заголовкам, я бы сказал, что всякое приложение — это лук, и нужно уметь правильно его чистить. Не очень понятно? Тогда давайте я поясню, что имеется в виду, и расскажу, почему не получается раскрывать слои приложения без слёз.

Переведено в Alconost
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments35

Это Спарта

Reading time9 min
Views22K
Эта публикация — про то, как программист помогает создавать суррогаты.

Суррогат – это когда сделали не то, что нужно бизнесу. Или не так, как нужно бизнесу.

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

С чего все начинается


Представьте исходную ситуацию. К программисту, работающему в «обычной» компании, подходит человек – пользователь системы, он же – руководитель некоего подразделения. Просит, или предлагает, или просто нейтрально говорит – надо сделать в программе/системе/на сайте такую-то штуку.

Программист, допустим, толковый – он понимает, что предлагаемая доработка – суррогат.

Вариантов развития событий много, я приведу некоторые из них:
1. Программист говорит: согласуй с моим или своим начальником, тогда сделаю;
2. Программист говорит: напиши мне задачу/поручение/служебную записку, на бумаге или в информационной системе;
Читать дальше →
Total votes 44: ↑34 and ↓10+24
Comments56

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity