real_cv.pdf
31.2 KB
Многие спрашивают меня: как выглядит резюме настоящего сениора?
Ловите шаблон. Эксклюзивно для подписчиков канала.
Ловите шаблон. Эксклюзивно для подписчиков канала.
😁54🔥13🤔2👍1👎1
# Доверие к себе
Хочу обратить внимание на тонкую разницу между тем, чтобы понимать, как поступить правильно, и доверять своему пониманию правильного.
Я выделяю три этапа взросления. На первом этапе ты вообще не понимаешь, что правильно. На втором этапе ты представляешь, как будет правильно поступить. На третьем этапе ты знаешь как правильно и поступаешь так.
Лично я провел большую часть жизни на втором этапе. Ты уже представляешь правильное решение, но не веришь, что оно сделает тебе лучше. Откуда тебе знать, что твое представление о правильном адекватно?
Классический пример: люди, которые годами не могут уйти из неудачных отношений. Они знают, что правильно будет расстаться, но не делают этого. А вдруг это ошибка? Вдруг мне только кажется, что для меня так лучше? Вдруг я все поломаю и мне станет еще хуже? Возможно я вообще не представляю, что такое плохие или хорошие отношения?
В таком недоверии к себе люди часто говорят, что им нужно расстаться, сменить работу, начать ходить в зал, пойти учиться, уехать из России, и так далее. Но при этом делают обратное. Потому что нет уверенности, что, когда что-то кажется правильным, это действительно хорошо для тебя.
Недавно я оплошал и стал причиной неприятной ситуации. Это был этап fuck around. Потом наступил этап find out: время отвечать за последствия.
Раньше в таких ситуациях мой разум впадал в безвыходный капкан: нести ответственность не хочется, но и отрицать ее невозможно. Неразрешимая задача. Обнаруживался третий выход: отгрызть себе ногу. Агония, ненависть к себе, суицидальные мысли. Если мне очень плохо, то я уже в числе потерпевших сторон. Если я не совсем адекватен, то на мне не вся ответственность. Если я просто ужасный человек и ненавижу себя за это, то все это не моя вина, не последствия моих решений, а виновата неконтролируемая часть меня с которой ничего не поделать. Как правило я знал, что правильный выход это принять свою ответственность и встретиться с последствиями. Но я себе не вполне доверял, поэтому удавалось не всегда.
В этот раз я повел себя достойно, как, наверное, никогда раньше в подобных случаях. Без избегания и перекладывания ответственности, но и не беря на себя лишней вины. Без лжи, даже там, где она была бы мне выгодна. Без агрессии. Без манипуляций.
Дело в том, что в этот раз я не только слышал голос, который шепчет как правильно, но и прислушался к нему. Я доверяю себе, что принимаю хорошие решения. Я не обязательно прав и решение может оказаться ошибкой. Но я верю, что это лучшее, что я придумал на текущий момент, и готов нести ответственность за последствия. Я так же верю, что я справлюсь при любом исходе и все будет нормально.
Когда это попало в поле зрения, я стал замечать доверие к себе в других аспектах. Раньше такие крупные выборы как учеба, работа, место для жизни или выбор партнёра, ощущались как бросок монетки вслепую. Головой я все просчитывал, хорошо готовился и старался принять лучшее решение. Но все равно боялся: вдруг не сработает и я пожалею через несколько лет?
Теперь гораздо спокойнее. Я разберусь и все будет хорошо. Возможно где-то есть супероптимальный путь, гораздо лучше текущего, но я его не вижу и это нормально. Возможно под плиткой, на которой я стою, чемодан с миллиардом долларов. Но если я об этом не знаю, то нет никакой ошибки в том, чтобы пройти мимо. Зато я точно знаю, что разберусь с теми вещами, которые вижу и знаю.
Откуда это взялось и почему раньше такого не было? Думаю, что много проб и ошибок дали неожиданные плоды. Удивительно, но потребовалось двадцать шесть лет барахтаний, чтобы поверить, что я более-менее понимаю, что делаю.
Зато это очень приятное ощущение. Кажется, будто можно перешануть море. Не как раньше, когда все казалось по силам просто потому что я такой уникальный молодец и мне обязательно улыбнется удача. Теперь подход другой: море не по колено, но я смогу изучить проблему, смогу сделать достаточно попыток, смогу дойти до конца или уйти, если оно того не стоит. В любом случае я смогу сделать так, как будет лучше для меня.
Хочу обратить внимание на тонкую разницу между тем, чтобы понимать, как поступить правильно, и доверять своему пониманию правильного.
Я выделяю три этапа взросления. На первом этапе ты вообще не понимаешь, что правильно. На втором этапе ты представляешь, как будет правильно поступить. На третьем этапе ты знаешь как правильно и поступаешь так.
Лично я провел большую часть жизни на втором этапе. Ты уже представляешь правильное решение, но не веришь, что оно сделает тебе лучше. Откуда тебе знать, что твое представление о правильном адекватно?
Классический пример: люди, которые годами не могут уйти из неудачных отношений. Они знают, что правильно будет расстаться, но не делают этого. А вдруг это ошибка? Вдруг мне только кажется, что для меня так лучше? Вдруг я все поломаю и мне станет еще хуже? Возможно я вообще не представляю, что такое плохие или хорошие отношения?
В таком недоверии к себе люди часто говорят, что им нужно расстаться, сменить работу, начать ходить в зал, пойти учиться, уехать из России, и так далее. Но при этом делают обратное. Потому что нет уверенности, что, когда что-то кажется правильным, это действительно хорошо для тебя.
Недавно я оплошал и стал причиной неприятной ситуации. Это был этап fuck around. Потом наступил этап find out: время отвечать за последствия.
Раньше в таких ситуациях мой разум впадал в безвыходный капкан: нести ответственность не хочется, но и отрицать ее невозможно. Неразрешимая задача. Обнаруживался третий выход: отгрызть себе ногу. Агония, ненависть к себе, суицидальные мысли. Если мне очень плохо, то я уже в числе потерпевших сторон. Если я не совсем адекватен, то на мне не вся ответственность. Если я просто ужасный человек и ненавижу себя за это, то все это не моя вина, не последствия моих решений, а виновата неконтролируемая часть меня с которой ничего не поделать. Как правило я знал, что правильный выход это принять свою ответственность и встретиться с последствиями. Но я себе не вполне доверял, поэтому удавалось не всегда.
В этот раз я повел себя достойно, как, наверное, никогда раньше в подобных случаях. Без избегания и перекладывания ответственности, но и не беря на себя лишней вины. Без лжи, даже там, где она была бы мне выгодна. Без агрессии. Без манипуляций.
Дело в том, что в этот раз я не только слышал голос, который шепчет как правильно, но и прислушался к нему. Я доверяю себе, что принимаю хорошие решения. Я не обязательно прав и решение может оказаться ошибкой. Но я верю, что это лучшее, что я придумал на текущий момент, и готов нести ответственность за последствия. Я так же верю, что я справлюсь при любом исходе и все будет нормально.
Когда это попало в поле зрения, я стал замечать доверие к себе в других аспектах. Раньше такие крупные выборы как учеба, работа, место для жизни или выбор партнёра, ощущались как бросок монетки вслепую. Головой я все просчитывал, хорошо готовился и старался принять лучшее решение. Но все равно боялся: вдруг не сработает и я пожалею через несколько лет?
Теперь гораздо спокойнее. Я разберусь и все будет хорошо. Возможно где-то есть супероптимальный путь, гораздо лучше текущего, но я его не вижу и это нормально. Возможно под плиткой, на которой я стою, чемодан с миллиардом долларов. Но если я об этом не знаю, то нет никакой ошибки в том, чтобы пройти мимо. Зато я точно знаю, что разберусь с теми вещами, которые вижу и знаю.
Откуда это взялось и почему раньше такого не было? Думаю, что много проб и ошибок дали неожиданные плоды. Удивительно, но потребовалось двадцать шесть лет барахтаний, чтобы поверить, что я более-менее понимаю, что делаю.
Зато это очень приятное ощущение. Кажется, будто можно перешануть море. Не как раньше, когда все казалось по силам просто потому что я такой уникальный молодец и мне обязательно улыбнется удача. Теперь подход другой: море не по колено, но я смогу изучить проблему, смогу сделать достаточно попыток, смогу дойти до конца или уйти, если оно того не стоит. В любом случае я смогу сделать так, как будет лучше для меня.
❤30👍8🔥3🤔1
Это кстати не к тому, что всем нужно доверять себе. Если вы принимаете плохие решения, то доверять себе стоит только трижды все перепроверив. Доверие должно быть подтверждено опытом. Но стоит избегать ситуации, когда вы уже неплохо принимаете решения, но все равно себе не доверяете.
👍3
К предыдущей заметке надо кое-что добавить: доверие к себе не распространяется сразу на все аспекты жизни, как я сегодня выяснил.
Мне приснился сон: человек говорит мне в лицо, что собирается меня избить и пытать. Если ты понимаешь, что тебя попытаются убить, есть только один разумный выход: убить первым. Во сне я понимал это, но оцепенел и не решался. Проснулся со сжатыми мышцами и весь в поту. Я так и не узнал, осмелился я ударить первым или нет.
Это привело к пониманию: я не доверяю себе поступить верно в экстренной ситуации. По долгосрочному планированию я уже как минимум кандидат в мастера спорта, но я не знаю, что со мной будет, когда надо принимать решение прямо сейчас. В жизни было несколько экстренных ситуаций, в которых я просто цепенел.
Видимо познание закончится только после смерти.
Мне приснился сон: человек говорит мне в лицо, что собирается меня избить и пытать. Если ты понимаешь, что тебя попытаются убить, есть только один разумный выход: убить первым. Во сне я понимал это, но оцепенел и не решался. Проснулся со сжатыми мышцами и весь в поту. Я так и не узнал, осмелился я ударить первым или нет.
Это привело к пониманию: я не доверяю себе поступить верно в экстренной ситуации. По долгосрочному планированию я уже как минимум кандидат в мастера спорта, но я не знаю, что со мной будет, когда надо принимать решение прямо сейчас. В жизни было несколько экстренных ситуаций, в которых я просто цепенел.
Видимо познание закончится только после смерти.
👍4🐳2🔥1
#лабораторный_журнал
В компании проходит ассесмент (есть такое слово?) архитектуры, практик кода и всего такого прочего внешним консультантом. Я вышел на работу к его концу, поэтому увидел только результаты. Ожидал набор баззвордов про клин аркитекчу, но оказалось очень хорошо. Я понял, что человек понимает о чем говорит, когда дошел до пункта о том, что тесты это спецификация кода, а не QA. Этот аспект часто не понимают даже тертые калачи-сеньоры. Юнит-тесты это инвариант для вашего кода, а тесты в целом это инвариант для системы.
В целом советы такие: делайте Continious Integration, делайте Test Driven Development, гоняйте тесты автоматически в CI, делайте Continious Delivery (деплой в CI), пишите документацию, нарисуйте уже схему архитектуры.
И не делайте всякой херни:
* Не пишите тесты, которые ничего не проверяют.
* Не тестируйте на продакшн бд. Обычно в этом повинны фронтендеры.
* Не делайте прямых зависимостей сервисов от инфраструктуры. Захардкоженные connection string это зло. Нужно что-то из БД соседнего сервиса? Не лезь в БД, спроси API. Нужна какая-то нетривиальная обработка? Положи задачу в очередь сообщений.
Читаешь такие рекомендации и думаешь: неужели кто-то так делает? Потом вспоминаешь: да, все это делают, повсеместно. Страшно жить.
Так же узнал для себя много нового. Оказывается Git Flow это уже не модно, а модно Trunk Based Development. Выглядит как безумная ересь, но может я чего-то не понимаю. Так же есть нечто под названием Hexagonal Architecture, тут мне пока нечего сказать.
Если бы мне нужно было выделить две главные компоненты качества софта, я бы выбрал такие:
* Минимум связности (в смысле coupling)
* Тесты
Ассесмент с этим взглядом совпадает.
В компании проходит ассесмент (есть такое слово?) архитектуры, практик кода и всего такого прочего внешним консультантом. Я вышел на работу к его концу, поэтому увидел только результаты. Ожидал набор баззвордов про клин аркитекчу, но оказалось очень хорошо. Я понял, что человек понимает о чем говорит, когда дошел до пункта о том, что тесты это спецификация кода, а не QA. Этот аспект часто не понимают даже тертые калачи-сеньоры. Юнит-тесты это инвариант для вашего кода, а тесты в целом это инвариант для системы.
В целом советы такие: делайте Continious Integration, делайте Test Driven Development, гоняйте тесты автоматически в CI, делайте Continious Delivery (деплой в CI), пишите документацию, нарисуйте уже схему архитектуры.
И не делайте всякой херни:
* Не пишите тесты, которые ничего не проверяют.
* Не тестируйте на продакшн бд. Обычно в этом повинны фронтендеры.
* Не делайте прямых зависимостей сервисов от инфраструктуры. Захардкоженные connection string это зло. Нужно что-то из БД соседнего сервиса? Не лезь в БД, спроси API. Нужна какая-то нетривиальная обработка? Положи задачу в очередь сообщений.
Читаешь такие рекомендации и думаешь: неужели кто-то так делает? Потом вспоминаешь: да, все это делают, повсеместно. Страшно жить.
Так же узнал для себя много нового. Оказывается Git Flow это уже не модно, а модно Trunk Based Development. Выглядит как безумная ересь, но может я чего-то не понимаю. Так же есть нечто под названием Hexagonal Architecture, тут мне пока нечего сказать.
Если бы мне нужно было выделить две главные компоненты качества софта, я бы выбрал такие:
* Минимум связности (в смысле coupling)
* Тесты
Ассесмент с этим взглядом совпадает.
👍14❤4🔥1🤔1
Из нового узнал про Mutant Testing.
Главная проблема с тестами всегда в том, что ты не знаешь, насколько твои тесты отлавливают проблемы. В пределе у тебя может быть 100% coverage тестами, которые ничего не проверяют.
Идея mutant testing: меняем код немного (например, там где в коде if True, ставим if False) и проверяем, провалились тесты или нет.
Вот инструмент для Python
https://mutatest.readthedocs.io/en/latest/
1. Находит тесты (подхватил pytest сразу)
2. Строит AST кода покрытого тестами
3. Случайно меняет AST в нескольких местах
4. Проверяет, упали ли тесты, затрагивающие места изменений.
Запустил, сразу обнаружилось пару мест, которые тесты не проверяют. Клевая штука.
Главная проблема с тестами всегда в том, что ты не знаешь, насколько твои тесты отлавливают проблемы. В пределе у тебя может быть 100% coverage тестами, которые ничего не проверяют.
Идея mutant testing: меняем код немного (например, там где в коде if True, ставим if False) и проверяем, провалились тесты или нет.
Вот инструмент для Python
https://mutatest.readthedocs.io/en/latest/
1. Находит тесты (подхватил pytest сразу)
2. Строит AST кода покрытого тестами
3. Случайно меняет AST в нескольких местах
4. Проверяет, упали ли тесты, затрагивающие места изменений.
Запустил, сразу обнаружилось пару мест, которые тесты не проверяют. Клевая штука.
👍15🔥4👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Впервые увидел океан. Край континента! Ожидал, что это будет как сходить на море, но оказалось, что океан это стихия совсем другого масштаба.
🔥40🐳29
4% - 16% шанс применения ядерного оружия в течение года по разным прогнозам. What a time to be alive.
https://astralcodexten.substack.com/p/mantic-monday-101722?utm_source=post-email-title&publication_id=89120&post_id=78827762&isFreemail=true&utm_medium=email
https://astralcodexten.substack.com/p/mantic-monday-101722?utm_source=post-email-title&publication_id=89120&post_id=78827762&isFreemail=true&utm_medium=email
Astralcodexten
Mantic Monday 10/17/22
What do Sam Altman, Matt Bruenig, and the Sacramento Kings have in common? -- Are the polls wrong? -- CFTC vs. Everybody
🔥1
https://www.bloomberg.com/opinion/articles/2022-10-12/defi-discovers-new-market-manipulations
Так так, DeFi позволяет манипулировать ценами торгуя самим с собой с разных счетов. При этом такое почти невозможно провернуть с кожаными человеками из-за наличия у них т.н. common sense.
Так так, DeFi позволяет манипулировать ценами торгуя самим с собой с разных счетов. При этом такое почти невозможно провернуть с кожаными человеками из-за наличия у них т.н. common sense.
🤔3👍1
#лабораторный_журнал
Наблюдаю все плюсы и минусы работы в офисе. Мне очень помогает собраться. Всем синьорам явно не мешает, работают как машины. Джуны же точат лясы едва ли не больше, чем работают. Пока не понимаю: офис это net bad или net good. Пока что вывод, что офис это net good для middle+, net bad для джунов.
Настроение стать тираном и микроменеджить.
Наблюдаю все плюсы и минусы работы в офисе. Мне очень помогает собраться. Всем синьорам явно не мешает, работают как машины. Джуны же точат лясы едва ли не больше, чем работают. Пока не понимаю: офис это net bad или net good. Пока что вывод, что офис это net good для middle+, net bad для джунов.
Настроение стать тираном и микроменеджить.
😁11👎3👍1
Разбираюсь потихоньку в оптике и камерах
https://ciechanow.ski/cameras-and-lenses/
https://ciechanow.ski/cameras-and-lenses/
ciechanow.ski
Cameras and Lenses – Bartosz Ciechanowski
Interactive article explaining how cameras and lenses work.
❤5👍2🔥2😱2
#лабораторный_журнал
Сижу и рисую диаграммы бизнес процессов и архитектуры в рамках перехода на serious shit уровень и по причине полной заблокированности в реальных задачах. Сначала рисовать квадратики ощущалось как булщит-менеджмент (ведь можно же просто код написать), но я уже понял, что это действительно очень полезно. Сильно помогает с коммуникацией с коллегами, что в свою очередь помогает получать от них то, что нужно для работы. Особенно если хочется, чтобы система не пропала с вашим уходом из компании.
Для описания процессов на верхнем уровне мне нравится BPMN. Но Miro почему-то хочет за него дополнительных денег несмотря на платный тариф. Поэтому в качестве близкой альтернативы есть Swimlane Diagram.
Относительно архитектуры мне нравится C4 model. В отличие от других моделей не накладывает каких-то ограничений на то, какие именно квадратики надо рисовать. Просто передает общую идею: рисуем диаграммы на 4 уровнях детализации. На практике хватает двух: уровень сервисов, где каждый сервис это один квадратик, и уровень контейнеров, где каждый кусок софта (API, БД, Async job, Redis, RabbitMQ, итд) это один квадратик.
Довольно прикольный новый мир. Все эти разные способы рисовать квадратики напоминают мне разные фреймворки в программировании.
Сижу и рисую диаграммы бизнес процессов и архитектуры в рамках перехода на serious shit уровень и по причине полной заблокированности в реальных задачах. Сначала рисовать квадратики ощущалось как булщит-менеджмент (ведь можно же просто код написать), но я уже понял, что это действительно очень полезно. Сильно помогает с коммуникацией с коллегами, что в свою очередь помогает получать от них то, что нужно для работы. Особенно если хочется, чтобы система не пропала с вашим уходом из компании.
Для описания процессов на верхнем уровне мне нравится BPMN. Но Miro почему-то хочет за него дополнительных денег несмотря на платный тариф. Поэтому в качестве близкой альтернативы есть Swimlane Diagram.
Относительно архитектуры мне нравится C4 model. В отличие от других моделей не накладывает каких-то ограничений на то, какие именно квадратики надо рисовать. Просто передает общую идею: рисуем диаграммы на 4 уровнях детализации. На практике хватает двух: уровень сервисов, где каждый сервис это один квадратик, и уровень контейнеров, где каждый кусок софта (API, БД, Async job, Redis, RabbitMQ, итд) это один квадратик.
Довольно прикольный новый мир. Все эти разные способы рисовать квадратики напоминают мне разные фреймворки в программировании.
Lucidchart
BPMN Tutorial
Learn the essentials of BPMN and BPMN 2.0, along with the history, purpose, benefits, symbols, diagram types, and key tips for business process modeling.
👍24
Думал сделать лонгрид в стиле “обычный человек пытается разобраться в глобальном потеплении”. Понять, насколько угроза реальна, чем нам грозит увеличение средней температуры на четыре градуса, какие есть альтернативные взгляды и критика.
Оказалось, что разбираться не в чем. Вопрос не научный, а сугубо политический. Этот лонгрид уже существует в лучшем виде: на страницах википедии. Весь спор сводится к желанию или не желанию зайти и прочитать, может быть перейти по нескольким ссылкам и убедиться своими глазами.
Tldr: это буквально самая масштабная проблема в истории человечества. Если не случится чуда, то треть наших детей или внуков вероятно будут жить в условиях Сахары. Чуда скорее всего не случится, потому что оно требует кооперации примерно всех стран мира. Мы в первом мире почувствуем сильные эффекты уже лет через 15-30, так что нам повезло, мы застанем пиздец несравнимых масштабов при жизни!
Оказалось, что разбираться не в чем. Вопрос не научный, а сугубо политический. Этот лонгрид уже существует в лучшем виде: на страницах википедии. Весь спор сводится к желанию или не желанию зайти и прочитать, может быть перейти по нескольким ссылкам и убедиться своими глазами.
Tldr: это буквально самая масштабная проблема в истории человечества. Если не случится чуда, то треть наших детей или внуков вероятно будут жить в условиях Сахары. Чуда скорее всего не случится, потому что оно требует кооперации примерно всех стран мира. Мы в первом мире почувствуем сильные эффекты уже лет через 15-30, так что нам повезло, мы застанем пиздец несравнимых масштабов при жизни!
😢19👍7