×Закрыть

C#. Есть ли жизнь после WinForms?

Доброго времени суток, форумчане.

Долгое время (последние 2.5 года) пишу на заказ различные парсеры, чекеры аков, ботов и прочую автоматизацию. Как и у всех началось с Шилдта и быдлокодинга. Заказчикам как бы и так хватает того что я делаю, а мне хочеться большего. Год назад, кстати, начал реверсить Android-приложения для получения приватного Api и всех сигнатур с ним, чтобы боты работали лучше. Даже удалось найти уязвимость у яндекса(не критичная, но очень полезная) и одного из европейских мобильных операторов(которые тупо проигнорировали мое письмо с ахтунгом). Тоже вроде как навык.

Последние полгода понял что надо что-то менять. Начал с изучения чужого кода, применять ООП как надо, читать статьи и понял что хочу расти и набираться скила. Английский более менее, за месяц разговорюсь без проблем. Вакансии пестрят ASP.NET, но я не знаю подойду ли я им, и хватит ли мне хотябы базовой литературы чтобы получить оффер.

Подскажите куда плыть, хочется все таки больше бекэндом заниматься и не бросать C# в погоне за Java.
Благодарю за прочтение.

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

Вот еще темка была dou.ua/forums/topic/19593
Может что-то заинтересует

Окрім, девелепмента є ще автоматизація тестування. C# тут менш популярний ніж джава, але вакансії є. Глянь на Selenium та Nunit. Лишнім не буде. А так відкривай вакансію яка подобається, прогугли не відомі терміни і вперед

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

Ах да, по SQL — написать не сложные запросы с group by, в стиле посчитать количество строк в группе, это стандартный вопрос,и про виды join и написать с ними запрос тоже стандартный вопрос на собесе. зачем нужен профайлер и как им пользоваться, какие виды индексов в SQL и чем они отличаются, уровни изоляции и транзакции, что такое хранимки и как их юзать. Почитай за query plan execution и как он погоает настроить перформанс, очень полезно.

собери полностью проект Angular (лучше на 2)+ WebApi с авторизацией регистрацией.простенький интернет магазин с админкой для начала подойдет очень даже. ну или выбери что по душе. Ничего там страшного нет, в начале каша конечно будет но потом вьедешь. Если ангуляр и веб апи очень сложно будет то попробуй в начале просто постраничный MVC сайт собрать и вьехат в бек енд часть, потом будешь дрочиться с фронтом.

Core пока еще только набирает обороты и там можешь столкнуться с лишними проблемами, пока можешь взять простой дот нет, для того чтобы въехатьв ASP.Net достаточно будет

Жизненный цикл запроса и веб приложения. По класическому MVC Сандерсона книга хорошая была, но это я по памяти со времен MVC 3. MVC ща все реже встречается. Знать Web Api чем отличается от MVC.

Обязательно Dependency injections изучить,библиотк много но разобравшись с одной с другими проблем не будет. Прикрути либу, и посмотри как резолвятся не просто зависимости но и как резолвятся синглтоны и какие могут быть проблемы.

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

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

Database project — проекты базы данных в студии, посмотри что это и как сделать проект базы данных в студии такое часто юзают в проектах, там сильно копать не надо, это обычно ДБА будут делать и настраивать. Но это очень часто на проектах и присунуть фикс туда это частая задача.

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

TPL это про тред пул, знать как работает и что такое async await, чем отличается асинхронность от многоточности, у Рихтера все разжовано подробно и на русском. Там же и про синхронизацию. Лучше свой проектик сразу асинхронным писать, понаступаешь на полезные грабли. :-)

layered architecture — уровни абстракций бизнесс логики,data access layer... когда будешь делать сайтец упаси господь в котроллерах писать бизнесс логику, этот подход тебе облегчит жизнь.

Когда разберешься с обычным MVC тогда моешь качать фронт энд — как писал выше, ангуляр второй и web api, там проект лучше собрать сразу с webpack, karma, sass и прочими фрон энд штуками. для верстки и стилей юзай готовые фреемверки.

Далеко не все девелоперы педалят и качают фронт энд, но сним будет намного(очень) легче найти работу.

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

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

Т. е. по Вашему стоит всетаки углубиться в asp.net? Тут понятно что так или иначе нужно знать весь проэкт и понимать для чего он. Мне просто чем дальше от дизайна тем лучше, больше нравятся алгоритмы, работа с данными. А то что я делал в WinForm там то по сути и дизайн пара кнопок, лог и счетчики, прописал 1 контроллер на все случаи жизни и уже на всех проектах только заморачиваешься с запросами на сервер и их обработкой.

Конечно стоит, из того что я перечисли тебе как минимум половина пригодится даж не на asp.net. На asp.net много больших проектов гды работа с кнопками есть, но это 10-30%, а то и вовсе может не быть и ее делают фронт эндеры, но там надо с ms sql хорошо разбираться и другими бэк енд технологиями. дизайном заниматься ты не будешь им занимаются обычно верстальщики и дизайнеры тебе дают потом макеты. Я например, имея лычку синьор помидор, вообще верстать не умею, а вот с js без проблем, и на собесах всегда говорю прямо, что верстку делать не могу, а если и смогу то долого и коряво. чистый бек энд, без знания js это уже тяжелее работу найти. при найме всегда говорят обьем работ по js и .net в процентном отношении, так что вполне найти проект где ты будешь js очень мало возиться. прикол в том что перейдя на джаву там будет такая же хрень )))) если уж совсем нудно будет попробуешь Unity, но с asp.net и немного js у тебя всегда будет куча предложений по работе и с опытом можно выбирать копании и проекты. зайди на раздел работа и посмотри кол-во предложений + если задумаешь завести трактора то asp.net тоже дофига предложений.

Підтримую. Дуже класний набір.

По моему на Шарпе полно всяких проектов на связанных с ВЭБ.
Начиная от Юнити, Ксамарина и заканчивая всякими БД, вообшем вся широта — широт, это не такой узкий сегмент, как у какого — нибудь NodeJS.

в целом соглашусь, но сравнивать ИМХО надо бы не с нодой, а с рельсами)
ибо на ноде вполне можно писать и десктоп (nw.js, electron) и геймдев (правда серверный, да и казуалочки на phaser.js в электрон думаю вполне можно запихнуть), да и в целом джаваскрипт счас лезет везде, даже в эмбедед)

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

порядка 80% проектов сейчас — это веб. Если оставаться в .Net стеке, загляни на www.asp.net/learn
Там в разделах «Select ASP.NET scenario» и «Select ASP.NET Core scenario» ссылки на актуальные обучалки.

Человече, если ты думаешь что тот же React, Angular и прочие Bootstrapы — что-то заоблачно сложное, то это не так. Ну не сложнее WinForms точно. Может конечно для очередного смузихлёба на гироскутере сама концепция того же реакта — это что-то новое, но на самом деле это не так.

В конце концов,купи на том же ITVDN курс или месячную подписку, посмотри курсы и вперёд. Лишним оно точно не будет, по крайней мере для кругозора. А там как пойдет, вдруг в тебе скрыт великий JavaScript разработчик.

А для бэкэнда — ну почитай про тот же WebAPI + .NET Core. Тоже совсем не сложно, и существенно повысит список тасков, за которые ты можешь браться, даже как фрилансер.

Сейчас делаю тестово сайт, разбираюсь с технологиями. Принцип то по сути один и тот же везде) Да и C# мне очень нравится. Благодарю за наводки.

Ибо мотивация. Когда «деньги уплочены» ©, проще заставить себя в конце концов просмотреть курсы. «Жаба» vs «лень»

В чому проблема, вибери вакансію, яка б максимально відповідала твоїм очікуванням, сходи на співбесіду, тобі розкажуть в чому пробіли, підкачайся і через 3-12 міс. сходи ще раз.

Бросать C# точно не стоит. Посмотри в сторону фуллстека.

В чем совет? Выучить ангулар, реакт, джс, аспнет и пойти на джуна в офис за 400$ ? Тут много ума не нужно.

А зачем на джуна? База .net же уже есть. Сам переходил после 4+ лет плюсов на .net и не на джуна

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

фигня. Все когда то первый раз приходили в офис. И какая проблема со скрамами? Что там уметь?
Чего точно не надо делать переходить с C# на реакты и ангуляры — этой фигней пусть молодняк страдает у которого никакого опыта програмирования. А у человека задел на серьезной платформе.
И нормальные бабки на фрилансе делают единицы. Вполне нормальные бабки можно делать и в офисе с гораздо меньшими усилиями хотя бы изза того что ты занмаешся только програмированием а для бодатся с заказчиками менеджеры есть.

И какая проблема со скрамами? Что там уметь?
Тебе сложно будет поверить, но тупая хрюша считает, что нечего ловить на проекте без опыта скрама.
Чего точно не надо делать переходить с C# на реакты и ангуляры — этой фигней пусть молодняк страдает у которого никакого опыта програмирования.
Да-да. Конечно. Уже представил себе начинающего аспнет-разработчика, что отказывается работать с js, а хочет только в контроллеры и энтити-фреймворк.

я не против джуна. я и иду за опытом, посмотреть что люди пишут, как пишут. Показать что я могу. А $ мне первое время будут приносить мои софты в продаже на которые почти не надо уделять время.

нет опыта коммерческой разработки. Моя разработка это небольшая прога которая по 1й или 2м кнопкам в большом кол-ве потоков делает запросы куда-то и обрабатывает их. Это если совсем просто, понятно что задачи бывают разные и приходиться ухищряться, но как правило это какае-то автоматизация действий в инете.

Последние полгода понял что надо что-то менять.
Как вы это поняли?
Начал с изучения чужого кода, применять ООП как надо
Здесь если можно поподробнее. Очень интересно как это применять «как надо».
Вакансии пестрят ASP.NET, но я не знаю подойду ли я им, и хватит ли мне хотябы базовой литературы чтобы получить оффер.
После фриланса в офис? А как там WPF, UWP, если наработан пласт опыта в WinForms?
Как вы это поняли?
код трудно было перенести полностью в другой софт
Здесь если можно поподробнее. Очень интересно как это применять «как надо».
маленькие методы, небольшие классы, один и тот же код использовать много раз не дублируя и не занимая место.
После фриланса в офис? А как там WPF, UWP, если наработан пласт опыта в WinForms?
почему бы и нет? я же на площадках «по заработку» работаю, там где люди придумывают «темы» и им нужна "автоматизация"(без чернухи). WinForms у меня просто на уровне пары контроллеров и дизайна с шаблона. Сильно не замарачивался с дизайном, а вот с производительностью и алгоритмами замарачивался.

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