Эх... Всё это уже "дела давно минувших дней, преданья старины глубокой" и не имеет значения. Скоро выхожу на новую работу.
Ну то есть вы решили скипнуть митинг, да? :-)
Митинг, конечно, НЕ решил пропустить: наличие/отсутствие договорённости о выступлении не повод для этого.
Или вас задевает что за з/п слишком маленькая, что бы делиться знаниями?
ОДНОСТОРОННЕ делиться знаниями по best practices И иметь маленькую з/п (компания деньгами оценивала меня как абсолютного джуна) - да, это "задевает".
Hidden text
Я, конечно, не против поделиться знаниями при любом уровне з/п, но в данной ситуации это была игра в одни ворота, на мой взгляд. На первом совещании выяснилось, что ребята всерьёз называют процедурное программирование функциональным, т.к. в нём "задача решается с помощью функций"! Ещё улучшение, которое обсуждалось на совещании - это преимущество использования bulk functions при взаимодействии с API AmoCRM: разработчик в штате сказал - "я стал передавать коллекции данных, а не одиночные объекты и всё ускорилось".
Hidden text
Это же прямо моё тестовое. Очевидно, что каждый вызов API нагружает сеть пакетами с данными и не надо отсылать их больше, чем необходимо. Пользователь может и с мобильным интернетом быть также.
Заодно, на первом совещании я поделился трюком с symbolic links для переключения Apache's root, что узнал, изучая статьи фулстек разработчика из Шотландии Gilbert Pellegrom. Это понял только тимлид. Ну, подискутировали с ним маленько. :-)
Когда перед вторым совещанием мне поступило предложение рассказать о коде, я уже догадывался, что всё опять будет крутиться вокруг моих слов и подумал: "Какого чёрта?! Компания оценивает меня как неопытного джуна в 30 тыс. руб. без официального оформления (август 2023, удалёнка). За такие деньги ОНИ должны меня учить и показывать best practices, а не наборот!". Возможно, я ошибаюсь.
Hidden text
Чтобы не сильно повторяться, скажу, что мой рассказ о коде тренировочного задания получил три обратные связи.
"Половина людей, что я смогу набрать, не будут понимать твой код." (с) Тимлид + Ещё подмешалось то, что основатель компании писал (простой) код на PHP.
Все эти красивые объекты надо будет переделывать, когда неожиданно поменяются требования, поэтому "процедурный код решает" (с) Разработчик в штате. На что я позже какой-то паттерн даже тимлиду прислал - мол, всё должно быть OK.
Вон, смотри, "WordPress на PHP написан" и "там нет особо современного кода и всё работает". На что я ответил, что WordPress создавался на PHP 4, и в то время не было тех возможностей языка, что есть сегодня. (Поэтому сейчас CMS и движется в сторону React AFAIK)
Нет, ответ тимлида на мою вежливую попытку отказаться я прочёл. Ответ был в духе: "это не займёт много времени". Дело было в пятницу вечером. (А совещания по понедельникам). Я уже забыл про эту просьбу за выходные, только понимал, что она выглядит ОЧЕНЬ странно.
Hidden text
Человек-стажёр на маленькой з/п, сделавший первую свою тренировочную задачу в компании, будет рассказывать остальным разработчикам в штате (код-то я их видел!), о подходах к разработке ПО (SOLID, design patterns, unit/integrational testing).
На совещание в понедельник я не торопился, как всегда. :-) Тут приходит личное сообщение: "Мы тебя все ждём". Небольшая вводная часть от тимлид и... Та-дам! "Я попросил Виталия рассказать о его подходе к решению задачи..." А дальше Вы знаете.
Во время выступления он даже сам поинтересовался, почему эта конкрентная часть кода устроена именно так, а не иначе. Позже, по реплике после моего доклада: "мне бы очень хотелось, чтобы ты у нас остался", я понял, что босс (самого тимлида) УЖЕ принял решение о моём увольнении. (А я РЕАЛЬНО вложился в то выступление: про декомпозицию, паттерны проектирования и использование symbolic links для быстрого переключения Apache's root рассказывал)
Ах-ах-ах! Вы раскрыли мой секрет. А чтобы показывать результаты в беге на 110 м с барьерами, надо всего лишь бегать и прыгать через барьеры. Тренеры-то не знают. (Экспериментируют, планы подготовки составляют, (само)обучаются и т.д.)
А можно привести пример репозитария с innovations? Такой существует в принципе? ( код ядра Linux в расчёт не берём :-) )
"Зипы и пдфки" были выложены в спешном порядке для подготовки к интервью. Названия system-design-coding-interview и system-design-coding-interview-4-project-boilerplate как бы намекали на это. К тому же, система контроля версий git позволяет из-коробки версионировать файлы любых форматов. Ничего непрофессионального в данной ситуации не вижу.
Вот примеры работ: фронтэнд (дизайн тоже мой) (см. первый абзац в дополнении к посту от 24.02.2024), бекэнд (пояснения: пп. 3, 4, 5). Если есть замечания по ним, интересно будет узнать. Такой дизайн не каждый middle/senior фулстек способен создать AFAIK.
А что Ваше чуство прекрасного скажет об этих двух художественных текстах о природе, о жизни, что создал я? О дизайне, созданном и закодировнном также мной с нуля?
( А вообще см. добавление к посту от 24.02.2024 - там ответы на все вопросы! :-) )
Что сказать-то хотел? (А также все, кто плюсанул коммент) Если есть что прокомментировать (относительно hard skills из добавления к посту от 24.02.2024), то пожалуйста.
А то в реале имеем тимлидов-повелителей (процедурного) кода на PHP 5.6 в 2023 году с отсутствующими навыками разработки крупных проектов. И главу компании, который ездит по ушам заказчикам и клиентам, как у них всё круто и быстро. В то время как ПО ФАКТУ один крупный проект они НЕ СМОГЛИ доделать до конца из-за банального отсутствия знаний.
По поводу психологических трюков. Дело было так. Сделал я тренировочное. Красиво сделал: SOLID, грамотная декомпозиция, все дела. Тут приходит мне сообщение от Team Lead с примером ПРОЦЕДУРНОГО решения этой задачи, т.е. натурально многоэкранный процедурный код на PHP 5.0, и сообщением: подготовь презентацию на митинге с преимуществом твоего подхода перед этим. Я попытался как-то вежливо отказаться - типа, погружен в реальное задание (правда разбирался с hooks Bitrix 24, изучением Google sheets API, вопросом коллизий в Google sheet), не до этого. Team lead мне что-то ответил. Потом на совещании ВНЕЗАПНО окрывает мой пример кода и говорит: "Я тут Виталия попросил рассказать о его подходе к решению задачи". И САМ готов открывать нужные файлы под мои пояснения. Вот тут уж вежливо отказаться не получилось. Невежливо отказаться я не сообразил. Попросил открыть дерево исходников. Мой код был в лучших традиция Patrick Shy :-))) (когда надо проектом работает тысяча программистов, длительное время говнокод писать НЕВОЗМОЖНО!) Я всё рассказал, подискутировал с остальными разработчиками, а дальше это уже другая история. :-)
Эх... Всё это уже "дела давно минувших дней, преданья старины глубокой" и не имеет значения. Скоро выхожу на новую работу.
Митинг, конечно, НЕ решил пропустить: наличие/отсутствие договорённости о выступлении не повод для этого.
ОДНОСТОРОННЕ делиться знаниями по best practices И иметь маленькую з/п (компания деньгами оценивала меня как абсолютного джуна) - да, это "задевает".
Hidden text
Я, конечно, не против поделиться знаниями при любом уровне з/п, но в данной ситуации это была игра в одни ворота, на мой взгляд. На первом совещании выяснилось, что ребята всерьёз называют процедурное программирование функциональным, т.к. в нём "задача решается с помощью функций"! Ещё улучшение, которое обсуждалось на совещании - это преимущество использования bulk functions при взаимодействии с API AmoCRM: разработчик в штате сказал - "я стал передавать коллекции данных, а не одиночные объекты и всё ускорилось".
Hidden text
Это же прямо моё тестовое. Очевидно, что каждый вызов API нагружает сеть пакетами с данными и не надо отсылать их больше, чем необходимо. Пользователь может и с мобильным интернетом быть также.
Заодно, на первом совещании я поделился трюком с symbolic links для переключения Apache's root, что узнал, изучая статьи фулстек разработчика из Шотландии Gilbert Pellegrom. Это понял только тимлид. Ну, подискутировали с ним маленько. :-)
Когда перед вторым совещанием мне поступило предложение рассказать о коде, я уже догадывался, что всё опять будет крутиться вокруг моих слов и подумал: "Какого чёрта?! Компания оценивает меня как неопытного джуна в 30 тыс. руб. без официального оформления (август 2023, удалёнка). За такие деньги ОНИ должны меня учить и показывать best practices, а не наборот!". Возможно, я ошибаюсь.
Hidden text
Чтобы не сильно повторяться, скажу, что мой рассказ о коде тренировочного задания получил три обратные связи.
"Половина людей, что я смогу набрать, не будут понимать твой код." (с) Тимлид + Ещё подмешалось то, что основатель компании писал (простой) код на PHP.
Все эти красивые объекты надо будет переделывать, когда неожиданно поменяются требования, поэтому "процедурный код решает" (с) Разработчик в штате. На что я позже какой-то паттерн даже тимлиду прислал - мол, всё должно быть OK.
Вон, смотри, "WordPress на PHP написан" и "там нет особо современного кода и всё работает". На что я ответил, что WordPress создавался на PHP 4, и в то время не было тех возможностей языка, что есть сегодня. (Поэтому сейчас CMS и движется в сторону React AFAIK)
Нет, ответ тимлида на мою вежливую попытку отказаться я прочёл. Ответ был в духе: "это не займёт много времени". Дело было в пятницу вечером. (А совещания по понедельникам). Я уже забыл про эту просьбу за выходные, только понимал, что она выглядит ОЧЕНЬ странно.
Hidden text
Человек-стажёр на маленькой з/п, сделавший первую свою тренировочную задачу в компании, будет рассказывать остальным разработчикам в штате (код-то я их видел!), о подходах к разработке ПО (SOLID, design patterns, unit/integrational testing).
На совещание в понедельник я не торопился, как всегда. :-) Тут приходит личное сообщение: "Мы тебя все ждём". Небольшая вводная часть от тимлид и... Та-дам! "Я попросил Виталия рассказать о его подходе к решению задачи..." А дальше Вы знаете.
Во время выступления он даже сам поинтересовался, почему эта конкрентная часть кода устроена именно так, а не иначе. Позже, по реплике после моего доклада: "мне бы очень хотелось, чтобы ты у нас остался", я понял, что босс (самого тимлида) УЖЕ принял решение о моём увольнении. (А я РЕАЛЬНО вложился в то выступление: про декомпозицию, паттерны проектирования и использование symbolic links для быстрого переключения Apache's root рассказывал)
Ах-ах-ах! Вы раскрыли мой секрет. А чтобы показывать результаты в беге на 110 м с барьерами, надо всего лишь бегать и прыгать через барьеры. Тренеры-то не знают. (Экспериментируют, планы подготовки составляют, (само)обучаются и т.д.)
А можно привести пример репозитария с innovations? Такой существует в принципе? ( код ядра Linux в расчёт не берём :-) )
"Зипы и пдфки" были выложены в спешном порядке для подготовки к интервью. Названия
system-design-coding-interview
иsystem-design-coding-interview-4-project-boilerplate
как бы намекали на это. К тому же, система контроля версий git позволяет из-коробки версионировать файлы любых форматов. Ничего непрофессионального в данной ситуации не вижу.Вот примеры работ: фронтэнд (дизайн тоже мой) (см. первый абзац в дополнении к посту от 24.02.2024), бекэнд (пояснения: пп. 3, 4, 5). Если есть замечания по ним, интересно будет узнать. Такой дизайн не каждый middle/senior фулстек способен создать AFAIK.
По soft skills, конечно, согласен на 100%.
А что Ваше чуство прекрасного скажет об этих двух художественных текстах о природе, о жизни, что создал я? О дизайне, созданном и закодировнном также мной с нуля?
( А вообще см. добавление к посту от 24.02.2024 - там ответы на все вопросы! :-) )
Что сказать-то хотел? (А также все, кто плюсанул коммент) Если есть что прокомментировать (относительно hard skills из добавления к посту от 24.02.2024), то пожалуйста.
А то в реале имеем тимлидов-повелителей (процедурного) кода на PHP 5.6 в 2023 году с отсутствующими навыками разработки крупных проектов. И главу компании, который ездит по ушам заказчикам и клиентам, как у них всё круто и быстро. В то время как ПО ФАКТУ один крупный проект они НЕ СМОГЛИ доделать до конца из-за банального отсутствия знаний.
По поводу психологических трюков. Дело было так. Сделал я тренировочное. Красиво сделал: SOLID, грамотная декомпозиция, все дела. Тут приходит мне сообщение от Team Lead с примером ПРОЦЕДУРНОГО решения этой задачи, т.е. натурально многоэкранный процедурный код на PHP 5.0, и сообщением: подготовь презентацию на митинге с преимуществом твоего подхода перед этим. Я попытался как-то вежливо отказаться - типа, погружен в реальное задание (правда разбирался с hooks Bitrix 24, изучением Google sheets API, вопросом коллизий в Google sheet), не до этого. Team lead мне что-то ответил. Потом на совещании ВНЕЗАПНО окрывает мой пример кода и говорит: "Я тут Виталия попросил рассказать о его подходе к решению задачи". И САМ готов открывать нужные файлы под мои пояснения. Вот тут уж вежливо отказаться не получилось. Невежливо отказаться я не сообразил. Попросил открыть дерево исходников. Мой код был в лучших традиция Patrick Shy :-))) (когда надо проектом работает тысяча программистов, длительное время говнокод писать НЕВОЗМОЖНО!) Я всё рассказал, подискутировал с остальными разработчиками, а дальше это уже другая история. :-)
P.S. Ответил на остальные комменты от @mano2020, @NechkaP, @Cels, @olku, @Ashot, @nev3rfail, @Avost, @alekssamos, а также @dsoastro, @drinkmaker, @SebPat, @JuryPol, @mefepe в посте.
Спасибо. Супер-адекватный ответ!