Alexey Evdokimov @PastorGL
Software engineer. Practicioner, not a theorist.
Information
- Rating
- 1,347-th
- Location
- Ижевск, Удмуртия, Россия
- Registered
- Activity
Specialization
Backend Developer, Software Architect
Lead
Big data
Spark
Java
Database
Geoinformation systems
Software development
Algorithms and data structures
Development management
Automation of processes
ETL
В моём 600-тысячном городе суммарный состав всех фирм, занимающихся IT как основной деятельностью (т.е. по первичному коду ОКВЭД — разработка ПО/БД, сопровождение
(1С бухгалтерия), а также интернет-провайдеры, и т.п.), составляет 4100 человек. Это данные из официальных источников за 2023 год. Если добавить хотя бы айтишные подразделения местных заводов (их много, так как город промышленный), не говоря уже о других непрофильных отделах, то айтишников брутто наберётся даже поболее, чем 1% населения.
Сколько среди нас чистых программистов, не берусь экстраполировать. Но не так мало, как вам кажется. А уж тех, кто от нас зависит, и того больше. И вот прикинем, что средства разработки стали недоступными... Потому что они все нынче завязаны на интернет, а вендоры-то где? За бугром, конечно. (Как получаются отечественные «аналоговнеты», вы, надеюсь, понимаете.)
Те, кому зарубежный интернет не нужен для работы, могут и пойти делать какие-то дела. А вот те, кому он таки нужен, смогут пойти только на хрен. Без развлечений ещё как-то можно перекантоваться, а вот без работы что делать?
Но охранителям «суверенитета» на нас, по всей видимости, наплевать. И ещё хорошо, если просто наплевать...
Мде. 3.14дец, но что поделать. Увы, но со спарком такие фокусы это проза жизни. Местами он действительно плохо спроектирован, и проще заманкипатчить, чем пытаться расширить что-то официальным способом. Слишком многое в ядре (написанном на скале), помечено как @DeveloperApi, и даже в жабу не экспозится, и фиг ты что с этим сделаешь, если надо поменять.
А ишьи они по полгода рассматривают, даже если есть пулреквест, — а потом бот их закрывает, так как никто из разработчиков не изъявляет желания ревьюить чужие контрибы.
(Как бы преодолеть мне лень, чтобы написать таки статейку на тему «как я курочил спарк»... Хотя, после миграции на 3.4 большую часть подобного у меня получилось в своей кодовой базе или обойти или убрать. Но в одном месте всё равно до сих пор приходится в кишки залазить, хотя уже и без патчинга.)
Тормозной интерфейс и бесполезные свистелки можно перетерпеть, но падение любого приложения на основе Chromium / Electron через 6–7 дней использования — это уже выше моих сил. А ведь на них сейчас чуть ли не большая часть десктопного софта делается.
Рабочую машину я никогда не выключаю, а домашнюю отправляю в сон. Так вот, на десятке спокойно от одного ежемесячного patch tuesday до другого всё работает, а на 11 процесс рендерера рано или поздно аварийно завершается, и что браузер, что vscode какой-нибудь падает со всеми вкладками.
То есть, DWM в 11 течёт по памяти, и особенно сильно течёт после восстановления из гибернации. Багу эту я репортил несколько раз, но фиксить её, видимо, не собираются. И пока не пофиксят, буду оставаться на десятке...
Оно редко за 2~3к строк вылазит, если только генератора триггеров или ещё какой-нибудь эзотерической фигни не требуется.
А на современной жабе с рекордами писать такое вообще считай читерство. Не нужно, как во времена 6, извращаться с рефлексией.
Хмм... Любой уважающий себя Java-разработчик обязан написать как минимум 1 ORM/JDBC-коннектор, 1 контейнер/DI/AOP, 1 кодогенератор/интерпретатор/компилятор. А лучше 5. Это единственный нормальный путь становления сеньором — и других наверное, нет.
Если вам удалось в одном проекте покрыть сразу несколько перечисленных категорий, значит, вы всё делаете правильно, и станете хорошим Java-сеньором. А если у вас хватает наглости выложить его в паблик, и добавить в название true/ultimate, то вы имеете все шансы стать просто отличным Java-сеньором. Большинство почему-то стесняется :)
Но хватит похвалы. Подобного DO layers написано очень много — я лично штук 6 имплементаций видел, заточенных под конкретный проект, и сам как минимум три писал (ещё более специализированных). У всех один недостаток: если надо сделать шаг влево или вправо от видения автора, то сразу приплыли. Сколько ни думай головой, заранее всех кейсов не продумаешь.
Но за выкладку в паблик зачёт, конечно.
Мне попадалась исследование по дохристианскому Риму — там также ~50% умирали до наступления совершеннолетия, а из оставшихся примерно треть могла дожить до 60 (если повезёт, и не будет эпидемий). Это, получается, общая норма доиндустриальной эпохи — то есть, людей как биологического вида в более-менее естественных условиях.
В Средиземноморье климат помягче, и 2000+ лет назад там вообще был локальный оптимум, так что ни засух, ни наводнений, следовательно, и голод был не то что бы часто. В отличие от малого ледникового периода тыщу лет спустя на севере Европы, где голод после заморозков в июне действительно был самый массовый убийца.
Вообще, мне кажется любопытным, что такой процент дожития до преклонного возраста был очень долго нормой для самых разных человеческих популяций. И поменялся он всего 100 лет назад.
Примерно так, но всё таки даже 10% стариков это уже достаточно, чтобы влиять на социальную структуру общества. Чего вот не было явно сказано, так это сколько из них было женщин. Всё-таки с десяток родов подряд кого угодно убьют — контрацепция в Рима была, но про её доступность ничего толком не известно.
Занятненько. Средневековье таки действительно грязным временем было.
Попадалось мне как-то исследование (давненько уже, сейчас никаких ссылок не найду) про продолжительность жизни в Средиземноморье в дохристианские времена. Вывод был там примерно такой, что если не помер в детстве, и повезло родиться между эпидемиями, то шанс дожить до 60 — 30%. Причём даже неважно, из какого ты сословия. То есть, стариков было немало. А потом Рим пал, и про гигиену почти на две тыщи лет забыли.
В жизни в провинции есть свои плюсы. Например, с местной ИТшной зарплатой можно заработать на квартиру в новостройке в центре города за 3 года. Потому что цены на недвигу тут сильно ниже столичных.
До офиса не надо тратить на метро по 2 часа в день, а можно прогуляться пешком (20 минут в одну сторону, а заодно и кардио). Расстояния вообще не те.
До дачи с мангалом доехать за те же 20 минут.
И в целом темп жизни сильно спокойнее. Лично я в Москву даже только из-за этого переезжать не собираюсь.
Вы видимо не в курсе, сколько платят в регионах.
В моём городе из конца первой 20-ки по населению зарплаты в ИТ отличаются от московских в 2.5 раза. Так что всё правильно, типичный мидл тут получает ~125. Только в нефтянке и банках зарплаты более-менее сравнимы со столичными, но, скажем так, не для всех.
Мда... 4й Спарк уже не за горами, а они всё ещё на 2.3 сидят.
Статью можно даже особенно и не читать, в терминологии телеграмного чатика Data Engineers такое решение это сплошная «глина». (На самом деле даже не удивляет.)
У меня вообще мобильный интернет полностью выключен, поэтому закинутые 6 лет назад 500 рублей до сих пор не закончились. Звоню пару раз в месяц, а для интернетов есть вайфай. Но в основном на компе, конечно.
Отключил, кстати, потому что самого стала доставать привычка чекать социалочки на смарте каждые полчаса :/
Я недавно стал таким «призраком».
Точнее, 7 лет я усердно пилил свой инструмент (см. мои статьи, я его там подробно описываю), и в результате допилил до такого состояния, что он покрывает все потребности бизнеса. У меня больше нету задач, сижу теперь смотрю аниме в рабочее время... Работодатели в курсе, и их это почему-то устраивает. Обещали поискать мне работу по линии аутстаффа, конечно, но чё-то ничего не находится.
Скучно, жуть как скучно. Но фиг щас что приличного найдёшь, если уволиться :/
Пришёл к тому же мнению.
Я живу один, но очень люблю готовить, поэтому ножей у меня аж 11 штук на все случаи — и для всех видов продуктов. Но сильно острыми я их не держу. Разве что нож для разделки мяса перед каждым использованием легонько подправляю V-образной точилкой. Он единственный должен быть острым «как бритва», от остальных достаточно просто резать без чрезмерного усилия.
Без понятия. Собеседователи из этих контор мне не смогли объяснить, когда я их об этом напрямую спрашивал.
БТВ, это всё похоже на какой-то тупой ритуал.
Если мне самому надо пособеседовать кого-то, то я беру список из ~150 релевантных для вакансии тем, и рандомно гоняю кандидата по нему. За час вполне можно составить представление о том, соответствует человек ожиданиям, или нет.
На последних build они много об этом говорили, причём с большой гордостью.
Всегда было интересно, а какие у решений этих литкодовских задачек практические применения.
Я вот просто не могу себя заставить написать даже 1 строку кода без нормального объяснения, на кой именно чёрт он нужен в реальной жизни. Это не по-инженерному.
И в проде мне подобное за 25 лет встречалось ну может всего-то пару раз, а предметных областей и направлений деятельности я за это время перебрал целую кучу... Более того, писать чё-то такое с n-граммами / векторами / разбиениями с нуля такое вообще оказывалось не рационально, потому что есть готовые решения — и на крайняк код можно утырить оттуда, и подрихтовать как требуется.
Вообще не удивительно.
В win11 широко используется оверлейный UI для системных компонентов. У того же диспетчера задач аж три версии — от win7, win10, и win11. Плюс ещё и встроенная facility для A/B тестирования, которая переключается между вариантами в зависимости от флагов и настроек. Тестами всё это многообразие сочетаний фиг покроешь, и фиг выловишь, если где что работает не так.
Код они теперь пишут при помощи ИИшенки copilot, а не руками. А он известен, что периодически подсказывает очень правдоподобную, но неработающую фигню.
Отдел тестирования разогнали уже давным-давно. Глазами смотрят только конечные пользователи на этапе insider channel, а их не так уж и много, особенно тех, кто репортит баги.
То ли ещё будет...