Как стать автором
Обновить
120
0
Валера Шибанов @it_monk

IT Монах

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

Нужны ли тимлиды?

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

Осенью я был на митапе, посвящённом scrum'у. И услышал там интересный тезис: в слаженной скрам-команде роль тимлида/техлида минимальна, потому что все участники команды в той или иной степени являются носителями знаний и прекрасно самоорганизовываются благодаря скраму.

Читать далее
Всего голосов 20: ↑14 и ↓6+8
Комментарии31

GeekBrains, который мы потеряли

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

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

Читать далее
Всего голосов 45: ↑44 и ↓1+43
Комментарии14

Перейти с Linux на macOS и не сойти с ума

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

Ноутбук — главный девайс в моей жизни, я провожу за ним бо́льшую часть суток. Он должен быть лёгким, компактным и мощным. Долгое время лидером по этим параметрам был Dell XPS 13, но всё поменялось с выходом MacBook Air на процессоре M1.

Air всего на 100 граммов тяжелее XPS 13, но примерно в три раза мощнее, автономнее и не нуждается в активном охлаждении. Никогда не думал, что скажу подобное про технику Apple, но MacBook Air — самое крутое устройство в своей весовой категории на рынке, оставившее конкурентов далеко позади.

Я фанат Линукса, эта операционная система для меня больше, чем просто окружение. Это философия, новостная повестка и постоянный предмет обсуждения. Поэтому сама идея отказа от Linux в пользу другой ОС меня всегда отталкивала. Да и тот эпизодический опыт, когда приходилось что-то делать в macOS, был эмоционально неприятным.

Но появление M1 посеяло во мне зерно сомнений: мой ноутбук больше не был самым крутым и навязчивой мыслью было то, что я отказываю себе в чём-то большем. Это зерно прорастало и проросло: я купил MacBook Air с 16GB ОЗУ и 512GB SSD, с удивлением обнаружив, что он ещё и стоит дешевле моего XPS. Впереди меня ожидали настройка окружения, борьба с Docker, грусть от отсутствия привычного автодополнения в консоли и много чего ещё.

Читать далее
Всего голосов 136: ↑131 и ↓5+126
Комментарии379

Как IT вошёл в меня

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

Когда мне было 8 лет и я учился во втором классе школы, нам выдали абонементы в детскую библиотеку. К чтению художественной литературы я относился с интересом, но больше всего меня интересовали детский научпоп и техническая литература. Особенно я любил компьютерные журналы, открывавшие удивительный мир, к которому я относился с больши́м любопытством и придыханием.

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

Читать далее
Всего голосов 34: ↑32 и ↓2+30
Комментарии15

Насколько вкусные печеньки в Яндексе?

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

У меня лет с 18 была мечта идиота: я хотел работать в Яндексе и видел в этом если не вершину, то один из основных этапов моей карьеры. Почему, зачем? Я не задавался этими вопросами, «Яндекс» — это же круто, думал я. Три года назад, когда я почувствовал в себе силы устроиться в Яндекс на приличную для моего уровня профессионального развития зарплату, мне пришлось начать искать ответы на эти вопросы. И вот сейчас, я думаю, я их нашёл и спешу поделиться с вами.

Читать далее
Всего голосов 217: ↑187 и ↓30+157
Комментарии397

Это мог быть очередной JavaScript-фреймворк

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

Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта.


Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изначально. Однако, когда я решил обновить шаблон, внедрив в него нужные мне фичи, я обратил внимание на то, что у npm-пакета есть несколько десятков скачиваний в неделю, а у проекта на гитхабе 12 звёзд. Поставленные по доброте хорошими людьми, наверняка, чтобы поддержать меня, а не проект. Всего 12 звёзд, но мне этого хватило, чтобы решить, что karcass я буду развивать так, как будто он нужен не только мне.


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


image

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

Нужно ли современному программисту уметь создавать алгоритмы?

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

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


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


Вот пример одной из них:


/* Простое число — целое положительное число, имеющее только два делителя: 1 и само себя */
function isPrimeNumber(number) {
    /* необходимо реализовать функцию, возвращающую true в случае, если number является простым числом и false в противном случае */
}

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

Читать дальше →
Всего голосов 22: ↑17 и ↓5+12
Комментарии119

Как Яндекс научил меня собеседовать программистов

Время на прочтение7 мин
Количество просмотров48K
После того, как я изложил свою историю «трудоустройства» в Яндекс в комменте к нашумевшей заметке «Как я проработала 3 месяца в Я.Маркете и уволилась», было бы несправедливо утаить и ту пользу, которую я вынес из своего опыта Яндекс.Собеседования.

В мои рабочие обязанности входит техническое интервьюирование кандидатов на позицию Fullstack JavaScript/TypeScript Developer, активно этим делом (стоит ли говорить, что слегка поднадоевшим?) я занимаюсь больше года, за плечами более 30 технических интервью.

Раньше на техническом интервью я задавал кандидату довольно бестолковые вопросы аля «что такое замыкание», «как в JavaScript реализуется наследование», «вот есть такая-то таблица в БД с такими-то индексами, расскажите, пожалуйста, как можно ускорить такой-то запрос», которые хоть и помогали выявить инженерные способности кандидата, но совершенно не позволяли сделать вывод о том, насколько хорошо человек сможет решать задачи и насколько быстро он сможет разобраться в уже существующем коде. Что не могло не привести к печальным последствиям…

Но всё поменялось после того, как я прошёл четыре круга технических собеседований в Яндексе.
Читать дальше →
Всего голосов 78: ↑40 и ↓38+2
Комментарии121

Лёгкое программирование: канбан-доска для GitLab за один рабочий день

Время на прочтение9 мин
Количество просмотров36K
Рабочий понедельник начался со следующего диалога:

Руководитель (P): У тебя в команде не понятно, кто чем занимается.
Я (Я): Это да, у нас нет инструмента, который бы отображал общую картину работы над задачами. В гитлабе есть канбан-доски, но они только в контексте проектов и групп. Общая канбан-доска решила бы проблему.
Р: Тогда сделай доску.
Я: К утру будет готово.

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

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

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

Читать дальше →
Всего голосов 89: ↑86 и ↓3+83
Комментарии39

Как я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram

Время на прочтение8 мин
Количество просмотров51K
Активные пользователи Телеграма, особенно те, кто подписан на Павла Дурова, наверняка что-то слышали о том, что Телеграм проводил в этих ваших интернетах конкурс для iOS, Android и JavaScript разработчиков, а также для дизайнеров. Несмотря на то, что это было довольно эпичное событие с раздачей солидных призов (один из участников получил 50к долларов за первое место, написав самое быстрое и лёгкое приложение для Android), о нём как-то слабо писали, во всяком случае в Рунете. Своим дебютным постом попробую исправить ситуацию.

Читать дальше →
Всего голосов 162: ↑151 и ↓11+140
Комментарии47

Информация

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

Специализация

Software Developer, Fullstack Developer
Lead
JavaScript
TypeScript
Node.js
NextJS
NestJS
React
Database
Linux
Docker
High-loaded systems