По этому, нужно спрашивать не абстракции «хорошо ли у вас работать», а конкретные вещи — размер команды, используемые технологии, наличие тестов, CI/CD, ревью кода. По этим вещам уже можно сделать все нужные выводы.
В одной компании мне встретился рекрутер, который поддержал меня морально и посоветовал поднять ожидания от зарплаты на 30%, потому что когда человек с моей квалификацией просит меньше, это выглядит подозрительно. Я удивился, но так и сделал. В результате успешно получил в том месте оффер.
Логика рекрутера в такой ситуации понятна (непонятны те, кто этого не понимает) — если удастся найти классного специалиста с зарплатой сильно ниже рынка, то, внезапно, владелец бизнеса будет требовать найти именно таких и в следующий раз. А о том, что такие люди исключения из правил — объяснять уже будет бесполезно.
По теме, лично у меня с годами сложился такой чек-лист для компаний (php back-end программист):
Наличие команды. Если команды нет — никакого нормального процесса разработки не будет
Фреймворк. Если команда разрабатывает проект на убогом и старом фреймворке — до свиданье. Если вам говорят, что 10 лет назад он был актуален, а сейчас уже некогда переписывать — значит на техдолг в компании забивают
Авто-тесты. Если их нет или они для галочки — значит разработка проходит в формате «тяп ляп и в продакшен»
Ревью кода. Если его нет — значит в команде нет на это времени, а значит разработка проходит в постоянно горящих сроках.
Всего 4 пункта, а 90% компаний по ним сразу отсеиваются.
Ну и некоторые отрасли можно занести сразу в черный список. Для меня это любые госкомпании и банки.
Мне кажется, что программисту (начинающему программисту) будет интереснее написать свой движок для текстовых игр, в которые он сможет добавлять любые свои хотелки, а не ограничиваясь лишь тем функционалом, который заложил другой разработчик.
Их отношения, начавшиеся в сети, получили свое закономерное развитие в том же формате: Крис сделал своей подруге предложение во время одного из сеансов связи по скайпу, и она ответила согласием.
Ах вот ты какой, современный успех в личной жизни!
P.S. Мне понравилась другая история целеустремленного человека — чтобы найти девушку мечты парень создал свой сайт знакомств, и просто прописал там себя в рекомендуемых кандидатах для женщин. И девушку нашел, и свой стартап сделал :)
Увольняться только потому что кто то другой халтурит?
Если человека это так беспокоит, что он создал отдельную тему — то почему бы и нет? Или вы считаете, что нужно терпеть? Тут, как говорится, каждый сам выбирает, как ему жить.
В команде разработки завёлся разработчик, который халтурит, и ты ничего не можешь с этим поделать. Если у вас никогда не было такого опыта, я вам завидую.
Вас насильно держат на работе что-ли? Ну не сошлись с кем-то — уволились и все. Тоже мне проблема.
У вас никогда в жизни не было проблем из-за внешнего по отношению к вам кода?
Происходит, на каждой работе. А работ было много. Каждый раз проходит борьба заграницы своей ответственности, за адекватные сроки и прочее. Ничего не дается просто так.
что у вас не было проблем не в силу тех причин, которые вы живописуете (собственной офигенности), а в силу некоторых куда более банальных вещей
Пошло-поехало. Может быть еще про маму мою что-то скажете? Давайте, в лучших традициях разборок школьников.
Я просто напомню, что вы в комментарии пришли с заявлением «нынче со сложностью всё хорошо, есть море всего, написанного до вас».
Я сказал, что сложность решается. Решается в тех компаниях и теми программистами, которые этого хотят.
В тех компаниях, и у тех программистов, которые ищут отговорки, а не способы добиться целей — да, им и известный орган мешает.
Этот тезис может существовать в стране фей и единорогов, но не в реальности
У меня складывается впечатление, что я разговариваю с человеком, который живет в каком-то Подмышкино со средней зарплатой в 15 тысяч рублей, и рассказывает всем о том, как плохо живется.
Ему говоришь о том, что можно жить по другому, но для этого нужно приложить усилия и соответствовать требованиям — начинаются разговоры «ну вот все мои знакомые тоже страдают, значит вы врете»
В реальности вы практически нигде не пишете «всё сам»
Да, обычно, не пишется (хотя на рынке такой дефицит крутых специалистов, что не удивлюсь, если какому-то гению дадут писать все с нуля). Но вот лично я работаю с тем стеком, который мне нравится, который написан качественно. И (возможно это вас удивит) всем работодателям на собеседовании я это сразу говорю, и обозначаю это как приоритет в поиске работы. Если вы работаете с кривым стеком — это ваши проблемы.
Все же просто и очевидно: становитесь ценным специалистом чтобы за вами стояла очередь из HR, закрываете финансовый вопрос (чтобы выбирать работу по принципу «нравится/не нравится»), определяете свои интересы и четко озвучиваете их работодателям (например, если у вас неприятие сторонних библиотек — прямо озвучиваете, что я все что нужно напишу сам, так будет проще и быстрее).
И… готово. Работаете в компаниях и проектах, которые вам нравятся, с технологиями, которые вам нравятся.
А если, этого нет — то, может быть, проблему нужно искать в себе?
Вон, Хром — весь такой распрекрасный и отличный браузер, включает в себя тыщи библиотек и всё вот это, но если у вас из-за бага в Хроме будет неправильно работать сайт — разбираться с этим будете всё равно вы.
Вы перескакиваете из одной темы на другую. В программировании есть нормальные и токсичные области. Разработка на Windows или web frond-end — это токсичные области. Даже если человека, по незнанию, занесло в эту область — никто не заставляет там оставаться.
Это тоже самое, что работать программистом в какой-нибудь российской госкомпании, и проблемы этой компании переносить на всю область в целом.
И, конечно же, в ней поднимается тема сложности кода. Вы узнаете о том, откуда она берется, почему ее нельзя убрать и как с ней жить.
*Вот это поворот*
А ничего, что сами языки программирования (и соответственно код, написанный на них), за последние десятилетия стали сильно проще и удобнее? Не говоря уже о тысячах библиотек, которые легко подключаются и дают удобный интерфейс для использования.
Но несмотря на двадцатилетний опыт в программировании, Григорий признается: писать читаемый код до сих пор тяжело.
Этот Григорий пишет юнит тесты, использует DDD-подход? Я вижу в своем окружении программистов, которые не смотря на 10+ летний опыт пишут ужасный код, с которым тяжело работать. Но это происходит только потому, что они и не пытаются писать хороший код. Отсутствие самокритичности — своеобразное проклятье для человека.
P.S.
Складывается впечатление, что автор путает понятия «объем кода»/«читаемость кода»/«сложность кода». Объемы коды — да, убрать трудно, чаще всего его количество только растет за счет использования фреймворков и библиотек, но вот читаемость и сложность решается на ура.
Вам не будут смущаться врать в лицо из раза в раз, когда все участники разговора понимают, что это ложь, но самое главное — вас никто ничему не будет хотеть научить.
Нужно понимать, что:
Желающих ворваться в IT сейчас вагон и тележка. Вас много, а когда чего-то много — это не ценят
Все, кто хоть что-то понимают в IT и обучении знают, что изучить то, что дают на курсах, можно и самому, а соответственно, приходят на курсы лентяи, которые хотят, чтобы им все разжевали, положили в рот, и даже проглотили за них. Отношение — соответствующее.
Конечно, как любой покупатель чего-либо — вы имеете право и должны требовать должного к себе отношения и качество покупаемого продукта, но про то, как это выглядит со стороны забывать не стоит.
И, к сожалению, это просто бизнес. Делать деньги на ваЙТишниках сейчас очень выгодно.
Учитывая, как быстро, по факту, в мире отменяется трудовой кодекс, с его 8 часовым рабочим днем, оплачиваемыми больничными и отпусками, через 20-30 лет основная масса людей будет работать по 60+ часов в неделю, и думать не о сексе или секс-роботах, а о том, как бы просто выспаться.
Кто-то тут на Хабре писал, что тестовые задания фу-фу-фу, но я-то знаю, что задания на кодинг как старый добрый кольт: уравнивают всех. Много опыта, мало опыта, красивое CV или его отсутствие — покажите мне свой код, и я скажу, кто вы.
Давайте все же сделаем важное разделение:
Оценивать кандидата по коду на github — да, это отлично
Оценивать кандидата по способности писать код на самом собеседовании, это такое себе, потому что:
Кандидат может стрессовать (обычный рабочий день и собеседование это не одно и тоже)
Кандидат может быть не выспавшимся, уставшим, и т.д.
Даже если кандидат выспался и здоров, но собеседование вечером — представляете, но до вашего собеседования у него могли быть другие. Где такие же умники как вы — выносили ему мозг алгоритмами и кодом
Любые 100500 причин, по которым именно в этот момент кандидат не в лучшей рабочей форме
Конечно, как организовывать подбор дело личное, вот только не надо после этого разводить сопли «какие все никчемные, и при этом хотят 100500 миллионов.
Заголовок не врёт — до меня компания забраковала 1400 кандидатов.
Ну да, ну да, компания забраковала 1400 кандидатов. И конечно же все они жаждали в ней работать.
Напомнило:
— Здравствуйте, предлагаем работу в компании Рога и Копыта
— Авто-тесты пишите? Ревью кода делаете? Зарплата белая?
— Вы нам не подходите!
На моей практике банки — самые неприятные работодатели (даже на уровне собеседований). Куча ограничений (например, я работаю на Ubuntu, а в банках только Windows/Mac), и при этом предлагаемая зарплата на уровне других компаний. Спрашивается «в чем прикол»?
Следующим шагом была переделка сервиса в режим консольной программы и запуск из отдельного окна cmd — так можно было найти это окно и попытаться в нем прочитать последнее, что пытался нам сообщить сервер. Это, кстати, привело к потрясающей проблеме, когда сервер останавливался из-за клика мышью в консольное окно — включался режим выбора текста, останавливавший процесс.
Прослезился.
С одной стороны жалко, что не попал в разработку в начале нулевых (хотя мог, но судьба сложилась иначе), с другой стороны, как приятно, что работаю уже с linux, и таких проблем не знал.
Только недавно была эпопея с поиском новой работы — чего только не случалось — забывал, что делает GROUP BY, не мог написать простой SQL-запрос с одним JOIN и WHERE, с кодом тоже были тупняки, но спасал TDD подход — написал вначале тест, а потом методом подбора (на третье собеседование в день абстрактное мышление будто ушло в оффлайн) писал алгоритм.
Новую работу так и так нашел. А на тех, кто не делает скидку на то, что собеседование для программиста это не рядовая рабочая ситуация — да и пофиг на них.
На мой взгляд, переживать надо только в тех случаях, когда нет внутреннего желания развиваться в своей области — читать книги, изучать что-то новое, писать в личное время код, что-то выкладывать на github.
Несмотря на то, что в проекте уже многое сделано, он продолжает активно развиваться: проводятся оптимизации, добавляются новые функции.
И этот процесс будет бесконечным. При этом любой новый игровой проект, который будет разрабатываться на этой технологии будет сталкиваться с проблемой, что «вот конкретно нашу уникальную механику на нем не реализовать»
Нет ничего плохого, в реализации универсального инструмента, особенно если он заточен под определенный жанр, или вообще, под тип игр, где вся механика плюс-минус одинаковая, а меняется только 2D/3D графика.
Но, обычно, создание супер-пупер универсального инструмента под все случаи жизни приводит к появлению монстра, разбираться в котором дольше, чем написать нужный функционал с нуля.
Обычно, людям, верящим в «универсальный инструмент на все случаи жизни» я задаю вопрос — а почему в жизни мы не видим, чтобы появилось одно универсальное растение или животное, которое бы вытеснило (т.е. было лучше) всех остальных?
P.S. В любом случае команда разработчиков получит хороший опыт, так что успехов)
Логика рекрутера в такой ситуации понятна (непонятны те, кто этого не понимает) — если удастся найти классного специалиста с зарплатой сильно ниже рынка, то, внезапно, владелец бизнеса будет требовать найти именно таких и в следующий раз. А о том, что такие люди исключения из правил — объяснять уже будет бесполезно.
По теме, лично у меня с годами сложился такой чек-лист для компаний (php back-end программист):
Всего 4 пункта, а 90% компаний по ним сразу отсеиваются.
Ну и некоторые отрасли можно занести сразу в черный список. Для меня это любые госкомпании и банки.
Ах вот ты какой, современный успех в личной жизни!
P.S. Мне понравилась другая история целеустремленного человека — чтобы найти девушку мечты парень создал свой сайт знакомств, и просто прописал там себя в рекомендуемых кандидатах для женщин. И девушку нашел, и свой стартап сделал :)
Если человека это так беспокоит, что он создал отдельную тему — то почему бы и нет? Или вы считаете, что нужно терпеть? Тут, как говорится, каждый сам выбирает, как ему жить.
Вас насильно держат на работе что-ли? Ну не сошлись с кем-то — уволились и все. Тоже мне проблема.
Происходит, на каждой работе. А работ было много. Каждый раз проходит борьба заграницы своей ответственности, за адекватные сроки и прочее. Ничего не дается просто так.
Пошло-поехало. Может быть еще про маму мою что-то скажете? Давайте, в лучших традициях разборок школьников.
Я сказал, что сложность решается. Решается в тех компаниях и теми программистами, которые этого хотят.
В тех компаниях, и у тех программистов, которые ищут отговорки, а не способы добиться целей — да, им и известный орган мешает.
Мне надоел этот диалог.
У меня складывается впечатление, что я разговариваю с человеком, который живет в каком-то Подмышкино со средней зарплатой в 15 тысяч рублей, и рассказывает всем о том, как плохо живется.
Ему говоришь о том, что можно жить по другому, но для этого нужно приложить усилия и соответствовать требованиям — начинаются разговоры «ну вот все мои знакомые тоже страдают, значит вы врете»
Да, обычно, не пишется (хотя на рынке такой дефицит крутых специалистов, что не удивлюсь, если какому-то гению дадут писать все с нуля). Но вот лично я работаю с тем стеком, который мне нравится, который написан качественно. И (возможно это вас удивит) всем работодателям на собеседовании я это сразу говорю, и обозначаю это как приоритет в поиске работы. Если вы работаете с кривым стеком — это ваши проблемы.
Все же просто и очевидно: становитесь ценным специалистом чтобы за вами стояла очередь из HR, закрываете финансовый вопрос (чтобы выбирать работу по принципу «нравится/не нравится»), определяете свои интересы и четко озвучиваете их работодателям (например, если у вас неприятие сторонних библиотек — прямо озвучиваете, что я все что нужно напишу сам, так будет проще и быстрее).
И… готово. Работаете в компаниях и проектах, которые вам нравятся, с технологиями, которые вам нравятся.
А если, этого нет — то, может быть, проблему нужно искать в себе?
Вы перескакиваете из одной темы на другую. В программировании есть нормальные и токсичные области. Разработка на Windows или web frond-end — это токсичные области. Даже если человека, по незнанию, занесло в эту область — никто не заставляет там оставаться.
Это тоже самое, что работать программистом в какой-нибудь российской госкомпании, и проблемы этой компании переносить на всю область в целом.
*Вот это поворот*
А ничего, что сами языки программирования (и соответственно код, написанный на них), за последние десятилетия стали сильно проще и удобнее? Не говоря уже о тысячах библиотек, которые легко подключаются и дают удобный интерфейс для использования.
Этот Григорий пишет юнит тесты, использует DDD-подход? Я вижу в своем окружении программистов, которые не смотря на 10+ летний опыт пишут ужасный код, с которым тяжело работать. Но это происходит только потому, что они и не пытаются писать хороший код. Отсутствие самокритичности — своеобразное проклятье для человека.
P.S.
Складывается впечатление, что автор путает понятия «объем кода»/«читаемость кода»/«сложность кода». Объемы коды — да, убрать трудно, чаще всего его количество только растет за счет использования фреймворков и библиотек, но вот читаемость и сложность решается на ура.
Нужно понимать, что:
Конечно, как любой покупатель чего-либо — вы имеете право и должны требовать должного к себе отношения и качество покупаемого продукта, но про то, как это выглядит со стороны забывать не стоит.
И, к сожалению, это просто бизнес. Делать деньги на ваЙТишниках сейчас очень выгодно.
Давайте все же сделаем важное разделение:
Конечно, как организовывать подбор дело личное, вот только не надо после этого разводить сопли «какие все никчемные, и при этом хотят 100500 миллионов.
Ну да, ну да, компания забраковала 1400 кандидатов. И конечно же все они жаждали в ней работать.
Напомнило:
— Здравствуйте, предлагаем работу в компании Рога и Копыта
— Авто-тесты пишите? Ревью кода делаете? Зарплата белая?
— Вы нам не подходите!
Прослезился.
С одной стороны жалко, что не попал в разработку в начале нулевых (хотя мог, но судьба сложилась иначе), с другой стороны, как приятно, что работаю уже с linux, и таких проблем не знал.
Только недавно была эпопея с поиском новой работы — чего только не случалось — забывал, что делает GROUP BY, не мог написать простой SQL-запрос с одним JOIN и WHERE, с кодом тоже были тупняки, но спасал TDD подход — написал вначале тест, а потом методом подбора (на третье собеседование в день абстрактное мышление будто ушло в оффлайн) писал алгоритм.
Новую работу так и так нашел. А на тех, кто не делает скидку на то, что собеседование для программиста это не рядовая рабочая ситуация — да и пофиг на них.
На мой взгляд, переживать надо только в тех случаях, когда нет внутреннего желания развиваться в своей области — читать книги, изучать что-то новое, писать в личное время код, что-то выкладывать на github.
И этот процесс будет бесконечным. При этом любой новый игровой проект, который будет разрабатываться на этой технологии будет сталкиваться с проблемой, что «вот конкретно нашу уникальную механику на нем не реализовать»
Нет ничего плохого, в реализации универсального инструмента, особенно если он заточен под определенный жанр, или вообще, под тип игр, где вся механика плюс-минус одинаковая, а меняется только 2D/3D графика.
Но, обычно, создание супер-пупер универсального инструмента под все случаи жизни приводит к появлению монстра, разбираться в котором дольше, чем написать нужный функционал с нуля.
Обычно, людям, верящим в «универсальный инструмент на все случаи жизни» я задаю вопрос — а почему в жизни мы не видим, чтобы появилось одно универсальное растение или животное, которое бы вытеснило (т.е. было лучше) всех остальных?
P.S. В любом случае команда разработчиков получит хороший опыт, так что успехов)