Какой язык лучше? To java or not to java?

Давно не подбрасывал ничего для “войтишников”. It is time!

Мой хороший знакомый, коллега по IT цеху, java профи, при этом ещё и тёзка – Константин Рамазанов. На днях, разразился замечательными наблюдениями про новичков в java. Этот пост, с его разрешения, я и привожу дословно ниже. Ссылка на пост FB

Один мой знакомый окончил курсы “Войти-вайти” и прислал мне своё резюме с вопросом о вакансиях. Я немного посмотрел, начал было писать ответ и, неожиданно для себя накатал опус в стиле выступлений Konstantin Pelikhovsky. С орфографией и пунктуацией не заморачивался, лексику не фильтровал – кисейным барышням перед прочтением сжечь. Ниже исключительно мои наблюдения и моё мнение о рынке, о курсах и о том, что делать тем, кто всё еще хочет удобное кресло в офисе с видом на море. Вот вам на вентилятор:
“Посмотрел на резюме и на гитхаб:
– 20 коммитов в учебном проекте – с одинаковыми названиями, половина с ошибкой в слове first – лучше не показывать никому
– тем более, с коммитами настроек IDE – такое не коммитит никто и никогда. названия коммитов должны отражать их смысл
– не нужно туда коммитить свои лабы c курсов
не стоит туда коммитить *.class – файлы – это репозиторий исходного, а не байт-кода. скомпилированный код собирают в джарники, длл-ки, (нужное подчеркнуть в зависимости от языка) и хранят в репозитариях типа nexus. и то лишь тогда, когда хотят ограничить доступ к исходнику. конечно же, это не касается учебных программулек
– не стоит комитить в гитхаб код с ошибками в названиях классов, их методов и переменных на английском языке, либо не стоит указывать в резюме знание английского языка. “Отче, Вы или крестик снимите, или трусы оденьте” (с)
– о том, что стоит комитить в гитхаб – так это полезные (на твой взгляд) утилитки – например, робот для сбора порно со всех известных сайтов, или сервлет для форматирования диска, пет-прожект по ведению домашней бухгалтерии, или сайт для пристраивания котят в хорошие руки. да всё, что угодно, что может быть полезным, законченным и худо-бедно делать что-то большее, чем хелловорлд
а теперь о главном – зачем ты ходил в хилель ?
не хочу никого обидеть, но упоминать в резюме всякие лохокурсы “из боксёра в программисты за 3 недели”, да и вообще искать после них работу – это некомильфо
поясню теперь почему:
– на рынке, в частности, в Одессе, джуновских вакансий совсем негусто. все бодишопы хотят опытных людей, которых легко продать. собственных жава проектов в городе нет (кроме опавер и неткракера). первые хотят только суперзвезд. вторые … ну, к ним можно сходить на полгодика – для получения опыта (дальше – по желанию), но у них собственный учебный центр при политехе, откуда они и берут свежую кровь. Больше никто с молодежью нянчиться не хочет.
– в последнее время курсы типа шага-хилеля-фабрики не прошел только мертвый. все хотят “Войти в айти” и чтобы им ничего за это не было, а за штуку баксов и три недели – так сам бог велел. это только я и мои коллеги чувствуем себя последними лошарами, учившими 5 лет схемотехнику, физику и математику в ВУЗах, а потом десяток лет зарабатывавшие опыт, имя, знания.
– примерно поэтому выпускников лохокурсов никто не любит и всерьёз не воспринимает
– на самом деле, не только поэтому. еще потому, что ни один из выпускников, которых я собеседовал, не мог внятно пояснить мне смысл трёх парадигм ООП, возвести “на коленке” 2 в степень, которая мне взбрела в голову (не более 16-й) и построить односвязный список. ни один не мог внятно спроектировать три таблички на заданный домен и адекватно оперировать терминами типа “целостность данных”, “атомарность” и “foreign key” (не помню как оно по-русски)
– все выпускники курсов думают, что внутри хэш-таблицы сидит магия, а на красно-черных деревьях висят флаги сечевых стрельцов
– O (n) для всех опрошенных – rocket science

Теперь о том, что делать:

  1. бежать от джавы подальше
    почему – кроме всего вышеперечисленного про опытных людей и так далее. джава, которая есть на рынке – это разработка и поддержка сложного энтерпрайза – с тысячами исходников в контроле версий и сотнями таблиц в базе данных. а также – “джентльменским набором” фреймворков типа спринг и хибернейт, контейнерами типа томката. для работы мало знать язык (мало того, я сейчас честно признаюсь, что за 11 лет работы жава-разработчиком я до сих пор не зняю ни этого языка, ни этих фреймворков). большая часть того, что спрашивают на интервью (типа значение метода equals() и смысл переопределения метода hashCode()) – это не более чем задроство для итервью. Брачные танцы, без которых ни одна рекрутер тебе не даст оффер. На самом деле важно и ценно понимание домена, умение за месяц-три вникнуть в бизнес заказчика, понять что и как он делает, зачем он это делает и почему, следовательно, что будет, если деревянный костыль заменить стальной подпоркой, а также нужна особая “чуйка” как расхлебывать всё то говно, которое высыпется к тебе в логи после того, как этот костыль ты таки тронешь. (погугли байку про поддержку проекта “Война и Мир”) и вот тут ценен Его Величество Опыт. хрен его знает как, но то, чем занимаются в джава энтерпрайз – это большой совковой лопатой разгребают говнокод непонятно как работающей системы, написанной толпой накурившихся опиума индусов 10 лет назад. это – грязь, пот и слезы, потому джунов туда брать боятся. а других проектов нет и не будет. это закон нашего недоразвитого ИТ-рынка, на который восторженно и неистово продолжают онанировать гуманитарии, мечтающие пить дорогой вискарь и закусывать плесневелым сыром. (на самом деле, после рабочего дня не стоит уже ни на сыр, ни на вискарь)
    еще – для этого нужно таки говорить по-английски и уметь пить. самый простой способ войти в проект – это пиздеть с заказчиком по-английски, желательно где-то в пабе за “рюмкой чая”. Кстати, это ответ на вопрос – зачем нужно 20 часов трястись в самолетах по пути в блудливую Калифорнию (буквально вчера спрашивали) – чем лучше ты знаешь команду с “той стороны”, тем легче работать и решать ежедневные вопросы – зачастую в обход емейл-бюрократии.
    так вот – лучше бежать из джавы, пока не поздно.
    бежать в сторону фронтэнда – HTML (HyperText Markup Language, а не HowTo Meet Ladies) – это очень просто, джава-скрипт хоть и бредовый, но в нем, ИМХО, сложнее наплодить косяков, точнее, их хрен кто найдет в этом зоопарке библиотек, языков и тэгов. да и никого это, если по-чесноку, то и не интересует, главное, чтобы свистелки и перделки на страничке работали.
    Сюда ниже порог вхождения, нет содомии с багами хибернейта, а главное – за JS будущее, на той же ноде строят бэкэнд новых проектов, и нубов берут куда охотнее. Потому как пацаны поопытнее манали связываться с языком, написанным на коленке за две недели. Не хочу обидеть фронтэндщиков – но это факт.
    что еще хорошего – ты написал, обновил страницу и видишь результат – не нужно два часа комитить в контроль версий, пинать дженкинс за новую сборку, а затем деплоить всё это на удаленный кластер за океаном только для того, чтобы потом дебажиться по jdwp, где каждая переменная загружается по 10 минут
    но если не хочешь бросать жабу – посмотри на андройд. вешаешь кнопочки на экранчики, дергаешь через рест энтерпрайз-монстра и никаких домомучений! порог вхождения ниже, жить проще, джунов вроде тоже берут охотнее. проекты короче, можно начать с локального рынка, где не нужен инглиш. руби капусту – не хочу. а главное – за мобилами тоже будущее.
    все вышеперечисленное верно и для погрызаных яблок. свифт, говорят, кошерный язык – функциональный, сейчас так модно. один недостаток – надо раскошелиться на линейку железяк от пацанов из купертино, а на это легко подсесть.
    ну, еще можно обратить свой взор на рельсу, пыху или гадюку, но тут я не советчик.
  2. вариант второй – более тернистый – ищи программы стажировок в конторах. у нас такая была год назад. там тебя нежно возьмут за ворот, мокнут с головой в бочку с энтерпрайзом и в команде, под палками опытных сенсеев заставят писать пет-проект по пристраиванию котят-инвалидов (или сайт для заказа проституток, в зависимости от настроения сенсея)
    Щоправда, “жениться” никто не обещает и на работу потом вряд ли возьмут, зато дадут подержаться за джиру, спринты, дженкинс, будут бить ссаными тряпками за ошибки в имени переменной или отсутствие constraints в DDL базы.
    А потом – снова долгий поиск работы, собеседований и череда разочарований.
    Вот как-то так.
    И, да, в резюме неплохо бы добавить дату рождения, вдруг какая рекрутер тебя поздравить решит )))
    И уж раз закончил политех – укажи какой факультет – на кого и зачем учился. Иногда может случиться так, что диплом строителя электростанций пригодится на проекте в сфере энергетики, а диплом филолога – на проекте, какого-то нового переводчика или поисковика.”

1 Comment

  1. Все святая правда
    Но про ползучих как-то … резковато
    Да а про неткракер в политехе то это без последнего. Они стажируют кого и как хотят но вовсе не студентов.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.