Телеграм канал 'Тимлид и Код'

Тимлид и Код


783 подписчиков
0 просмотров на пост

Пишу посты о жизни тимлида в вебе. Работаю в энтерпрайз проектах 5 лет. Успел пописать код в стартапах и в огромных международных компаниях. Накопил много отрицательного и положительного опыта которым решил начать делиться.

По всем вопросам: @CodLeada

Детальная рекламная статистика будет доступна после прохождения простой процедуры регистрации


Что это дает?
  • Детальная аналитика 249'227 каналов
  • Доступ к 109'244'433 рекламных постов
  • Поиск по 430'257'702 постам
  • Отдача с каждой купленной рекламы
  • Графики динамики изменения показателей канала
  • Где и как размещался канал
  • Детальная статистика по подпискам и отпискам
Telemetr.me

Telemetr.me Подписаться

Аналитика телеграм-каналов - обновления инструмента, новости рынка.

Просмотр поста #17 от 2021-05-10 11:05:00

Тестовое задание перед собеседованием

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

Большинство таких заданий слишком мало для того чтобы вмещать в себя вещи которые могут быть интересны сеньору. Чаще всего нужно просто получить данные с API и отрисовать их. Ладно, иногда нужно добавить возможность их редактирования. За редким случаем придется реализовать весь CRUD.

Почему так ?
Со стороны соискателя попытаюсь оправдаться за скучные тестовые задания. На самом деле их используют просто чтобы проредить количество кандидатов на позицию. Логика такая. Кто действительно хочет в компанию, тот сделает тестовое. А ленивый соискатель просто пройдет мимо.

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

Есть ли плюсы ?
Конечно есть. Если у собеседуемого нет своих примеров кода и он согласится выполнять тестовое задание (Да, от них можно отказываться. Даже если в вакансии написано что тестовое будет обязательно), то хорошо написанный код или ответ на пару вопросов "Почему тут так ?" "А как можно по-другому ?" компенсирует незнание каких либо тонкостей из вопросов по теории.

Что делать то ?
Мой совет, всегда держать 1-2 приложения для того чтобы было что показать. Можно завести TODO приложение и обновлять его по мере получения новых знаний. Все лучше чем просто отвечать на теоретические вопросы полтора часа.

Только без фанатизма. Не нужно писать несколько огромных приложений и до блеска полировать код в каждом файлике.


Последние посты канала:

Продолжаю чинить проект

Наткнулся на код где строки преобразуют в числа с помощью вызова конструктора Number().

Какое то время назад почему-то отказывались от +'string', якобы для удобного чтения кода.

Действительно Number() нагляднее показывает что происходит с переменной. Но при этом стоит всегда помнить об особенности конструктора Number из скриншота.
Изображение
Штука которая ломает уже второй прод.

Не совсем очевидная особенность функций, в этом весь JS.

Подобное поведение есть у функции isFinite с аргументом null.

Был случай когда проект поломался от typeof null, но это уже совсем страшная история.
Изображение
Книги для развития soft skills
Это не топ, просто список книг которые могут помочь закрыть проблемы в мягких навках

Для развития коммуникативных навыков
Н. Региер. «Конфликт — это подарок». Про конфликты не только на работе но и в семье.

Г. Кеннеди. «Договориться можно обо всём». Про умение договариваться.

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

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

М. Дорофеев. «Джедайские техники». Маст хев для лидов на мой взгляд. Очень много интересных техник тайм-менеджмента собраны в одной книге.

Для развития стрессоустойчивости
М. Мэнсон. «Тонкое искусство Пофигизма». Про правильное расставление приоритетов.

Опять же, Карнеги. "Как перестать беспокоиться".

Многие люди не любят книги по типу self-made. Некоторые даже высмеивают это как жанр. Читать или нет решать каждому, я только написал про книги которые помогли мне.

P.S Дорофеева точно почитай
В дополнение к прошлому посту

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

Кроме того на сайте описаны принципы проектирования услуг продукта, управления командой и проектом.

Если кому нужны примеры дизайн систем, делюсь ссылкой. Очень поможет при разработке библиотеки компонентов на проекте.
Изображение
Тут Райффайзенбанк выпустил гайд про человеческие тексты для интерфейса.

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

По крайней мере я уже поправил пару текстов в своем пет-проекте.
Изображение
Soft skills
«гибкие навыки» или буквально «мягкие навыки» не связаны с конкретной профессией, но помогают выполнять свою работу и подниматься по карьерной лестнице.

Сейчас никто не работает в одиночку, каждый общается с коллегами, клиентами и т.д. Умение договариваться нужно каждому. Кроме того гибкие навыки это еще и про работу с информацией.

Что за навыки такие ?
Классификации по конкретным навыкам в данный момент не существует. Для себя я разделил гибкие навыки на такие группы:

1. Коммуникативные навыки.
Умение общаться с командой, аргументировать свою точку зрения, работать с людьми.

2. Работа с информацией.
Умение находить/анализировать информацию.

3. Самоорганизация.
Умение эффективно выстраивать свой рабочий день.

4. Стрессоустойчивость.
Способность сохранять свою работоспособность в стрессовых ситуациях.

Сейчас (По крайней мере в IT) понятие soft skills очень сильно разрослось, так что возможно в этом списке не хватает пару десятков пунктов 😀. Но даже из такого небольшого списка можно выделить с чем именно у тебя трудности и что нужно развить.

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

Нужен ли пост со списком книг для развития soft skills ?
5 книг которые нужно прочитать каждому фронтенд разработчику

1. Чистый код. Роберт Мартин
Книга с примерами из Java. Но первые 50-70 страниц полезны для любого разработчика. Описаны общие принципы энтерпрайз программирования. Как назвать переменную ? Функцию ? Как оптимизировать модуль ? Книга ответит на эти вопросы.

2. Рефакторинг кода на JavaScrip. Фаулер Мартин
На наглядных примерах JS кода рассказывается как можно рефакторить код

3. JavaScript. Шаблоны
С подробными объяснениями о плохом и хорошем коде. + рассказывают о способах обхода недостатка языка.

4. JavaScript. Подробное руководство. Дэвид Флэнаган. ( Та самая, с носорогом )
Самый обширный справочник по JS. Написана суховато, но очень информативно.

5. Вы не знаете JS. Кайл Симпсон
Целая серия учебников по самым сложным частям JavaScript. Отлично дополняет вышеописанные книги.

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

Ссылки не прикрепляю, все книги легко гуглятся 😉
​​[Карта развития разработчика] JS

Синтаксис и базовые конструкции
На самом деле все понятно по заголовку. Идем на learn js и учим про let, if и остальной костяк языка. На мой взгляд один из самых простых пунктов в карте.

Изучение DOM
DOM сам по себе тянет на отдельный узел в подобных roadmap'ах. Советую выучить как вообще в браузере получается DOM. (Как он строится). И какие то основные концепции. Например всплытие и погружение событий. Обязательно пробегись по его API. Посмотри как можно удалять узлы с помощью JS, да и вообще какая информация доступна нам в JS о DOM узле.

Изучение Fetch API / Ajax (XHR)
Начнем наверное с AJAX. Достаточно просто прочитать что это подход обмена данными между сервером и клиентом без перезагрузки страницы.

Про XHR прочитать стоит, но только прочитать. Учить тут нечего, технология устарела и встречается только в легаси. Сейчас все пишется на Fetch.

Выучи как получать и отправлять данные. Обязательно нужно посмотреть раздел с полным API, для понимания что вообще можно сделать с помощью Fetch.

ES6+ и модули JavaScript
ES6 важная вещь, желательно выучить все что в нем ввели. Раньше на learn js был раздел по всем нововведениям из ES6, щас же все вмешали в обычные разделы. Так как ES6 стал уже стандартом.

Учить ES7+ для начала наверное не стоит, можно просто посмотреть что нового там завезли.

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

Понимание концепций
К этому моменту все концепции которые написаны на карте разработчика будут тебе знакомы. Хотя возможно про DNS и работу браузера придется прочитать, но если честно на собеседованиях я о таком не слышал, да и в работе не пригодится.

Без практики как всегда никуда.

#картаразработчика
Библиотека и фреймворк
Когда был джуниором не мог четко определить разницу этих двух понятий. Всегда задавался вопросом почему React это библиотека а Vue это фреймворк ?

Объясняю себе же из прошлого.

Библиотека это модуль с готовым кодом (функциями) который мы можем использовать как и где захотим.

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

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

Программирование в основном это умение хранить и преобразовывать данные. Как раз для первого нам и нужны структуры. В зависимости от задачи, данные нужно хранить в определенном виде (Объект, массив, связный список). Не всегда удобно хранить все в массивах. Знание структур может сэкономить вам время и пару сотен строк кода. + К этому упростит решение задачи.

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

Как всегда, минимум того, что нужно знать перед собеседованием.
Массивы, Стеки, Очереди, Связные списки. Еще было бы круто что то знать про деревья.

Для теории советую прочитать пару статей на Хабре, и обязательно LeetCode.
Там есть подробные уроки вперемешку с практикой.
Можно реализовывать структуры данных на JS, но для практики я советую использовать TypeScript.

Без практики структуры данных не заучить.
Web-страница:
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
Показать все остальные посты

Настройки







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

Режим "со вкладками" означает, что в аналитике каналов страница будет поделена на разделы со вкладками для ускорения загрузки и отрисовки страницы.