LINUX.ORG.RU
ФорумTalks

Стоит ли пойти работать туда, где пилят форк PostgreSQL на Си, если до этого я всю жизнь просиживал жопу C++20 разрабом в яндексе?

 


0

5

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

Но если ты пошёл пилить какой-то форк PostgreSQL, то никакого C++ тебе не будет, будет старый сишный легаси специфический код с собственными механизмами аллокации или исключений и логирований. Это всё не плохо, в яндексе оно тоже всё свое, но там хотя-бы оно завёрнуто в конструкторы-деструкторы и ты можешь что-то творить как настойщий гений художник-я-так-вижу! В постгресе творчества и РАЗРАБОТКИ как таковой скорее всего не будет - MVCC придумали давно до тебя, разрабатывать новые оптимизаторы тебе тоже никто не даст, не до этого, а вот мёржить новую версию постгреса в свой форк ты будешь полгода как обезъяна и тут нужно иметь просто каменную жопу и отсутствие всяких амбиций. В оставшееся время ты будешь фиксить какие-то баги с забытыми указателями, чтобы распутать которые ты будешь сидеть в gdb как тварь неделю. Зато возможно ты станешь экспертом мирового уровня по внутренностям постгреса и в какой-то момент тебя возьмут в перспективный HFT-криптостартап за 800к/наносек, чтобы запилить свой перспективный форк, поддерживающий какой-то особый тип таблиц, но тебе к тому времени будет уже 72 года. Либо ты сможешь после этого уйти куда-то экспертом по оптимизации производительности популярного во всём мире движка СУБД, видя движок насквозь и понимая во что скомпилировался запрос?

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



Последнее исправление: lesopilorama (всего исправлений: 2)
Ответ на: комментарий от slew

свой асинхронный процессор исполнения

Корутины в C++20 не содержат никакого «процессора исполнения», это просто синтаксический сахар, к которому ты и так в любом случае должен разработать свой шедулер.

lesopilorama
() автор топика
Ответ на: комментарий от lesopilorama

а постгресы пугают дремучей сишность-старпёрством

А вы хотите что бы рсубд была из «хренак, хренак и в продакшен»?

которые неспеша полгода фичу катят.

Полгода фичу... это вообще мухой для уровня рсубд. Один хрен эту фичу после релиза «полторы калеки» которые рсубд используют для «хоум паге» начнут на себе тестировать.

anc ★★★★★
()
Ответ на: комментарий от soomrack

Все старые решения имеют чудовищное легаси

Абсолютно всё, старое оно или новое, упирается в бинарную логику. Ну или скорее в логику вообще.

т.к. ты вынужден работать в коде, который на 20+ лет отстает от современных возможностей языка.

Бывает такое, но оно не критично.

о никакого реального прогресса в области новых технологий

А вот к технологиям это не имеет отношения.

anc ★★★★★
()
Ответ на: комментарий от lesopilorama

Люблю современные средства, типа C++20 с корутинами, корутины это круто и весело (дебажить).

Вот тут я вас поддерживаю в той части, что это здорово, что вам пока заходит без оглядки на смысл действия. Реально это здорово!

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

+Много!

Короче, психологический нюанс в том, что старый говнокод на Java в ВТБ-Банке - это легаси

Java проявила себя как легаси ещё более 20-ти лет назад, на этом всё, расходимся. Однако народились новые говнокодеры, которые впервые увидев современную на тот момент джаву восторглись и давай на ней клепать... В результате имеем, то что имеем, по несколько версий jre на компах пользаков и иногда попыток, что бы оно таки робило. Получилось перекладывание ответственности с говнокдеров на плечи админов которые теперь как-то должны в вашими творениями что-то сделать.

anc ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)