Сегодня решаю задачу в чисто TDD стиле
Не так часто это приходится делать, на самом деле.
Есть четкое понимание того, что должна выдавать функция на выходе.
У меня не сложная, но все равно довольно размазанная схема данных в которой я должен найти данные строго нужного вида.
Я уже написал тесты. Описал, что должна возвращать функция. Тесты сейчас 🍎
Вот теперь буду изобретать выборку данных внутри функции, которая будет заставлять функцию выдавать нужный результат, а в итоге приведет тесты к 🍏
Вообще TDD отлично работает для backend, тк ты практически всегда понимаешь, что в итоге должно получиться и как это тестировать.
Во фронтенде такой подход не так часто работает. Легче сперва реализовать, а только потом покрыть тестами.
Не так часто это приходится делать, на самом деле.
Есть четкое понимание того, что должна выдавать функция на выходе.
У меня не сложная, но все равно довольно размазанная схема данных в которой я должен найти данные строго нужного вида.
Я уже написал тесты. Описал, что должна возвращать функция. Тесты сейчас 🍎
Вот теперь буду изобретать выборку данных внутри функции, которая будет заставлять функцию выдавать нужный результат, а в итоге приведет тесты к 🍏
Вообще TDD отлично работает для backend, тк ты практически всегда понимаешь, что в итоге должно получиться и как это тестировать.
Во фронтенде такой подход не так часто работает. Легче сперва реализовать, а только потом покрыть тестами.
👍4
Не видел UI проекта целый день; Только тесты и дебаггер. Десятки, может быть сотни прогонов. Размышления о структуре данных, поиск workarounds чтобы минимально затронуть существующий код.
Тесты 🍏 Это хорошо. Но не факт, что тесты и ожидания были правильные 🤣
Пора пойти посмотреть, что будет в UI.
Страшно
Тесты 🍏 Это хорошо. Но не факт, что тесты и ожидания были правильные 🤣
Пора пойти посмотреть, что будет в UI.
Страшно
🤯3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Провели установочную сессию с руководителем проектов. Очень интересная команда. Очень интересно что у нас получится в долгосрочной перспективе.
🔥2
Пример несложного SQL запроса, который мне довелось написать в последние дни.
Потом на основе этого будет сделан Matarialized View и выполнен Self Join чтобы найти Siblings и выполнить по ним ILIKE поиск по строкам и применить необходимые фильтры.
Если вы ничего не поняли - не переживайте. Я тоже. 😂 Спасибо тестам и TDD. Без них бы я вряд ли справился в ограниченное кол-во времени.
Потом на основе этого будет сделан Matarialized View и выполнен Self Join чтобы найти Siblings и выполнить по ним ILIKE поиск по строкам и применить необходимые фильтры.
Если вы ничего не поняли - не переживайте. Я тоже. 😂 Спасибо тестам и TDD. Без них бы я вряд ли справился в ограниченное кол-во времени.
👍2🤯1
Самым интересным за последние дни было 2 события
1. Я переписал кусок небольшого проекта так, что решать относительно сложные задачи внутри этой части проекта стало настолько легко, что я случайно за пол часа закрыл несколько некритичных задач, которые висели в бэклоге до лучших времен.
2. Обсудил с коллегой его процесс поиска работы, и мы вместе пришли к выводу, что для поиска хорошего места нужно сперва понять, что же за место ты ищешь и что дальше с этим делать.
Абстрактные мечты часто приводят нас к тому, что мы вроде бы искали, а чуть позже ты начинаешь понимать, что это не делает тебя счастливым.
Хорошо платят, удаленка - а коллектив такой унылый, что работать с ними не хочется.
Задорный классный коллектив, а зарплата несопоставимая с жизнью.
Прекрасная зарплата, отличный коллектив, но фулл-тайм в офисе и никакой возможности для гибкого графика.
Как выдержать баланс? Как не пойти с самим собой на невыгодную сделку? Не такой просто вопросец.
1. Я переписал кусок небольшого проекта так, что решать относительно сложные задачи внутри этой части проекта стало настолько легко, что я случайно за пол часа закрыл несколько некритичных задач, которые висели в бэклоге до лучших времен.
2. Обсудил с коллегой его процесс поиска работы, и мы вместе пришли к выводу, что для поиска хорошего места нужно сперва понять, что же за место ты ищешь и что дальше с этим делать.
Абстрактные мечты часто приводят нас к тому, что мы вроде бы искали, а чуть позже ты начинаешь понимать, что это не делает тебя счастливым.
Хорошо платят, удаленка - а коллектив такой унылый, что работать с ними не хочется.
Задорный классный коллектив, а зарплата несопоставимая с жизнью.
Прекрасная зарплата, отличный коллектив, но фулл-тайм в офисе и никакой возможности для гибкого графика.
Как выдержать баланс? Как не пойти с самим собой на невыгодную сделку? Не такой просто вопросец.
👍1
Есть у меня проверенный человек, который мне несколько раз помогал с некоторыми работами. И все было хорошо. У него портфолио на сотни работ. Прекрасные отзывы. Отличный специалист.
Но последний раз я дал ему задачу чуть-чуть отличающуюся от типичной. И все пошло кувырком.
Задача простая, но кажется именно это вывело его из привычного процесса. Надо было сделать быстро и просто, а это, ну никак не получалось.
Там где не надо — возникала сложность, там где надо, он словно не замечал очевидного и не подходил творчески к задаче и будущему результату. В какой-то момент мне уже начало казаться, что он надо мной издевается. Хочет скорее получить деньги и забыть о задаче.
Очень не хотелось, но пришлось вмешиваться. Это была не моя область, но какая-то насмотренность все же есть. Пришлось самому решить задачу принципиально, а потом и в деталях.
Что нас спасло? То, что этот человек работал хоть и плохо, но абсолютно профессионально. Спокойно выслушивал замечания, не реагировал агрессивно на замечания и принципиальные и по деталям. И даже абсолютно спокойно отнесся, когда я ему сказал — мне пришлось решить задачу вместо тебя, вот смотри как надо, а ты доделай мелкие детали.
Ооооох. Это был тяжелый и мало приятный опыт для обеих сторон. Но мы в итоге получили нужный всем результат. Правда, я купил не решение своей задачи, а опыт. Такое тоже бывает. К счастью я был готов к непредсказуемому развитию ситуации.
Выводы
1. Даже самый проверенный человек может подвести
2. Как бы ты не был уверен в человеке - всегда нужно иметь план Б, а еще лучше и B
3. Когда все летит к черту, только спокойствие, адекватность и предсказуемость помогает решить ситуацию
4. Иногда ты покупаешь решение, иногда опыт. И еще не известно что ценнее
Но последний раз я дал ему задачу чуть-чуть отличающуюся от типичной. И все пошло кувырком.
Задача простая, но кажется именно это вывело его из привычного процесса. Надо было сделать быстро и просто, а это, ну никак не получалось.
Там где не надо — возникала сложность, там где надо, он словно не замечал очевидного и не подходил творчески к задаче и будущему результату. В какой-то момент мне уже начало казаться, что он надо мной издевается. Хочет скорее получить деньги и забыть о задаче.
Очень не хотелось, но пришлось вмешиваться. Это была не моя область, но какая-то насмотренность все же есть. Пришлось самому решить задачу принципиально, а потом и в деталях.
Что нас спасло? То, что этот человек работал хоть и плохо, но абсолютно профессионально. Спокойно выслушивал замечания, не реагировал агрессивно на замечания и принципиальные и по деталям. И даже абсолютно спокойно отнесся, когда я ему сказал — мне пришлось решить задачу вместо тебя, вот смотри как надо, а ты доделай мелкие детали.
Ооооох. Это был тяжелый и мало приятный опыт для обеих сторон. Но мы в итоге получили нужный всем результат. Правда, я купил не решение своей задачи, а опыт. Такое тоже бывает. К счастью я был готов к непредсказуемому развитию ситуации.
Выводы
1. Даже самый проверенный человек может подвести
2. Как бы ты не был уверен в человеке - всегда нужно иметь план Б, а еще лучше и B
3. Когда все летит к черту, только спокойствие, адекватность и предсказуемость помогает решить ситуацию
4. Иногда ты покупаешь решение, иногда опыт. И еще не известно что ценнее
👍4
Никогда не умел решать задачи строго в одной предметной области.
То я фронтендщик, то я бэкендщик, то занимаюьсь вопросами devops, то сую свой нос в организацию процессов и принятия решений. А на досуге провожу тех интервью.
И везде мне все интересно. И везде через некоторое количество времени, после некоторых затраченных усилий получается хороший результат.
Этим ИТ и интересно, всегда можно найти что-то нужно для клиента, где и ты сам чему-то научишься, и пользу бизнесу принесешь.
То я фронтендщик, то я бэкендщик, то занимаюьсь вопросами devops, то сую свой нос в организацию процессов и принятия решений. А на досуге провожу тех интервью.
И везде мне все интересно. И везде через некоторое количество времени, после некоторых затраченных усилий получается хороший результат.
Этим ИТ и интересно, всегда можно найти что-то нужно для клиента, где и ты сам чему-то научишься, и пользу бизнесу принесешь.
👍1
Делаю MVP своего нового проекта.
Морально готовился почти год. Период осознания, внутренней трансформации, накопления энергии занял время.
То сил не было, то идея еще не созрела, то еще что-то.
В этом месяце как-то все сложилось разом. И за 3 вечера я оформил и идею и набросок проекта.
Вчера получил договор на подписание с эквайринговой системой. Сегодня подготовлю документы для еще одного партнера.
Параллельно после основной работы пишу брифы для диджитал агентства, которое должно провести аудит для моего зарождающегося проекта и подсказать путь движения.
Илья, ну вот чего тебе все время не сидится на одном месте и ты все время занимаешься какой-то фигней? Писал бы код, молчал в тряпочку и не выпендривался.
Потому что - Интересно. Любопытно. Хочется что-то создавать и выдумывать. Характер такой.
Морально готовился почти год. Период осознания, внутренней трансформации, накопления энергии занял время.
То сил не было, то идея еще не созрела, то еще что-то.
В этом месяце как-то все сложилось разом. И за 3 вечера я оформил и идею и набросок проекта.
Вчера получил договор на подписание с эквайринговой системой. Сегодня подготовлю документы для еще одного партнера.
Параллельно после основной работы пишу брифы для диджитал агентства, которое должно провести аудит для моего зарождающегося проекта и подсказать путь движения.
Илья, ну вот чего тебе все время не сидится на одном месте и ты все время занимаешься какой-то фигней? Писал бы код, молчал в тряпочку и не выпендривался.
Потому что - Интересно. Любопытно. Хочется что-то создавать и выдумывать. Характер такой.
Становлюсь популярным 🔥🔥🔥
Злобные анонимы, которых бесит сам факт моего существования, наверное думают, что могут плохими комментариями меня вывести из себя.
Хотите страшную правду?
Самое страшное иметь не злобных хейтеров. С ними все понятно.
Самое страшное иметь ярых поклонников, которые знают о тебе все и годами следят за тобой и везде поддерживают, лайкают, и благодарят за каждое слово и действие.
Вот таких людей я и правда побаиваюсь 😅 Я просто не знаю как на них реагировать.
Злобные анонимы, которых бесит сам факт моего существования, наверное думают, что могут плохими комментариями меня вывести из себя.
Хотите страшную правду?
Самое страшное иметь не злобных хейтеров. С ними все понятно.
Самое страшное иметь ярых поклонников, которые знают о тебе все и годами следят за тобой и везде поддерживают, лайкают, и благодарят за каждое слово и действие.
Вот таких людей я и правда побаиваюсь 😅 Я просто не знаю как на них реагировать.
🤯2👍1
Сегодня случилось невероятное событие.
Чтобы пройти комплаенс у эквайринг партнёра мне впервые в жизни потребовался диплом.
Вы, говорят, подписаны под логином the-teacher. А вы правда тичер?
Тварь ли я дрожащая или право имею? Вот в чем вопрос.
Пришлось прислать свой красный диплом, трудовую книжку с записями о том, что я и правда был тичером и работал в гимназии, колледже, университете. Что был инженером фронтендщиком и очень быстро дорос в должности до синьера помидора.
А я даже и не знал, что у меня в трудовой есть такие записи. Сам в шоке. Никогда туда не заглядывал.
Чтобы пройти комплаенс у эквайринг партнёра мне впервые в жизни потребовался диплом.
Вы, говорят, подписаны под логином the-teacher. А вы правда тичер?
Тварь ли я дрожащая или право имею? Вот в чем вопрос.
Пришлось прислать свой красный диплом, трудовую книжку с записями о том, что я и правда был тичером и работал в гимназии, колледже, университете. Что был инженером фронтендщиком и очень быстро дорос в должности до синьера помидора.
А я даже и не знал, что у меня в трудовой есть такие записи. Сам в шоке. Никогда туда не заглядывал.
Это так очаровательно, когда ты сотрудничаешь с компанией, которая предоставляет услуги эквайринга.
Компания международная, вроде бы должно быть куча клиентов. Все процессы должны быть отлажены.
И вот я начинаю шаг за шагом проходить по пользовательскому пути, чтобы посмотреть процесс интеграции.
И начинается такоооое веселье!
Менеджеры дают не полную или не корректную информацию. И их процесс явно не отлажен.
Техническая служба интеграции даже не знает где располагаются необходимые файлы, которые описаны в документации.
Постоянно ссылаются на документацию, которая давно не обновлялась и не актуальна.
В общем, даже состоявшимся в своей сфере компаниям нужен ИТ аудит со стороны пользовательских ожиданий. И желательно на регулярной основе.
Компания международная, вроде бы должно быть куча клиентов. Все процессы должны быть отлажены.
И вот я начинаю шаг за шагом проходить по пользовательскому пути, чтобы посмотреть процесс интеграции.
И начинается такоооое веселье!
Менеджеры дают не полную или не корректную информацию. И их процесс явно не отлажен.
Техническая служба интеграции даже не знает где располагаются необходимые файлы, которые описаны в документации.
Постоянно ссылаются на документацию, которая давно не обновлялась и не актуальна.
В общем, даже состоявшимся в своей сфере компаниям нужен ИТ аудит со стороны пользовательских ожиданий. И желательно на регулярной основе.
🤯1
Ну и так знаете, что я много лет работал учителем.
У меня даже был свой курс по ИТ технологиям, который в свое время одобрил департамент образования и я читал его при университете много лет на платной основе. И таки имел успех.
Но моя учительская карьера закончилась тем, что я пришел к мысли, что я в основном работаю со взрослыми людьми и типичные учительские подходы для них малоэффективны.
Я пробовал менторить людей. Но это тоже довольно ограниченный инструмент, который полезен в очень ограниченный момент времени становления специалиста.
Судьба толкнула меня в коучинг. И мне понравилось.
Я спрашиваю у людей вопросы, которые помогают им понять глубже себя и свои действия, чтобы развиваться. Я слушаю, пытаюсь понять и снова задаю вопросы.
А еще я рассказываю о своем собственном опыте в профессии, и те истории, которые случились со мной и моими коллегами. Коллегам это нравится и они находят в этом ценность. Это круто.
У меня даже был свой курс по ИТ технологиям, который в свое время одобрил департамент образования и я читал его при университете много лет на платной основе. И таки имел успех.
Но моя учительская карьера закончилась тем, что я пришел к мысли, что я в основном работаю со взрослыми людьми и типичные учительские подходы для них малоэффективны.
Я пробовал менторить людей. Но это тоже довольно ограниченный инструмент, который полезен в очень ограниченный момент времени становления специалиста.
Судьба толкнула меня в коучинг. И мне понравилось.
Я спрашиваю у людей вопросы, которые помогают им понять глубже себя и свои действия, чтобы развиваться. Я слушаю, пытаюсь понять и снова задаю вопросы.
А еще я рассказываю о своем собственном опыте в профессии, и те истории, которые случились со мной и моими коллегами. Коллегам это нравится и они находят в этом ценность. Это круто.
👍5
В очередной раз сломал систему
Чтобы запустить эквайринг и получить успешный результат тестовой оплаты картой мне потребовалось всего 30 минут.
И это при том, что официальная библиотека JavaScript SDK недоступна.
Я содрал в интернете библиотеку для похожего проекта и догадался что нужно исправить.
Я путем экспериментов выяснил адрес API и тестового и продакшн.
Самому пришлось искать и подбирать тестовые данные.
Путем проб и ошибок получил результат. Честно говоря неожиданно для самого себя удачный. Просто решил попробовать. Удача случилась.
Если бы я был рядовым сотрудником обычной компании, то этот процесс бы занятнулся на дни и недели.
Мне не нужно было ничего ни с кем согласовывать. Чистый эксперимент. Чистый успех
Чтобы запустить эквайринг и получить успешный результат тестовой оплаты картой мне потребовалось всего 30 минут.
И это при том, что официальная библиотека JavaScript SDK недоступна.
Я содрал в интернете библиотеку для похожего проекта и догадался что нужно исправить.
Я путем экспериментов выяснил адрес API и тестового и продакшн.
Самому пришлось искать и подбирать тестовые данные.
Путем проб и ошибок получил результат. Честно говоря неожиданно для самого себя удачный. Просто решил попробовать. Удача случилась.
Если бы я был рядовым сотрудником обычной компании, то этот процесс бы занятнулся на дни и недели.
Мне не нужно было ничего ни с кем согласовывать. Чистый эксперимент. Чистый успех
👍4