Илья Зыкин. Pro Жизнь
137 subscribers
1.1K photos
45 videos
4 files
95 links
Download Telegram
Ну и немного мотивационных историй.

Банк в котором мои основные счета сломал наглухо свой сайт и наполовину приложение. Уже 2-я неделя пошла, никак починить не могут. Ненавижу программистов, все время что-то сломают и починить не могут.

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

Бенджамин Франклин! У вас прекрасный цвет лица! Спасибо, что учите моего ребенка счету. Именно так надо преподавать в школе арифметику. Тогда и результаты у школьников будут лучше.
🔥2
Закрытый контент
Экспериментирую с форматами. Смотрел выступление DHH, пытался комментировать и рассказывать о своих соображениях. Если вдруг будет интересно - оставляйте вопросы и ваши мысли. Поговорим.
Ну и вообще любой фидбэк приветствуется.

https://youtu.be/bW77VZpKZBw
👍4
Ну всё, теперь я еще и Vue.js архитектор 😂

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

Я выступил независимым модератором процесса. Ничего за них не решал, но, как истинный коуч изводил вопросами, - А это что? А это как? А это зачем? А это почему?

В итоге за пару дней мы нашли все ключевые проблемы текущего проекта, подобрали инструменты, и в ближайшие дни согласуем план миграции со старой архитектуры на новые подходы.
👍2🤯1
Примеры тестов в курсе 💩. Есть рациональное зерно, есть что подсмотреть, но в реальности так делать не надо. Ну, а так норм.

Какие-то вещи меня вымораживают. Мне кажется, что автор где-то не дожал типизацию. Но разбираться я, конечно, не буду. 😏
👍2
Что позволило мне решить задачу по улучшению архитектуры приложения на мало знакомом мне фреймворке?

Любопытство
Мне было интересно, а что же там в проекте идет не так?

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

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

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

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

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

1. Где точка входа?
2. Где момент инициализации проекта?
3. Куда мы идем дальше?
4. Где мы получаем первые данные?
5. Какой dataflow реализован в проекте?
6. Как мы будем обновлять данные?
7. Как валидируются данные, перед сохранением?

И нужно не полениться задавать один и тот же вопрос — а что дальше? Где следующий шаг?

=========

Отработав коучем по технологиям на прошлой работе я научился раскладывать сложные системы по деталям и винтикам. И это хороший навык.
👍1
💡 Постановка задачи — это искусство

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

Коллеги пожаловались на ситуацию с оформлением задач и это натолкнуло меня на мысль, что надо попробовать сформулировать свои идеи на этот счет.
👍1
Frontend: Идея для опенсорса — Query/Filter Builder

Допустим, у вас панель где вы выводите данные о целом большом списке элементов.

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

Хочется такой фильтр-билдер, который был бы простым, кастомизируемым, и в формате inline инпута.

Кажется такое я видел в Jira/Atlassian.

Может кто-то из вас знает готовое решение?
👍1
Понравилось. Разделяю позицию
👍1
Подготовил закрытую презентацию для сотрудников крупной компании на тему проведения технических интервью;

Буду выступать в роли эксперта. Обещают 50 слушателей. Часть сотрудников русскоязычных. Часть со всего остального мира. Будет 2 версии.
🔥3
Сегодня решаю задачу в чисто TDD стиле

Не так часто это приходится делать, на самом деле.

Есть четкое понимание того, что должна выдавать функция на выходе.

У меня не сложная, но все равно довольно размазанная схема данных в которой я должен найти данные строго нужного вида.

Я уже написал тесты. Описал, что должна возвращать функция. Тесты сейчас 🍎

Вот теперь буду изобретать выборку данных внутри функции, которая будет заставлять функцию выдавать нужный результат, а в итоге приведет тесты к 🍏

Вообще TDD отлично работает для backend, тк ты практически всегда понимаешь, что в итоге должно получиться и как это тестировать.

Во фронтенде такой подход не так часто работает. Легче сперва реализовать, а только потом покрыть тестами.
👍4
Не видел UI проекта целый день; Только тесты и дебаггер. Десятки, может быть сотни прогонов. Размышления о структуре данных, поиск workarounds чтобы минимально затронуть существующий код.

Тесты 🍏 Это хорошо. Но не факт, что тесты и ожидания были правильные 🤣

Пора пойти посмотреть, что будет в UI.

Страшно
🤯3👍1
Зашёл на открытый собес по фронту.

Антон спрашивает про поток отрисовки HTML.

Госпаде, я даже не помню что это. Последний раз сталкивался с такими вопросами лет 10 назад.
👍1
Посидел сегодня на звонке у Антона Ларичева. Антон классный.

Что резануло слух - утилитарные типы. Первый раз услышал эту кальку на русском. Прикольно.

Парень-кандидат, конечно, держался молодцом. Мне бы такую выдержку. 😄
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Провели установочную сессию с руководителем проектов. Очень интересная команда. Очень интересно что у нас получится в долгосрочной перспективе.
🔥2
Помогаю молодым коллегам с фидбэком к их проектам, инициативам. Даю свои соображения о пути развития. Приятно получать позитивные отзывы. Надеюсь в долгосрочной перспективе это им поможет
👍2
Пример несложного SQL запроса, который мне довелось написать в последние дни.

Потом на основе этого будет сделан Matarialized View и выполнен Self Join чтобы найти Siblings и выполнить по ним ILIKE поиск по строкам и применить необходимые фильтры.

Если вы ничего не поняли - не переживайте. Я тоже. 😂 Спасибо тестам и TDD. Без них бы я вряд ли справился в ограниченное кол-во времени.
👍2🤯1
Самым интересным за последние дни было 2 события

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

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

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

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

Задорный классный коллектив, а зарплата несопоставимая с жизнью.

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

Как выдержать баланс? Как не пойти с самим собой на невыгодную сделку? Не такой просто вопросец.
👍1