C#8, .NET 5, DevSecOps, Azure Functions та мікросервіси на конференції .NET fwdays | Online

Куда лучше свичнуться: .NET Core (C#) или Java?

Здравствуйте, я разработчик на Python уже 4 года.Недавно поставил себе вопрос куда двигаться дальше и решил что хочу двигаться в сторону Technical Lead / Solution Architect / CTO. Бегло просмотрев вакансии я увидел что на топ позиции типа Solution Architect или CTO просят опыт в N-лет в построении архитектуры приложений, управления командами и опыта в C# или Java. Вот для себя решаю куда и как свичнуться со своей стороны на перспективу роста. Что подскажет community? Как двигаться к желаемой цели?

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Если брать синтаксис, то разница между ними небольшая. Но Java продвигает сообщество, а .NET — одна компания, которая может взять и прекратить ее поддержку. Кроме того, если сравнивать Java и .NET как платформы, то за 20 лет в мире Java придуманно бесчисленное количество фреймворков и библиотек (и почти все они open-source и бесплатны), в которых можно расти и развиваться. Поэтому я бы рекомендовал Java

Но Java продвигает сообщество

С каких это пор Oracle стал сообществом?

бесчисленное количество фреймворков и библиотек (и почти все они open-source и бесплатны), в которых можно расти и развиваться

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

Уважаемый, учите матчасть. JDK может быть не только от Oracle, более того, многие сейчас используют именно OpenJDK, она бесплатна и распространяется без каких-либо ограничений

А по поводу фреймворков — назовите мне хоть один, который сделан на коленке? Те, что используются в настоящий день (Spring, Hibernate, Hadoop и другие) разрабатываются солидными организациями 10 лет и более. Весь их код есть в открытом доступе, он хорошо задокументирован и оттестирован. Любой грамотный разработчик может присоединиться к этим проектам и приносить пользу. Это и называется open-source.

.NET Core (C#) или Java?

C# и Java — один хрен.

.net, очевидно, скоро жаваскриптеров потесним.
У тех есть и нода и реакт и реакт-нейтив — можно быть суперфулстеками
А там будет asp.netcore + blazor + может blazor на мобилы загонят и все это с крутым статическим языком C#, у js нет шансов))

чтото не верю в блазор
сделают пхп -> webasm, блазор станет ненужен

уже начали загонять на мобилы.
github.com/...​arin/MobileBlazorBindings

.NET Core (C#)

Да, ибо туда собираются подвозить тайпклассы

А вот и свидетели снежного-кома интерфейсов и тщедушных систем типов.

Залишайся з Python.

З твоїми бажаннями, немає ніякої різниці між Python, C# і Java. Якби хотілось якогось мовного челенджу то Erlang, Haskell, Rust. A для TechLead/Architect/CTO нікуди світчитись не треба.

Але якщо таки горить, то спробуй Apache Spark з пайтоном. Це найцікавіше, напевно, місце де JVM якось перетинається з Python. Мені вдалось майже два роки погратись з Python саме коли я переписував Spark ETL з Python на Scala.

Якби хотілось якогось мовного челенджу то Erlang, Haskell, Rust.

Можно еще лисп) Например — github.com/hylang/hy , docs.hylang.org/en/stable — лисп написанный на питоне, питонщику как раз может зайти, например, попробовать написать на этом лиспе приложуху под джанго или фласк — чем не челенж? :-).
Ну или Clojure/ClojureScript.

З твоїми бажаннями, немає ніякої різниці між Python, C# і Java

Таки э, бо C# і Java то таки ентерпрайз стеки і там на вищезгаданих персонажів суттєво вищий попит.

Technical Lead / Solution Architect / CTO

На условной Scala тоже много ентерпрайза, но не у нас)

1С уже предлагали?

Скільки зрозумів то ціль переходити далі в компанії де вже вибудувана якась структура, інакше імхо, в цілому згідний з людьми які кажуть, що можна личку отримати і на пітоні і на рубі і на ноді. Я сам пишу на PHP / Go і можливо перейшов би також на щось типу Java чи С#. За С# напевно те, що вони зараз дуже ломанулися вперед і куча хороших плюх добавляють. Хз як в них по вакансіям і які проекти є. Java — el classico в сфері програмування. Вагон сертифікацій якими можна підняти своє ЧСВ, вагон сервісів та проектів на ньому (той же AWS на Java), і як на мене простіше знайти щось (не шарю, просто так вважаю). По ЗП вони в паритеті + -. Тож вибір складний, але думаю ваша думка є правильною, якщо бажаєте рухатися ентерпрайз чи проектами де не просто потрібне АПІ аби на чому.

Все еще находятся люди, которые хотят лично проверить аксиому Эскобара.

Java однозначно, потому что куча опенсорса на ней или на JVM based, плюс количество продуктов на порядок больше в экосистеме

Это все хорошо, но что есть такого в джаве чего нет в .NET? По-моему сейчас практически все есть и для джавы и для .NET, практически все можно делать как на джаве так и на .NET. Вопрос лишь во вкусовщине.

Лично я отдаю предпочтение .NET, в частности .NET Core где убрали все лишнее, всякое легаси говно, ввели современные тенденции и подходы, нет того ощущения что ты разрабатываешь тяжеловесное энтерпрайзное говно. Да и развивается он намного быстрее джавы, C# намного приятнее как язык, прекрасный тулинг как от Майкрософта, так и от Джетбрейнс. Да и вообще доверия Майкрософту намного больше чем Ораклу, особенно при новом руководстве Майкрософта.

Это все хорошо, но что есть такого в джаве чего нет в .NET

lombok, build.gradle, ще якась херня стопудово є

что есть такого в джаве чего нет в .NET?

Apache Camel, ну и вообще ESB / enterprise integration продукты не очень представлены в .NET стеке. Да, есть MassTransit, но это, всё-таки, не совсем то. Ну и монстроидальный BizTalk, о котором я уже даже не помню, когда в последний раз слышал.

У меня наоборот мысли свичнуться в пайтон, МЛ и дата сайенс. Джава = нудный энтерпрайз ☹️

свичнуться в пайтон, МЛ и дата сайенс

мл и дс это не про пайтон как бы

не всем дано создавать рокет сайнс и шедевры из битов, ктото должен выжигать горшки и подметать улицы

Если хотите самостоятельности, развивайте Data Science. Python для этого сейчас хорошо подходит. Зарплаты могут быть такие же, как и у архитектора. Ежедневно генерируются огромные количества данных. Анализировать их нужно будет все больше и больше. Будете сидеть в углу в ореоле таинственности, а РО будут скромно интересоваться, не обучилась ли достаточно сеть, чтобы ее можно было показать заказчикам.
Но если нет, то в Java мире будет имхо спокойнее. В С# каждый — синьер, которому не нужен ни архитект, ни ПМ.

Кстати, любопытно, мовносрачи (в частности C# vs. Java) уже несколько лет не взлетают. Аудитория взрослеет?

Самі ці платформи подорослішали. 10 років назад ще були аргументи типу «а ось цього там нема», а зараз все вже кругом є.

Аудитория взрослеет?

Нет.
Просто становится очевидно, что M$-Java это эволюционный тупик :-З

Просто в последних версиях Джавы и Шарпа отличия надо искать с лупой. Раньше джависты кричали о кросплатформенности, а шарписты о функциональщине, а сейчас везде всё есть.

Я думаю основной плюс джавы — больше возможностей для тракторизации.

Такое, Java в этом плане сильно отстает, хотя прогресс, безусловно, есть.

Ну если сильно номинально то да. Но еще пара LTS-версий и все. А что такое для джависта подождать 6 годков? Пфффф, пыль!

Потому что другие темы для выпуска пара есть. Все неадекваты там тусят.

Хрен редьки не слаще. Профессионалу все равно на чем программировать . Если б начинал с нуля я бы выбирал какая бизнес-область интереснее с точки зрения задач.

Кстати, если решишь свичится в .NET Core, то стоит поторопиться, скоро он превратится в тыкву (.NET 5).

Це і буде готовий .net core. Для всіх і даром.

Очень интересная тыква:
> .NET 5 = .NET Core vNext
По факту это «обычный» .NET Framework заканчивает свой жизненный путь и замещается .NET Core

По факту это «обычный» .NET Framework 4.x заканчивает свой жизненный путь и замещается .NET Core5

Поправил.

Выше все верно написали, .net 5 это и будет кор по факту ну может с какими-то фишками моно.
„.NET 5 builds on this work, taking .NET Core and the best of Mono to create a single platform that you can use for all your modern .NET code.”

Да, понял, я, что игру слов распознали не только лишь все. Там просто Core из названия убирают, потому что считают .NET 5 feature complete по отношению к .NET 4.x и двигают версию дальше.

Как двигаться к желаемой цели?

Верной дорогой, товарищ.

Не вміє в нас люд відпочивати і насолоджуватись життям — тільки й роблять, що закривають свої гештальти...;))

Как по мне, так в питоне сейчас самый движ. Если бы сейчас начинал с нуля, то выбрал бы именно его.

Если что так Питон тоже уже в топе

Та давно уже. То последние пару лет как-то ажиотаж с ним прошел, но сейчас вот, вроде как опять взлетает.

Открою тебе секретик, что позиции

Technical Lead / Solution Architect / CTO

в общем случае не имеют ничего общего с джавой или дотнетом.

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

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

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

А почему нужно говорить только про большие проекты и только про аутсорс? А СТО вообще бывает в аутсорсе?
Техлиды, солющн архитекты и СТО есть на проектах любого размера. Можно быть каждым из них на проекте на пхп, го, РоР, том же питоне, с++, всяких прочих нодах и так далее.

А я и не говорил что только так и не иначе. На небольших проектах часто вообще лычками не раскидываются, просто синьор и все.

Техлиды, солющн архитекты и СТО есть на проектах любого размера.

Солюшен Архитекты? На проектах любого размера? Рыли?
Техлиды да, где угодно.
СТО — ну смотря на какой масштаб метить. Мне тут предлагали роль СТО + support engineer не так давно.

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

Ну а смысл быть солюшен архитектом на проекте на одного дева? Ни тебе релевантного опыта ни тебе релевантного бабла ни тебе тайтла даже.

На проекте из одного дева ты и сто и техлид и юный подаван одновременно :)))

Ну давай возьмём размеры команды 10+ человек. Это очень далеко от больших проектов с большими командами.

Смотря каких человек, смотря что делают. Я вот был в своей жизни «Архитектом» в компании на 10 человек и проектами по 5 человек на пол-года, потом свичнулся в мидлы в «кровавом аутсорсе».

А вот в моей текущей команде из 7 человек с двумя техлидами и ведущей штук 5 проектов одновременно вроде бы и почетно было бы быть «техлидом-архитектом».

Это всегда так. Синьоры же тоже бывают разные, а ТимЛиды так ваще.

Это глупо отрицать, но стремиться та надо к лучшему. Как минимум к совместимому со «средним по рынку»

Знаю архітекта в одній з наших топ-галер, то команда з ним на чолі за півтора року встигла пописати на .NET, Java, Python, JS. Тому так, погоджуюсь з вами, що в загальному не треба знати щось одне, але так як в нас багато вакансії дотнет/джава, то це найс ту хев скоріше

Та много чего «найс ту хев», но человек не в состоянии обьять все необьятное айти.
И секрет работы в айти в том, что нужно уметь сделать выбор и на какое-то время сфокусироваться на нем.
Начнем с того, что позиции TeachLead, Solution Architect и CTO — довольно разные позиции с разными компетенциями, хотя часто в некоторых компаниях под ними понимается что-то свое. В небольших компаниях, щедрых на раздачу тайтлов СТО может ничем не отличаться от техлида. А в некоторых де-факто техлид называться солюшн архитектом. И наоборот.

Но смысл в том, что имея 4 года опыта работы с питоном гораздо вероятнее продвинуться на позицию Техлида на проекте с питоном, чем выучить джаву/дотнет и перейти на проект с теми технологиями на позицию техлида. Скорее всего такой специалист перейдет на позицию в лучшем случае мидла, и потом нужно снова работать минимум года 4, чтобы заиметь шанс на запланированное повышение.

Но смысл в том, что имея 4 года опыта работы с питоном гораздо вероятнее продвинуться на позицию Техлида на проекте с питоном,

Ну насколько оно рационально переходить с питона куда-то это отдельный вопрос.
Класический совет по построеню карьеры звучал как «развивайся т-образно».. вроде оно, нет?

Ну насколько оно рационально переходить с питона куда-то это отдельный вопрос.

Так ото ж бо и воно :)

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

Я скорее про то, что позиции разные, и для них требуются разный набор опыт и скиллов.
Устроиться на работу техлидом проекта на джаве, при том что ты ее только вчера выучил звучит довольно странно, даже если ты уже 10+ лет в айти и был техлидом на других проектах.
А вот для позиций SA, CTO вполне можно такое себе представить, правда же?

Подписаться на комментарии