All streams
Search
Write a publication
Pull to refresh
54
0
Павел Волынцев @copist

User

Send message
Спросили как то меня, что нужно чтобы построить дом. Я перечислять устал.

Про карандаш — некорректный пример. Знает как минимум технолог, возможно тех директор. Это же ежедневный процесс, он всегда на виду, всегда мониторится.
Хороший тимлид ищет человека, очень совместимого с ним

Люди ищут окружение с совпадающей точкой зрения и похожим уровнем компетенции. С сомнением смотрят на тех, кто лучше (можно ли мне у него научиться быть лучше?) и на тех, кто хуже (способен ли он научиться быть как я?). Ну не все конечно. Есть открытые для улучшения и есть готовые улучшать других.
В книге Tribal Leadership хорошее объяснение с примерами.
Горький опыт показывает — не потраченный оплаченный час или два на собеседовании (с колой и фруктами) стоит компании килобаксы на зарплату неподходящего кандидата.
Массовые наймы?
Первым этапом не код писать, а парами-тройками разбирать постановку задач и декомпозировать для других команд.
Вторым этапом обсуждать между командами постановку, декомпозицию и прикидывать решения
Третьим — решать.

Получается технические навыки на втором этапе (частично) и третьем. Возможно отсеивание кандидатов, не способных понять задачу, согласовать между коллегами, выбрать решение — это важнее самого решения.
Это боль. Опытный программист с NDA ничем не отличается от джуниора, только просит больше :) Главное что количество лет опыта никакой роли не играет. Приходится урывками нацарапывать решения типовых задач, чтобы гитхаб заполнить якобы ценной ерундой.
Два последних варианта — ревью и шлифовка — это класс! Отличная идея. Честно. Главное код взять хороший, например не по стайлгайдам, KISS и SOLID. Уверен, в любом проекте найдётся. Можно нагавнякать. Или дать что-нибудь из решений кандиатов, не прошедших тестовое задание.
На выдачу «нормального фидбека» требуется время, его часто не хватает. Собеседования и проверки кода даже 10 кандидатов могут занять целиком несколько рабочих дней у разработчиков команды.
Хорошо (для кандидата) когда есть один-два разработчика, которые доступны напрямую — их можно спросить. Но обычно «щитом» разрабочиков выступает HR и через него пробиться сложно.

С другой стороны, из всех непрошедших единицы настаивали на отзыве. Честно. Я созванивался и делал разбор полётов. Вдруг он научится и через несколько месяцев ещё раз придёт.
В моей практике адекватным кандидатам давал фидбек и вторую попытку. Телепатов-то не существует.
Многие знания многие печали
Ещё одна интересная: Good Boy License
Реакция (?) юриста: https://github.com/icons8/flat-color-icons/issues/5
Вы не представляете, какими бюджетами надо обладать, чтобы скормить гуглоботу, бингу и яндексу фронт в 2М уникальных HTML страниц, написанный на неизоморфном JS в виде SPA. Кровь, пот, слёзы, маты и периодическое выпадание из поискового индекса. Никому не посоветую теперь делать публичное SPA на неизоморфном JS. Лучше забыть про PHP/Python/Ruby и прочее если фронт будет в виде SPA и открыт для индексации поисковиками.
А как же удовольствие?

Программирую на нескольких языках с одинаковым удовольствием. И как-то норм всё с баблом.
Язык — это только инструмент. Важнее то, что на нём делается. Предмет важнее инструмента.
Зато у знатоков на такой вопрос всегда есть встречный: «мы говорим про С++/Java, JavaScript или Common Lisp?
(Чьё ООП круче?)
5Мб для простого SPA — это серверная или клиентская сторона?

Серверная — вообще кайф. 5Мб кода вместе с библиотеками — это очень даже компактно. Не смотри в node_modules и в статику и всё OK.

Клиентская — это поклёп. Современный JS может очень компактно сжиматься, даже если сложный. Ещё умеет подгружаться по мере необходимости. 5Мб для фронта возможно только с учётом стилей и картинок, но это в JS уже не относится.
Кстати про this, в глаза бросилось

Это же язык GoLang, я не ошибся?

Это как расшифровать?
/// Limit channel to 512B by default
this( int size = 512 / Message.sizeof - 1 ) // что этот  this делает?
{
	enforce( size > 0 , "Channel size must be greater then 0" );
	this.messages = new Message[ size + 1 ]; // а этот?
}
положить
$ npm install -g loadtest
$ loadtest [-n requests] [-c concurrency] [-k] URL
$ npm install -g node-static # install dependency
$ static -p 8000

(источник: Big list of http static server one-liners)
(function() {
  function square(x) { return x * x; }
  var hundred = 100;

  console.log(square(hundred));
})();
// → 10000


А зачем мы заключили функцию в круглые скобки?


Развёрнутый ответ на тостере Что значит оборачивание функции в скобки (function() {… })?
Читать и «компилировать» код в голове — это хороший навык. Позволяет разбираться в ответах на SO, а не копировать всё подряд к себе в проект. Позволяет понимать код коллег. И свой собственный, через месяц-два.

Помню, на собеседовании дали мне лист A4 с кодом, пока искали вопрос по этому листу, я карандашом уже отметил или исправил все опасные места. Вопросы задавать не стали, отобрали листок обратно.
О, это идея. Специально в резюме написать — «После этой черты можно выкинуть, если детали неинтересны» )

Information

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