Как развиваться .NET разработчику?

Здравствуйте!
Я работаю fullstack разработчиком. Занимаюсь написанием веб приложений в небольшой компании около 2х лет. Для бекенда использую .net, для фронтенда - angular.

Проработав некоторое время появилось осознание, что так далеко не уйдешь (педаля однотипные проектики и перечитывая Рихетра вечером) :) Поверхностные знания есть (по платформе в целом, solid принципы, паттерны, sql и т.д.) но понимаю, что этого недостаточно.
Интересно услышать советы от опытных разработчиком, как развивались Вы или возможно у Вас есть какие-то советы для людей, находящихся в поиске знаний)
  • Вопрос задан
  • 3559 просмотров
Решения вопроса 1
Я делаю тоже самое, и тоже 2 года.
Но вот мне все также интересно, по вечерам читаю книги, на выходных смотрю видео.

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

1) Род Стивенс - "Алгоритмы. Теория и практическое применение".
2) Джон Маккормик - "Девять алгоритмов, которые изменили будущее".

Выучите SOLID (Боб "Принципы, паттерны и методики гибкой разработки"), GOF (банда 4х, хватит https://metanit.com/sharp/patterns/), GRASP (Крэг Ларман - "Введение в объектно-ориентированный анализ, проектирование и интеративную разработку") наизусть, прочитайте книги авторов.

Работа работой, делайте свое дело.
А в свободное время учите и читайте то что вечно, или почти вечно - алгоритмы, паттерны и т.п., то что можно применить где угодно и на чем угодно. Не забивайте голову неиспользуемыми фрейворками (приходят и уходят) и другими языками программирования на которые не собираетесь переходить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 8
искать интересные проекты на фрилансе и в opensource
Ответ написан
Комментировать
1. Попробуйте заменить ng на Vue. Вы реально поразитесь, насколько сменится парадигма на фронте.
2.1. На бэке, если уже не можете слезть с .Net, пробуйте хотя бы .Net Core (в связке с тем же Vue)
2.2. Если сможете - пробуйте какой-нибудь нормальный ЯП, типа PHP7 (https://habrahabr.ru/post/332868/), JS (Node.JS), или хотя бы Go.
Ответ написан
dmitry_pavlov
@dmitry_pavlov
World-class .NET freelance contractor (remotely)
Если вы уже комфортно себя чувствуете при написании разных типов приложений в .NET стэке - то путь может быть таким:
0) убедиться, что уверенно владеете последним срезом технологий в .NET (в частности .NET Core) как и инструментарием (в частности, Visual Studio Code)
1) попробовать типы приложений, которые не пробовали - если занимались разработкой веб приложений на ASP.NET - попробовать написать что-то под мобильные платформы, или толстого клиента, и т.п.
2) попробовать смежные вещи их мира JS (сейчас в Visual Studio много всяких типов проектов, с которыми можно поковыряться)
3) побаловаться с архитектурными подходами - например, разобраться с microservices - понять как это должно выглядеть в .NET реализации
4) осваивать прикладные области - например, как можно работать с ML, BigData, AI, и т.п. из .NET (какие-то освоить библиотеки/фреймворки)
5) просто попытаться взять свои стандартные проекты и заменить ну, например, базу данных с привычной на что-то иное и заставить это работать
6) начать мониторить индустрию в целом (все стэки разработки), чтобы ориентироваться что есть в смежных "цехах" и уметь сравнивать .NET c ними. Это кроме эрудиции в целом, даст понимание для каких задач, что обычно используется, что эффективно, а что нет, заимствовать какие-то подходы у смежников чтобы реализовать это в .NET (возможно даже вы найдете свою нишу и напишете какой-то полезный порт под .NET - как например когда-то появился NUnit, NAnt, Swashbuckle и прочие чудесные вещи)
Вышеописанное точно избавит вас от вопросов - что делать дальше. :)
Ответ написан
Комментировать
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
1 - на самом деле, как раз в своем стеке, можно расти и расти... (ну или пока стек не выйдет из моды)

2 - все просто - если готовы и/или хотите начать ломать свои стереотипы - осваивайте прямого конкурента - java.. ну или kotlin для модности...

рекомендовать вам node.js большого смысла нет, если все так как вы описываете - js уже должен быть знаком.. но нода это тоже вариант

ломка стереотипов чертовски полезная штука.. но не менее чертовски сложная

ps

просто выйдите за рамки .NET... c++ попробуйте.. а потом D-lang... ;))

это не значит что надо бросать .NET. я сам полностью поглощен C#... но... быть больше своей страсти .. полезно )))
Ответ написан
1. попробовать в плюсы
2. высоконагруженный проект, микросервисы, докер; одновременно можно и сменить платформу на java
3. поботать f#...ну а что, вставляет хорошо после ООП и C#: https://fsharpforfunandprofit.com/
3.1 там же можно и аналитику данных пощупать: https://fslab.org/
Ответ написан
Комментировать
Jeer
@Jeer
уверенный пользователь
Для фулл стека в принципе должно хватать и разнообразия и чего читать/учить обычно вопросов не встаёт, всегда есть белые пятна. Как по мне, смена работы даёт максимальный прирост профессионального развития. Перейдите в другой проект и сразу найдутся ваши пробелы и закроется вопрос что читать и что учить.
Ответ написан
Комментировать
vladimirbondarev
@vladimirbondarev
Разработчик ПО
Алгоритмы, паттерны и SOLID это база для программирования, без которой писать продуктовый код не получиться. У меня такая же проблема, отчасти иногда помогает смена конторы/проекта/команды. Но как только разберешься с архитектурой проекта опять впадаешь в рутину и уныние. Этого не избежать. Поэтому для себя стараюсь искать сторонние интересные проекты. Например, предложили переписать проект на Golang. Сначала после .Net очень сильно матерился, но потом проникся самим языком и его стеком. На год апатию сняло как рукой. Сейчас появился .Net Core, пытаюсь портировать рабочий проект на него, а потом запустить на Linux. В общем как-то так, иначе можно впасть в ситуацию профессионального истощения.

В общем мой совет, всегда искать что-то новое и экспериментировать. Еще хорошо помогают профессиональные тусовки. Или просто на выходных не подходить к компу )))
Ответ написан
Комментировать
petermzg
@petermzg
Самый лучший программист
Изучать паттерны, но хотеть разнообразия.
Скорее всего стоит определиться с жизненными целями.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы