Сообщество - Лига программистов
Добавить пост

Лига программистов

1 509 постов 11 409 подписчиков

Популярные теги в сообществе:

Почему я больше не буду учить программированию

Начну с того, что я уважаю людей, которые хотят лучшей жизни и поэтому стремятся войти в IT. Мне кажется, что преодоление себя это яркий процесс достойный отдельного фильма. Представьте, ещё вчера вы стояли за баром в кальянной, а сегодня уже пилите стартап на каком-нибудь хакатоне. Звучит воодушевляюще, согласны?

Признаться, я сам из числа тех, кто начал программировать достаточно поздно. Мне было 27 лет, я работал HR-менеджером в провинциальной больнице и ничего не предвещало того, что я буду писать код. Но это произошло. Через год самобичевания, через скепсис друзей и родственников, через ментальное перерождение я всё-таки стал разработчиком. Скажите, вы когда-нибудь искали друзей-программистов по резюме на hh? Вы когда-нибудь кормили их в ресторанах, чтобы они объяснили вам принципы ООП? Вы когда-нибудь таскали им сигариллы, чтобы они помогли с пет-проектом? А я это делал. И поэтому я сейчас там, где есть.

История 1. Бывший моей сестры

Молодой парень учился на последнем курсе в колледже. Нас познакомила моя сестра, потом он напросился в ученики. Говорил, что его вдохновляет моя история, и он тоже хотел бы сидеть в офисе, а не горбатиться на бетонном заводе.

Это был мой первый ученик, поэтому я относился к нему очень ответственно. Я отдал ему в пользование Macbook Air, купил подписку на сайт с домашками и стал проводить занятия по воскресеньям. Моя ошибка состояла в том, что я не проверял домашки. Прочитаю лекцию, покажу что-то на практике — всё понятно? Отлично, идём дальше!

Так продолжалось 4 месяца, пока я не спросил, чем константы отличаются от переменных. Выяснилось, что парень не сделал ни одной домашки и всё время симулировал интерес. Он боялся признаться, что ему не зашла разработка. А я жил в иллюзиях и не хотел верить в реальность.

История 2. Сослуживец

Мой армейский товарищ. Начитался моих постов в соцсетях и решил, что хочет стать программистом. Я согласился помочь, предложил заниматься каждое воскресенье. И тут началось…

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

История 3. Дочь маминой подруги

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

Мы списались с этой девушкой, она пребывала в диком восторге. Как и прежде договорились на видеовстречу в воскресенье. И она не пришла. Я подождал 15 минут, потом ушёл заниматься делами. Позже написал, что это недопустимо. И знаете что? Девушка заявила, что никому не обязана. На этом и разошлись.

Хороший опыт

Стоит добавить, что кроме этих персонажей был ещё один парень, который изначально проявил себя как умный и дисциплинированный человек. Возможно, дело в том, что до меня он уже программировал на другом языке. Нам понадобилось всего 3 месяца, чтобы он базово разобрался в стеке. А дальше мы нашли для него проект и понеслось.

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

Если вам понравилась моя история, приглашаю в мой телеграм-канал «Мама, я вайтишник». Там я пишу на тему «войти в IT» и даже шучу.

Показать полностью
Лига программистов

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT»

Получилось отследить довольно интересные тренды: как размер стажа в индустрии коррелирует с отношением к выдумыванию опыта в резюме, как в IT-среде на самом деле относятся к выпускникам школ в стиле «стань айтишником за год», а также рейтинг самых ненавидимых и респектуемых в среде профи школ.

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Титаническим усилием заставил себя не ставить на обложку статьи всамделишного фурри на велосипеде. (Да, я гуглил «furry wolf on a bike». Ну, типа, волчисто вкатывается в айти! Короче, не повторяйте мою ошибку...)

Я периодически публикую у себя на канале рекламу курсов по обучению IT-профессиям (тех, которые мне кажутся хорошими) – под которыми, понятно, регулярно начинаются срачи на тему «выпускников этих курсов потом никуда не берут, они умирают бедными и одинокими». Также я постоянно встречаю в Твиттере волкобаталии про так называемое приписывание опыта в резюме – с тезисами вроде «так делают вообще все, по-другому этот рынок труда не работает».

В какой-то момент мне стало интересно, насколько оба тезиса близки к правде, и я решил провести опрос среди своих подписчиков (вдохновленный опытом предыдущих больших опросов на более общие темы, на которые откликнулось прямо очень много людей). Собственно, результатам этого опроса и посвящена эта статья.

Кого я опрашивал: краткая социо-демография

Опрос заполнили 1104 человека. Основная масса людей пришла с поста у меня в ТГ-канале (доля айтишников среди моих подписчиков стабильно держится на уровне 50%), также какое-то количество заполнили после размещения объявления в Вастрик-клубе (но там количество просмотров примерно в 60 раз меньше, чем на канале).

Среди ответивших 93% (если быть точным – 1024, очень символично!) указали, что они работают в сфере IT (из них 25 человек прямо сейчас не работают, но тоже в целом считают себя айтишниками). Далее вся статистика приведена именно по этому «килобайту» выборки – мнение 7% тех, кто никогда не работал в IT, я посчитал нерелевантным для целей опроса.

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Средний возраст респондента 34 года, подавляющее большинство мужчины. По месту проживания выборка разделилась почти ровно пополам между Россией и другими странами.

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Две трети опрошенных получали (или получают прямо сейчас) высшее образование, которое можно считать более-менее профильным техническим для сферы IT. В отдельном вопросе 98% также указали, что они работают в IT именно на техническом направлении, а не в условных продажах или бухгалтерии (продактов я волевым решением тоже определил в «технарей»). Почти 70% работают на позиции Senior и выше.

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Средний стаж в индустрии среди заполнивших опрос получился 10 лет. Самый старший участник опроса (68 лет) указал, что он работает в IT уже 45 лет. Получается, когда я только родился, он уже почти 10 лет на советских перфокартах что-то там кодил! =)

Кто сколько (и где) зарабатывает

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Медиана дохода в России и за рубежом попала в одну и ту же категорию $31–60k, но в остальном наглядно видно, что в РФ доходы у айтишников пониже. Больше $60k в России зарабатывают только 17%, а за рубежом – 45%. При этом 42% российских айтишника из выборки получают меньше $30k (за бугром таких лишь 15%).

И те же самые данные в другой нарезке, по грейдам:

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Вызывают, конечно, вопросики «джуны» с зарплатой свыше $100k в год. Но тут надо вспомнить, что джунов среди ответивших было всего 5% – так что по факту за эти выбросы в данных ответственны буквально несколько человек. Уж не знаю, может они просто случайно ткнули не в тот вариант (или по-волчистому «работают» сразу на четырех удаленных работах).

Путь вкатывания в IT

Переходим к одной из ключевых тем, зачем я делал опрос: кто какими путями попал в айти.

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

В вопросе предлагалось выбрать тот фактор, который сыграл ключевую роль

Половина считает самостоятельную учебу главным фактором, а 10% вошли в индустрию через платные курсы. Если разбить эту метрику по длительности стажа, становится еще интереснее:

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Среди тех, кто начал работать в IT в последние 5 лет, доля заканчивавших платные курсы достигает аж 20–30%. Интересно, что актуальность университетского образования как основной дорожки в айти всё более и более размывается по мере продвижения к современности.

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

41% опрошенных айтишников ответили, что им довелось поработать с коллегами, пришедшими в индустрию после платных курсов – график выше построен на основе того, как они оценивают этот опыт

80% из тех, кто работал с выходцами с курсов, в целом не могут сказать про них что-то особо плохое в профессиональном плане. Только 20% из опрошенных относятся к ним выраженно негативно и хейтят их рабочие навыки.

Дополнительно я решил посмотреть отдельно ответы тех, кто собеседует кандидатов (70% опрошенных) и тех, кто в этом процессе никак не участвует (оставшиеся 30%). А то вдруг именно те, кто завязаны на процесс найма, никого не котируют кроме выпускников матмеха?

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Какой-то существенной разницы в ответах не видно. Да, среди нанимающих сотрудников сильно скептически смотрящих на выпускников курсов больше (21% против 13% у ненанимающих), но это в любом случае не очень высокая доля.

Приписки несуществующего опыта в резюме

Говорят, что недостаток практического опыта работы – это основная проблема для первого трудоустройства у свежевылупившихся айтишников. Мне было интересно, кто как справлялся с этим на практике.

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Здесь можно было выбрать сразу несколько вариантов ответа

Отдельный вопрос был про выдумывание опыта в резюме. 90% говорят, что никогда так не делали:

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

К этому вопросу было пояснение: «Речь идет про существенное искажение фактов: лишние годы опыта, работодатели или позиции, на которых вы по факту не работали, и т.д.)»

Впрочем, как мы помним из раздела чуть повыше, этот опрос в основном проходили IT-аксакалы, которые работают в индустрии по 10+ лет. Давайте посмотрим, как эти ответы меняются с ростом стажа:

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Подавляющее большинство по-прежнему старается не врать в резюме, но среди работающих в IT меньше 5 лет доля «CV-фантазеров» достигает уже 20–30%.

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT» Соцопрос, Статистика, IT, Учеба, Обучение, Резюме, Айтишники, Образование, Длиннопост

Отношение к припискам несуществующего опыта тоже сильно меняется в зависимости от стажа работы: среди «старичков» (10+ лет в IT) только 28% относительно лояльно смотрят на такие лайфхаки, а среди работающих меньше трех лет таких уже больше в два раза (55–56%).

Репутация разных школ

Отдельным блоком я включил вопросы о том, какие курсы IT-сообщество считает самыми качественными и, наоборот, самыми худшими. Вопросы были открытыми – можно было вписать любой вариант самостоятельно. Ниже приведена статистика по самым часто упоминавшимся названиям школ (набравшим свыше 10 упоминаний).

В уточняющем вопросе можно было еще вписать причины упоминания тех или иных школ – постарался привести примеры самых типичных ответов.

Какие онлайн-школы (провайдеры платных курсов по освоению IT-профессий), на ваш взгляд, дают самое качественное обучение на рынке?

  • Яндекс Практикум – 123. Из плюсов: «Сильное код ревью, помощь наставника», «Люди, их окончившие, могут успешно решать основные рабочие задачи, искать и находить нужную профессиональную информацию», «Учился сам и коллеги, там хорошие ревьюеры и в целом подход на результат (а не на какую-то вымышленную базу)», «Училась у них, хорошая статистика нашедших работу в ИТ».

  • Хекслет – 71. «Много сложной практики, есть глубина в преподаваемой теории», «У них инженерный подход», «Потому что я там учился и они дали мне отличную базу, теперь всем советую», «У меня друг там отучился и за 5 лет стал senior-teamlead».

  • Karpov.Courses – 37. «Я там учился и знаю на какой уровень вытягивают молодых специалистов; акцент на практике и в дальнейшем все переносится в работу», «Проходил их курс бесплатный на stepik, очень хороший», «Сам заканчивал Яндекс (и устроился после него) и участвовал у Карпова – у него сильнее мат часть».

  • Coursera – 31. За Курсеру, по сути, топят те, кто выступают за бесплатное самообразование: «Много бесплатных курсов, в которых даётся необходимая базовая информация», «Много качественного материала от топовых мировых вузов».

  • Udemy – 29. Юдеми в целом похожи по модели на Курсеру: «Это не онлайн школа, а агрегатор, на котором много качественных курсов под каждый технический скилл», «На udemy миллионы честных отзывов, что позволяет выбрать лучший курс», «Соотношение цена/качество, за небольшую плату можно получить достаточно большой пласт информации».

  • OTUS – 16. «В свое время прошел там очень хороший курс по Java», «Проходил их курс в рамках повышения квалификации».

  • Stepik – 14. Продолжение той же темы, что с Курсерой и Юдеми: «Очень много оставляют на стороне студента, давая лишь направление», «Популярные курсы, получившие награды», «Близко к реальным задачам».

  • ШАД (Школа анализа данных от Яндекса) – 12. «Отбор на входе сильный», «Преподаватели, уровень материала и поступающих», «Сильная база, не пойми кто не попадет».

  • Слёрм – 10. «Курсы без булшита, не для "вкатунов", так как требуется какой-то минимальный опыт».

И наоборот: какие онлайн-школы (провайдеры платных курсов по освоению IT-профессий), на ваш взгляд, дают наиболее бесполезное (некачественное) обучение?

Здесь только три школы смогли преодолеть порог в 10 упоминаний, но лидер среди них был виден невооруженным глазом. =)

  • Geekbrains, Skillbox, Skillfactory – 150. Все три компании входят в один холдинг Mail Group, их часто перечисляли через запятую – поэтому я их посчитал вместе (если упоминали 2 или 3 сразу, то засчитывал как за одно упоминание на человека). «Банальные записанные видеоуроки – бесплатных материалов схожего уровня и лучше очень много», «Слишком много негативных отзывов от знакомых и в профессиональном сообществе, предложения обучить до уровня проф за 3 месяца и т.д.», «Инфоцыганский маркетинг, обучение поставленное на поток с низким уровнем учебного материала, с проходными специалистами, которых ставят вести лекции, домашки проверяют сами студенты, редко обновляют обучающие программы», «Я собесил людей оттуда и технические знания были крайне низкими», «Очень дорого впаривают лохам общедоступную инфу».

  • Нетология – 25. «Пробовала сама, низкое качество материалов, всё это легко можно найти в бесплатных аналогах», «Проходила пару курсов. Вода и "говорящая голова", не понравились», «Смотрел материалы нетологии, знакомый учился там. Не научился в итоге работу не нашёл».

  • Яндекс Практикум – 19. Ребята умудрились попасть и в топ рейтинга, и в анти-рейтинг тоже. =) В этом разделе их иногда перечисляли последними с приписками вроде «На грани с нормальным – Яндекс.Практикум» / «Практикум, похоже, получше». Но были и более жесткие отзывы: «У меня есть сомнения в отношении Яндекс практикума. Я видел два случая выгорания людей после его прохождения. Они отдали две тысячи долларов только за то, чтобы их научили, что АйТи это не для них», «Тащат весь поток за собой, даже если ученик не успевает усваивать материал. К моменту совместной работы такие ученики будут тянуть команду назад», «Училась у них какое-то время, слишком просто», «Личный опыт. Не совсем дно, но неоправданно дорого».

На всякий случай дисклеймер: из всех перечисленных школ я рекламировал у себя на канале один раз Karpov.Courses (там же наш бро Игорь Котенков даже часть курса читает!), и периодически рекламирую разные курсы Практикума. Не думаю, что это могло как-то повлиять на результаты моего анализа опроса, но тем не менее.


Пишу интересно про финансы и современные технологии на канале RationalAnswer.

Показать полностью 13

Телеграм-бот, который поможет вам отслеживать свободные места для записи в поликлиниках Москвы

Решил написать ответ на этот пост

Эх, эта ЕМИАС не всегда ладит с нами, да и записаться утром в 7:30 — ну просто издевательство. Но, вот, недавно сделал Telegram-бота , который вам поможет!

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

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

Итак, берите Telegram в руки, добавляйте бота, пользуйтесь бесплатно, и не забывайте делиться вашими мыслями. Ведь вместе мы можем сделать жизнь немного проще! 🚀

Ссылка на бота: https://t.me/emias_msk_bot

Сайт с описанием: https://emias.powernic.ru/

Ищу наставника Unity C#

Я пробую заниматься разработкой игр на Unity. Получается как попало. А хочется по хорошему. Научиться разбивать проект на модули, встраивать отдельные системы, снизить связанность, понять как устанавливать зависимости, научиться делать тесты, разобраться с атрибутами. Делать код расширяемым!
В общем - ищу наставника.

Задача на 15 минут. Как она может вылиться в год разработки

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

Задача на 15 минут. Как она может вылиться в год разработки Личный опыт, Разработка, Программирование, IT, Длиннопост

Изображение честно сделал GIgachat Сбера. Порой Кандинский генерирует совсем уж упоротые картинки, но эта плюс минус похожа на моё состояние после 10 успешно профуканных дедлайнов.

У нас с командой есть такой проект, как homecrm. ru Мы долгое время работаем над автоматизацией бизнеса и уже получили много опыта, на основе которого можно проводить хоть какую-то экспертизу и прогнозирование плюс минус паровоз. За 7 лет разработки можем поделиться накопившемся багажом знаний, кучей получившихся проблем и путями их решений на основе этого стартапа.

С чего начинается идея

5 лет назад к нам приходит клиент и говорит: "Парни, я хочу собирать объявления с сайтов в один клик. Вот у меня список сайтов, на которые рекламируются все, кому не лень. Соберите мне всю информацию в реальном времени. Я готов заплатить за это 30 тысяч рублей."

Ну мы люди не гордые, провинциальные, можем и посмотреть. Заходим в интернет, видим статьи про парсинг на php, радуемся как ужаленные. ТЗ никакого нет, заказчик не составит его, т. к сам ничего в этом не понимает. Для него есть конечная цель и ему совершенно фиолетово, какие мы технологии используем, и как оно будет работать. Лишь бы был достигнут результат. В принципе, это типичный клиент, ему и не нужно ни в чём разбираться. Это сейчас я понимаю, что надо было писать тех задание, а тогда был зеленый, неопытный.

Так вот. Мы, одурманенные чувством простой прибыли, на коленке за 5 дней сделали парсер. Простой скрипт, который проходит и собирает список объявлений с сайта (с ави*о. ру, никому не скажем об этом). Ставим на сервер, по крону запускаем раз в час — всё работает. Получаем деньги и идем пить пиво.

Проходит 3 дня. Клиент позвонил и говорит: "Парни, а там больше не работает ничего. Я же деньги дал, а вы чего пытаетесь кинуть меня чтоли." Лезем в код — поменялась вёрстка на сайте. Следовательно и скрипт перестал работать. Мы переделали и запустили заново. Ну вот сейчас то точно ничего не произойдёт (-нет).

Прошла еще неделя. Снова звонок и снова доработки. И так по кругу в течение полугода. Нам повезло, что клиент разорился и уехал жить в Краснодар. Иначе бы мы никогда с ним не закончили.

Вообще, мы читали в интернете и на всяких интернет-курсах, что парсинг — это просто. Там вообще не надо ни с чём долбаться. Просто собирай огромный объем данных и продавай их. Нюансов то вообще нет, а клиентов просто тьма тьмущая. Сейчас точно могу сказать — ЭТО НЕ ТАК.

Мы решили, что в нашу crm’ку тоже нужно добавить парсер недвижимости, а то 2 из 3 людей просят парсер. Вроде бы и опыт есть уже, и скрипт писали. Провели опрос среди наших клиентов, собрали список самых приоритетных задач (это же бизнес нам сказал, что важно и полезно, как можно бизнесу то не верить), погнали разрабатывать. По срокам реализации посчитали около 1 месяца кропотливой работы.

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

1-я стадия MVP

Мы спарсили 3 сайта. На крон навесили задание, которое каждый день собирает инфу в одну большую базу для нашего города. Проработало 3 дня.

Список полученных проблем:

  1. Забанили IP, по которому мы парсили. Пришлось купить прокси. Добавили просто массив в код с логинами паролями.

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

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

  4. Параметры не бьются на сайтах с нашими. У нас в системе определенные списки с параметрами, например с ремонтами. А тут с какого-то сайта вылазит ремонт с типом Хороший, Красивый, Нежный, Мягкий. Куда его присоединять? Пришлось извращаться и писать алгоритм соединения для каждой площадки отдельно.

2-я стадия полной переработки

Вроде бы работает MVP. Но тут видим, что 80% запросов отдаёт ошибку. Оказывается, что все сайты внедрили систему для распознавания ботов и парсинга. Полезли в интернет и на то время нашли Selenium. Пришла пора полного переписывания проекта.

Мы ставим 3 месяца проект на новые лыжи, с php на python. Прошли десятки бессонных ночей, но мы не могли добиться адекватного сбора данных. Все сайты постоянно банили запросы, а сам селениум из себя представлял один огромный костыль, который переписывается всеми, кому не лень. На гите можно найти тысячи форков, которые сверху реализации набрасывают свои костыли. На этой стадии мы хотели бросить проект т. к отказоустойчивости не было никакой. и мы не могли обещать качественный сервис своим клиентам.

Здесь мне помог мой товарищ, который скинул статью с описанием библиотеки Playwright. Он оказался в разы приятнее и функциональнее старого селениума, что позволило заново воскресить проект и начать его переписывать.

Через 2 месяца всевозможных тестов у нас получился вроде бы рабочий парсер. Но снова возникли проблемы.

Список новых проблем:

  1. Кривая архитектура синхронных запросов. Никогда не делайте синхронные запросы для таких больших проектов! Нам пришлось поднять RabbitMQ для разграничения по очередям запросов. Отдельно для каждой площадки, для каждой категории недвижимости. Это было очень сложная задача, за 2 месяца плюс минус управились. Но теперь у нас много воркеров, которые могут параллельно смотреть новые объекты по каждой категории.

  2. Нам нужно обновлять старые объекты. Несколько клиентов одновременно начали просить архив за прошлые месяцы. Они хотели видеть все изменения по цене и параметрам. Объявление удалилось с сайта — должно пропасть и у нас. Решили отдельно создать очередь для таких объектов. Даже выставили приоритетность обновления. Пример: скачали объект, после через час проверили его на актуальность, далее через день, далее через 3 дня и там уже раз в неделю.

  3. Из 2 проблемы пришла другая — постоянное накопление архива и увеличение количества объектов для парсинга. Архив копится, лавэха не мутится, ресурсы утилизируются, терпение кончается. Это самое узкое место на сегодняшний день, т. к мы не смогли найти решения, кроме как увеличить количество серверов, проксей и т. д

3-я стадия разработки

Один за одним сайты начали банить прокси. Мы начали анализировать и пришли к следующему списку проблем и решений.

Новые проблемы:

  1. Бан одновременных прокси. Нельзя было обращаться в одно и то же время с одной прокси разными воркерами. Т. е мы не можем загружать 5 страниц с разных браузеров с одного ip одновременно, это распознается как парсер страницы сторонними средствами. Пришлось внедрять ротацию проксей, чтобы она занималась и отдавалась по времени.

  2. Воркеры могли зависнуть. Можно было попасть в тот в момент недоступности прокси, либо браузер просто зависал и т. д Проблем с этим куча и они решились только перезапуском воркеров по таймауту. Грязное, но рабочее решение.

  3. Прокси стали банить на долгое время. У нас кончилось 150 проксей. Просто все было заблочено на некоторых сайтах на неделю. Решение было найдено благодаря Максиму Кульгину, за что ему огромное спасибо. Мы стали использовать мобильные прокси. Да, это дорого. Но это того стоит. Получилось побороть полный бан по ip.

  4. С увеличением количества площадок и сайтов стали кончаться ресурсы. Представьте запускать 30 гугл хромов одновременно. Процессоры не вывезут, память кончится и всё станет колом. Решение простое — увеличение серверов. На данный момент мы тратим около 50 тысяч на сервера в месяц. Но это мы только в начале этого сложного пути.

На данный момент мы решаем такие нюансы, как:

  1. Парсер сайтов Казахстана. Нашли там коллег и выходим на их рынок. Там просто огромная проблема с адресами и отсутствием стандартизации всего и вся.

  2. Увеличение доступных площадок и городов. Все упирается в серверные ресурсы и деньги.

Несколько месяцев назад к нам пришёл клиент, который попросил дать ему парсер, который будет в режиме реального времени собирать объявления с 20 сайтов и выводить в онлай-форму. Он подключит колл-центр и будет обзванивать продавцов. Главное правило — объявление должно появиться в системе не более, чем через 5 секунд после публикации на сайте. Вы вообще представляете объёмы работы? На опыте я могу сказать, что это либо невозможно, либо очень дорого. Ну и заплатить он был готов не более 50 тысяч рублей т.к "на том же кворке такое же делают за 5к парочка студентов". До сих пор видимо никого не нашёл.

Заключение

Вроде бы есть понятная задача бизнеса, которая по статьям из интернета решается за пару дней. Но она имеет такой огромный айсберг проблем, о котором без опыта ты даже не сможешь догадаться.

Проблемы не кончаются никогда. Это закон бизнеса. Мы стараемся сделать продукт таким, чтобы он был удобным, быстрым и безотказным. У меня просто совести не хватит продавать то, от чего ты не получишь душевного экстаза.

Буду рад любой обратной связи. Мы умеем парсить всё, до чего дойдут руки. Пишите , поболтаем :-)

P.S. Никакого парсинга персоналки и незаконной инфы. Я ещё молод, чтобы сидеть.

Подписывайтесь на мой телеграмм-канал, я пишу много интересного про IT и бизнес в целом

https://t.me/itpriton

Показать полностью 1

Джоб оффер, принять или отклонить

Всем привет!

Ситуация такая, я фронтенд-разработчик middle/middle+. Переодически прохожу собесы. И вот недавно одна компания из финтеха предложила мне неплохой оффер. Я сказал руководителю, что на руках оффер, и я скорей всего на него соглашусь, чуть позже получаю контр оффер с суммой выше оффера на 7%;

В общем теперь я на распутье, что по условиям:

Текущая компания:
- зп частично белая;
- интересные задачи;
- можно юзать новые технологии;
- полная удаленка;
- ДМС нет;
- премий нет;

Компания, которая предложила оффер:
- зп белая;
- есть премии ежеквартальные;
- интересность задач полная неопределенность, но сказали что в основном это b2b и скорей всего это будет что то типа работы с личными кабинетами и тп.
- гибрид(большую часть недели в офис);
- ДМС;

По основным все наверно. По зп примерно одинаково, но в оффере скорей больше, так как есть премии.
Есть страхи, что если приму оффер, то стопорнусь в развитии, так как компания, которая дала оффер, работает со своими велосипедами, и таски будут однообразные. И там скорей я превращусь в фулстака(используется nodejs), и то что гибрид конечно тоже парит(я самоорганизован, и дома даже продуктивней получается).

Гоняю уже неделю уходить или нет. Что думаете более опытные it спецы?

Показать полностью

Войти в IT

Собственно, название поста отображает его основную мысль) Есть желание сменить работу на Java-программиста, однако начитавшись постов и проанализировав HH возникают огромные сомнения по поводу нужности очередного стажера/джуна на рынке.

Коротко о бэкграунде: бакалавриат и магистратура по специальности "Автоматизированные системы управления тех.процессом", 5 лет опыта работы инженером-программистом АСУ ТП. Обязанности - разработка ПО для ПЛК(паскалеподобные SCL и ST) и SCADA(VBS, SQL и чуть-чуть C#), настройка ПК, ПНР.

Что делаю: купил курс на Я.Практикуме(да-да, очередной недопрограммист после курсов), когда понял, что у меня остается куча времени, т.к. курс разбит на 2-недельные спринты, а задания я прохожу от силы неделю, докупил еще JavaRush. Параллельно начал изучать Шилдта. В мыслях накидать свой петпроект для реальной задачи на работе - построение относительно простой системы отчетов. Само собой, после изучения Java Core - изучение Git, Maven, Spring и прокачка SQL.

Непосредственно вопрос: насколько реально найти с подобным "послужным" списком работу на должность Java Junior за 3-4 месяца? Город миллионник(не Москва и не Питер), на зп в целом пофиг, понимаю, что первые полгода-год - работа за еду)

Дополнительный вопрос: куда копать, куда не копать, на что следует обращать внимание?

Продолжение поста «Overqualified или балбес: как я не смог устроиться на работу в IT и стал оператором в call-центре»

Ответ на комменарий от @EpicWay

Я бы не прочь попроходить собеседования, поделать учебные задания. Показать мои знания в live coding и решении коротких тестовых заданий. И такое тестовое было в местной компании в декабре 2023 - рефакторинг кода на PHP. Будущий начальник ещё на первом собеседовании мне сообщил, что это тестовое никто не может адекватно сделать - все задают вопросы не по теме: "сколько здесь должно быть уровней абстракций", например.

Задание делал в офисе, на время. Код представлял из себя многостраничный switch, в котором были намешаны responsibilities роутера, контроллера и view. Я всё декомпозировал, используя composition over inheritance подход. Также код прогнал через beautifier, вынес ветку оператора If с одной инструкцией в начало (это ещё из книги Кернигана-Пайка рекомендация). Потом письмом отправил усовершенствования своего кода, сообщил также про необходимость использовать dependency inversion principle, чтобы классы-заглушки для тестирования кода можно было создавать (=mock objects). Дней через 10 будущий начальник сообщил, что по результатам тестового они готовы взять меня на работу, но не в офсие, а на удаленку. Далее спросил в письме, сколько денег я хочу (я ответил). Потом был звонок HR (предоставить документы). Я их предоставил и... Всё! Тишина. На сегодняшний день компания всё ещё набирает IT-сотрудников.

Ещё отслылал резюме в местную компанию на должность инженера службы поддержки. Девушка HR позвонила, спросила чем я занимаюсь в контакт-центре, какие мои вопросы по вакансии (чтобы передать их будущему руководителю). Понитересовалась, почему хочу в тех. поддержке поработать. Сказала, что обязательно даст обратную связь в конце недели. Отказ пришёл на следующей неделе.

По поводу сисадмина на замену картриджей. HR нормальный был, компания большая. Рассказал про мой опыт работы сисадмином, как я всё там усовершенствовал. Также я ей рассказал про письмо из Германии, про то как также отсылал резюме в местную немецко-австрийскую международную компанию и как последняя ПРЕКРАТИЛА найм после моего резюме. (Я проверял, это действительно так). Рассказал, как занимался репетиторством с детьми. Рассказал, что создал свой подход к изученинию английского языка. Только про музыкальное образование не сказал. :-) HR ответил, что отошлёт резюме руководителю, но, говорит, понятно, что простая замена картриджей тебе скоро надоест и максимум год ты у нас проработаешь. :-) Что было правдой, конечо.

По поводу немецко-австрийской компании. Будущий начальник перед выдачей тестового (2023 год) поговорил со мной по телефону, сообщил, что я стою около 100 тыс. на руки. "Ещё и в Яндексе работаешь!" (c) Сказал, что тестовое не имеет сроков, просто отсылай мне результаты каждые две недели. Задание на .NET было, я себе ещё дополнительные планки памяти купил. :-) А потом он извинился и сообщил, что в связи с текущей политической ситуацией компания решила прератить найм. :-(

Нехорошо такое говорить, но, может, руководители чувствуют, что у меня очень большой багаж знаний за плечами? Может, у меня даже талант есть к программированию. (Мой код правда НЕ ОТЛИАЕТСЯ от best practices из бестселлеров Amazon по PHP) В компании где меня уволили, я не мог сказать руководителю, что ты сам хрен работу найдешь с таким кодом, что твой отдел пишет. (Они ещё процедурное программирование функциональным называли. Я их поправил, сказав, что functional programming это про immutabitlity и так далее).

Плюс, у меня по большей части только два состояния знания предметной области есть: либо я знаю это до всех мелочей и на 100%, либо не знаю вообще и туплю. ХЗ. Написал всё как есть.

P.S. На момент написания оригинального поста длинные тестовые не готов был делать - просто хотел найти работу с текущим уровнем знаний. Но, наверное, такое невозможно. Так что привет Bitrix, Symfony, REST API, Laravel et cetera.

Best regards,

a developer :-)

Показать полностью
Отличная работа, все прочитано!