Endless Java legacy
Так сталось, що майже за всю кар’єру мені попадались старі легасі проекти.
І я вже відчуваю, що не стягую цим всім займатись, а до пенсії ще далеко.
Дійшло до того, що я пішов у відпустку на рік — робив свої справи, підтянув здоров’я, читав книжки, катався по Азіям-Європам, думав попустить — але ні, зараз відкриваю документацію або ІДЕшку і відчуваю лиш бажання пошвидше закрити і зайнятись чим завгодно крім роботи.
Можливо це я такий простофіля везучий, але постійно потрапляю на унилий саппорт, хоча на співбесіді розказують одне, а на практиці виявляється що там не зовсім те, що обіцяли. Де всі нормальні проекти на свіжих технологіях?
Трохи передісторії. Ще будучи зеленим джуном потрапив на монструозний проект на EJB 2.0, JSF i JBoss, де після зміни в коді треба редеплоїти і чекати 5 хв, поки це все перестартує (хто працював з цим, відчуває мій біль). Тиждень треба було тільки налаштовувати локально, купа модулів, величезний code base. Поки я в це все в’їжав, клієнт посрався із нашим менеджментом і проект прикрили.
Потім був single sign-on solution для банків і госпіталів, написаний в 2000х. Класична історія — американці зробили MVP, знайшли перших клієнтів, віддали розробку на аутсорс смуглим ковбоям із сонячного Бангалору, через кілька років зрозуміли, що «что-то пошло не так», перенесли розробку в Україну, а наші аутсорсери тільки і раді доїти клієнта і роздувати штат. Хоча проект працював і приносив мільйони клієнту, але з технічної точки зору це була повна жесть — 4та Java (це та така ugly без дженеріків і інших елементарних речей), сервлети і самопальний SOAP, класи на 10к рядків і методи на 3к (!), без жодного юніт / інтеграційного тесту. Замість тестів — стадо QA манкіклікерів, які по 100 разів все перепровіряли перед релізами. В якийсь момент придумали «а давайте це все покриєм тестами», найняли пачку мідлів-джуніків і кинули їх в бій. досі пам’ятаю одного, який сидів біля мене і вголос матюкався від того, як це можна покрити. Через кілька місяців він звільнився.
Я теж довго там не засидівся і пішов на іншу галеру. На співбесіді мені розповідали, що тут все круто, цікавий проект і тд, насправді виявилось все так само — купа протухшого легасі, всраті технології типу GWT, парне програмування, де половина команди сидить і нічого не робить і інші веселі речі.
Ну посидівши якийсь час в цьому болоті — перейшов в інший «лідер ринку», там вже було кілька більш-менш нормальних проектів з 0, але після релізу вони переходили на стадію суппорту і дрібного допилювання, я старався іти далі щоб не закисати.
Але знову потрапив на проект, де вигорів від ковиряння в багні. Найбільше демотивувало те, що кілька місяців працював над одною інтеграцією, зробив апішки, написав документацію, а потім виявилось що це нікому не треба — чуваки просто забили на ту інтеграцію з нашим продуктом.
І ще кілька проектів середньої паршивості.
Були і нормальні з технічної точки зору і організації процесів, але з різних причин вони швидко закінчились.
В якийсь момент я пішов у довгу відпустку, відпочив, вернувся на свою галеру цього року. Почали шукати мені проект — і знову одне «щастя» з 2000х — початку 2010х, після співбесід від пятьох позицій відмовився. На 6 наобіцяли всякі AWS, кубернетіси і кафки. Коли застафили і почали вводити в курс справи — виявилось, що тут зараз займаються зовсім іншим, а то все обіцяне буде колись там, ніхто не знає коли. А зараз ковиряєм репорт сервери. За кілька місяців не написали ні рядка коду, а займались якоюсь ахінеєю, для якої можна було найняти кілька QA джунів. Вашу мать, я розумію що зараз війна і нових проектів не так багато, але ж для чого розповідати одне, а на ділі інше. Від цього в мене вже люто бомбануло і я просто звільнився.
Ну не можу я займатись тим чим не цікаво, хоча робота це лиш робота, гроші платять, але робити
Хоча у мене було немало колег, які роками сиділи на таких проектах і їм було норм, мабуть.
Інша проблема це сфера застосування Java — всякий нудний ентерпрайз софт для внутрішнього користування всередині корпорацій, який сам по собі тобі не цікавий, всякі поддєлія для банків, інтеграції із сторонніми древніми системами, бездушний є-комерс, внутрішні портали для сейлзів / маркетологів / hr, таски типу парсання xml і генерація csv, безкінечні CRUDи і формошльопство.
Ну і ще — 90% вакансій на джаві це Spring (Boot) / Hibernate, де ти половину часу весело (ніт) навішуєш анотації і підганяєш всю логіку-архітектуру в рамки спрінга.
Такий собі Spring-driven development. Відчуваєш себе не програмістом, а «оператором спрінга».
Коротше, я для себе бачу 3 виходи:
- Шукати щось нове на джаві, хоча я не знаю де — на аутсорс-галерах 90% проектів відверте лайно, в продуктових компаніях теж швидше за все legacy і там не буде опції поміняти проект, якщо поточний не подобається. Шукати стартапи? (Хоча які там стартапи на джаві).
- Спробувати інший стек — схиляюсь до go / rust / python. На гошечці трохи писав для себе, і нових проектів таке враження більше (з того що присилали). Rust — виглядає само по собі цікаво, але для освоєння треба значно більше часу і дуже мало вакансій — основна маса це якісь всраті криптостартапи, більше схоже на попіл бабла інвесторів, ніж щось корисне. Python — цікавить що на ньому ще пишуть крім бекенду. Ну і синтаксис на любителя.
- Забити болт на це все ІТ і
іти таксуватишукати нову професію.
А у вас були схожі історії?
Найкращі коментарі пропустити