Ответ
Я считаю, что для разработчика важнее практический опыт и умение находить и применять информацию, чем конкретные сертификаты. Мой основной подход к обучению — это работа с официальной документацией (например, Microsoft Docs для .NET), углубление в исходный код open-source проектов и решение реальных задач на платформах вроде Stack Overflow.
Тем не менее, для структурированного изучения сложных тем я проходил курсы на Udemy и Pluralsight. Например:
- "Design Patterns in C# and .NET" (Udemy) — для глубокого понимания архитектурных паттернов.
- "Concurrency in C# .NET" (Pluralsight) — для работы с многопоточностью и асинхронностью.
- "Microservices with ASP.NET Core" — для изучения современных подходов к распределённым системам.
Ключевой принцип — сразу применять знания на практике. Вот пример, как после изучения кортежей в C# я сразу интегрировал их в код для возврата нескольких значений из метода:
// Вместо создания отдельного DTO-класса для простого результата
public (bool Success, string ErrorMessage, int Result) ProcessData(int input)
{
if (input < 0)
return (false, "Input cannot be negative", 0);
var processedValue = input * 2;
return (true, string.Empty, processedValue);
}
// Использование
var (success, message, result) = ProcessData(5);
if (success)
Console.WriteLine($"Result: {result}");
Если в вашем проекте есть специфический стек технологий (например, Kubernetes, gRPC, конкретная СУБД), я готов быстро углубиться в нужное направление через целенаправленное изучение.
Ответ 18+ 🔞
Да ты гонишь, конечно, важнее опыт! Сертификаты — это, блядь, красивая бумажка, чтобы HR-шницель глаз радовала. А реально-то, чувак, спасёт только умение в документации рыться, как свинья в помойке, да в чужих исходниках ковыряться, пока мозг не закипит.
Ну, я, конечно, не полный самоучка-распиздяй, иногда структуры ради тоже курсы гонял. На этих ваших Udemy да Pluralsight. Чтоб, например, не писать хуйню в многопоточности и потом всю ночь дебажить, почему приложение сдохло. Или чтобы микросервисы не превращались в микроговна, которые друг друга ебут асинхронно до посинения.
Но суть-то в чём? Хуячить сразу в код! Не просто смотреть, как лектор умные слова говорит, а тут же пробовать. Вот, смотри, прочитал про кортежи в C# — и сразу применил, чтобы не городить отдельный класс на три поля, как последний олень.
public (bool Success, string ErrorMessage, int Result) ProcessData(int input)
{
if (input < 0)
return (false, "Input cannot be negative", 0);
var processedValue = input * 2;
return (true, string.Empty, processedValue);
}
Удобно же, ёпта! Раз — и распаковал результат куда надо. Красота!
А если у вас в проекте какая-нибудь дичь специфическая, типа того же Kubernetes, где все эти поды как сумасшедшие плодятся — да похуй, разберусь. Документацию съем, туториалы проглочу, на Stack Overflow пару ночей потусуюсь. Главное — задача есть, а как её решать, мозги найдут.