LINUX.ORG.RU

Что выбрать, Java/Spring или C#/.Net с прагматичной точки зрения?

 , , ,


0

2

Всем КУ. Выпустился из университета и встал вопрос выбора стека для дальнейшего трудоустройства. Планирую заниматься веб/системной разработкой в какой-нибудь компании, из языков отлично знаю Java и C# по причине хорошей прокачки по ним и прочему (паттерны, парадигмы, ООП, структуры и т.д.) в универе. Сердце лежит к C# и ASP.NET Core в частности, но мозг говорит, что с Java будет что намазать на хлеб. Плюс сам MS постоянно расширяет .Net и он становится всё более и более жирным, сложным, и универсальным (где надо и не надо), что не есть хорошо. Решил проштудировать вакансии, по Java/Spring стеку вакансий раза в 2-3 больше, чем на C#/.Net, да и средняя зп процентов на 30 выше. Прошёл несколько собесов на джуна по обоим стекам и понял, что охват требуемых знаний на C#/.Net больше (хотят, чтоб ты знал как и asp.net, так и core версию, плюс требования front стека) при меньшей зп по сравнению с Java/Spring, не беру в расчёт такие вещи как Git и прочее, эти требования универсальны для обоих стеков. Ко всему прочему напрягает распространенность десктоп разработки на C#/.Net, от неё я плююсь, нет интереса. Да и слова .Net разрабов на протяжении последних лет о том, что теперь они могут и в Windows, и в Linux сервера, что не связаны они больше с MS осью больше вызывает смех, чем гордость. Хотя и требование по Java 8 версии удивляет не меньше, не уж то так много старого софта на ней. С этого вопрос, что перспективней с точки зрения зп, C#/.Net или Java/Spring? Не превратиться ли один из этих стеков в тыкву в ближайшее время? И почему к .Net разрабам больше требований при меньшей зп?

Ответ на: комментарий от anonymous

современные специалисты по инженерной психологии рекомендуют каждые 5 лет менять работу, и каждый год изучать по языку программирования чтобы не тупеть после ВУЗа

Я советовал бы указывать конкретных «спеицалистов по инженерной психологии» и конкретные цитаты, потому что тезис слишком уж абстрактный, и, вполен возможно, в некоторых контекстах совсем некорректный. Например, если работа подразумевает постоянно изучение чего-то нового и смену коллективов — зачем её менять?

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

И чтобы расти в зарплатах дальше - тебе нужно или совсем менять сферу деятельности (например, становиться фуллстеком, или менеджером)

Охренел что ли!?! Менеджеру платить больше разработчика?

Добро пожаловать в реальный мир. Хорошо выполнить работу — намного сложнее, чем отрапортовать про «почти выполнили работу» и вовремя свалить, пока никто не успел разобратся и перевести стрелки. Причем, это прекрасно работает даже в случае условно успешных проектов, вроде MySQL или MongoDB. Условно успешных потому, что от исходных кусков дерьма, написанных изначально, там почти ничего не осталось, кроме неустранимой кривизны отдельных архитектурных решений, перекатывающейся между реализациями без изменений из соображений маркетинга и совместимости.

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

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

Ну еще есть Clojure.

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

Грамотный менеджер дорого стоит

Define «грамотный менеджер».

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

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

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

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

Тоже так считаю. Грамотные менеджеры становятся бизнесменами и не существуют в поле зрения низшего и среднего класса. Поэтому для нас встретить такого это большая редкость.

umren ★★★★★
()
Последнее исправление: umren (всего исправлений: 1)
Ответ на: комментарий от byko3y

Ну еще есть Clojure.

Clojure помимо JVM мусора ещё кучу другого мусора тянет. Всякие Leiningen и прочие PowerShell’ы . Плюс срёт своими файлами в систему так, что не вычистишь. Хуже гадит только .NET.

anonymous
()
Ответ на: комментарий от umren

Грамотные менеджеры становятся бизнесменами и не существуют в поле зрения низшего и среднего класса

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

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)

За Java EE больше платят. И, увы, это не Spring.

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

Уточни, на чем именно проявляется «синдром элиты».

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

в противоположность колхозному фронтенду (жс-тс) и колхозному бэкенду (го), где простые трудяги ебошат круды по 20 штук до вечера, угорают на гигах и плюют на паттерны проектирования с перформансом красной зоны с высоты птичьего полёта

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от byko3y

Эталонные «решальщики» — это какие-нибудь Илон Маск или Стив Джобс с твоей авы.

всё так, поэтому я пошёл в маркетологи, по заветам Стива Джобса с моей авы )))

но если сравнивать внутри профессии, то всё-таки условного Шипилёва или Паньгина (если ты знаешь, кто это) оторвут с руками в нужных местах. И нет, ты не увидишь нигде вакансии на те позиции, куда их берут. Это всё по знакомству.

ты не найдешь на HH вакансию разработчика хай перформанс базы данных с требованиями в блокчейне, но есть богатые стартапы, с фаундерами которых ты мог бы познакомиться, презентовать себя правильным образом, и они тебя с руками оторвут. Это отдельная работа, и она обязательна!

думаю, там есть какая-то довольно сложная кривая сочетания хардскиллов и софтскиллов.

не имеет смысла максить хардскиллы, потому что при константном уровне софтскиллов каждый следующий шаг, каждое следующее приращение хардскилла, будет давать всё меньший финансовый эффект.

а возможно, и меньше удовлетворения. С другой стороны, максить одни софтскиллы тоже не имеет смысла: если ты ничего не умеешь хардово, всем на тебя насрать. В лучшем случае ты выйдешь из ниши разработчиков и перейдешь в нишу болтателей языком, а среди них конкуренция СИЛЬНО выше, да и софтскиллы нужны другие и на другом уровне.

почти каждый может стать средне-приличным фронтендером, если потратить на это достаточно времени - разумный work/life balance. Не каждый может стать Маском, Джобсом или Брэнсоном, это просто технически не всегда возможно, очень редко возможно.

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

в противоположность колхозному фронтенду (жс-тс) и колхозному бэкенду (го), где простые трудяги ебошат круды по 20 штук до вечера, угорают на гигах и плюют на паттерны проектирования с перформансом красной зоны с высоты птичьего полёта

Есть очень эффективные проекты на TS, и есть жрущие гиги лендинги на реакте. Я не могу вспомнить, когда слышал от какого-то жависта или шарповика про тонкости сборки или JIT-оптимизации — но я подозреваю, что это популярно на собесах в виде карго культа, вроде задачек на проход по бинарному дереву для фронтенд-джуна, хотя этот джун никогда с бинарными деревьями в своей жизни не встретится. То есть, дело не в какой-то элитарности кодеров, а в некомпетентности 95% собеседующих, которые обычно представляют собой джунов с бестпрактисами, нагугливших вопросы.

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

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

всё-таки условного Шипилёва или Паньгина (если ты знаешь, кто это) оторвут с руками в нужных местах

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

И нет, ты не увидишь нигде вакансии на те позиции, куда их берут. Это всё по знакомству

Я боюсь, что они просто не прошли бы собеседование, если бы просто пришли устраиваться в рандомную контору. Это к слову про неадекватность собесов, из-за чего ведущих спецов приходится набирать по принципу «мы слышали, что ты сделала какой-то крутой проект» и «наш знакомый рассказал, что ты работал в такой-то компании над таким-то проектом, который близок к нашему» — LinkedIn по сути превратил этот звиздец в целую социальную сеть из слышавших про тех, кто слышал про крутого спеца Колю, работавшем в Яндексе.

Такая культура приводит к возникновению тех, кого анон выше назвал «рок-звезда». То есть, человек, который умеет петь не лучше, чем десятки тысяч подобных условно талантливых людей, но знают именно про этого одного человека и все HR-ы бегают за ним, потому что про него много слышали. И получается парадокс: на рынке есть избыток талантливых программистов, но HR-ы в один голос воют про жесткий дефицит кадров. А я всё сижу и думаю, как бы эту ситуацию утилизовать в свою пользу, ведь я очень хорошо разбираюсь в программистах, но совершенно не умею работать с лохами клиентами. Типичный пример конторы, которая выгребла талантливых кодеров с рынка — Valve, и она стала одной из самых прибыльных контор вообще во всём IT, если считать по прибыли на человека.

ты не найдешь на HH вакансию разработчика хай перформанс базы данных с требованиями в блокчейне, но есть богатые стартапы, с фаундерами которых ты мог бы познакомиться, презентовать себя правильным образом, и они тебя с руками оторвут

Этим стартапам нужно одно и только одно: создать видимость, что деньги лохов инвесторов переданы в правильные руки и проект вот-вот принесет миллиарды. Естественно, большая часть бюджета уже потрачена и денег толком нет, и нужен человек, который сделает и продаст пустышку за миллиард. К программированию это имеет довольно косвенное отношение, как и к высокопроизводительным БД.

Опять же возвращаясь к моей статье: отделу фейсбука нужно было отчитаться за потраченные миллионы, и они нашли человека, который из ничего нарисовал «решение на миллиард». Этот один индус спас жопы десятков бездарных манагеров и кодеров, которые остались сидеть на своей жирной зарплате, а могли бы уже и вылететь с насиженного места. Именно поэтому приближенные к проекту люди в один голос рассказывали, что лучше ничего придумать нельзя была — они все в одной лодке, и если начальство потопит эту БД, то все приближенные утонут вместе с ней.

думаю, там есть какая-то довольно сложная кривая сочетания хардскиллов и софтскиллов

Там нужно быть отморозком, который не любит програмирование, но при этом способен достаточно грамотно в нем разбираться. Основной же спектр навыков — это именно софтскилы напёрсточника. Это достаточно редкое сочетание, но оно присутствует в населении. В конце 80-х и 90-х в СССР/СНГ/России шел практически целенаправленный отбор именно таких кадров из огромного числа претендентов. В Индии это уже на уровне культуры, там каждый выпускник ВУЗ-а позиционирует себя как синьор.

К сожалению, мне очень тяжело стать таким человеком, потому что я прамолинейный человек и грамотный программист, и если что-то говно, то я говорю «это говно, это не будет работать».

не имеет смысла максить хардскиллы, потому что при константном уровне софтскиллов каждый следующий шаг, каждое следующее приращение хардскилла, будет давать всё меньший финансовый эффект

Хардскилы вообще слабо коррелируют с финансовым эффектом. Есть какое-то дно, на котором отсутствие хардскилов очевидно, но как только ты поднимаешься со дна, то выясняется, что твои хардскилы просто-напросто никто не может оценить: приращивай/не приращивай, а никто разницы не заметит. То, что ты здесь подразумеваешь под хардскилами, на самом деле является хардскилом прохождения собеседования, то есть, по сути это софтскилы.

Не каждый может стать Маском, Джобсом или Брэнсоном, это просто технически не всегда возможно, очень редко возможно

Самое-самое первое, что предстоит узнать каждому бизнесмену — это что все сказки про экономическую модель бизнеса представляют собой хероту, не имеющую ничего с общего с реальным бизнесом. Что целые институты выпускают экономистов-менеджеров, не имеющих ни малейшего понятия о механизмах ведения бизнеса. Что истории про «первый миллиард, заработанный своим трудом» выдумывают в том числе такие мошенники, как Брэнсон и Маск (хотя это пешки, если честно), чтобы другие люди пытались своим трудом безуспешно достичь того же результата, вращая таким образом шестеренки экономики.

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

Очень многие горе-безнесмены, долго готовящиеся пойти по этому пути, те же истины познают слишком поздно, да и к тому времени у них обычно есть какие-то навыки, которые и так дают возможность комфортно жить. Вот прямо как у меня — мне не нужно создавать свою кодерскую контору, потому что работая кодером я могу заработать достаточно. Мошенничество для Брэнсона было единственным способом выжить, потому что из-за дислексии он не был способен к абсолютному большинству интеллектуальных видов труда, а значит ему оставались профессии водителя, грузчика, дворника, сторожа, и так далее.

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

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

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

ты описал меня)

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

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

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

А вот теперь зацени разницу со мной. Я тоже не люблю писать больше, чем нужно, я всю свою школьную и институтскую бытность вместо зазубривания пытался найти закономерности и пути как НЕ учить материал, как сдать экзамен, затрачивая минимум усилий. Однако, я люблю писать код и я переживаю на свои программы, для меня программа — это и есть результат, как для художника картина. И я не могу позволить себе говнокод подать под видом готового продукта. Хотя, казалось бы, тоже срезаю углы. Может быть мне просто стоит сходить к психологу, который мне расскажет, что это у меня незакрытые гештальты, которые просто бессмысленно портят мне жизнь.

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

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

byko3y ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.