.NET Developer
Podstawy C#
zmienne
typy
pętle
for
while
do while
instrukcje warunkowe
obsługa błędów
kolekcje danych
Visual Studio
Tworzenie projektów
Debuggowanie
ReSharper, skróty etc
Publikowanie aplikacji
Programowanie obiektowe
Klasy, obiekty i interfejsy
paradygmaty programowania
Abstrakcja
Heremtyzacja
Polimofizm
Dziedziczenie
Podstawy SQL
Projektowanie bazy danych
Język SQL
Normalizacja baz
Podstawowa osługa serwera bazodanowego
Bazy danych
Relacyjne
SQL Server
PostgreSQL
MySQL
Nierelacyjne
MongoDB
DynamoDB
CosmosDB
Wzorce architektoniczne aplikacji
Architektura Wielowarstwowa
Architektura Trójwarstwowa
MVC
MVVM
SOA
CQRS
Wzorce projektowe
Kreacyjne
Factor Method
Abstract Factory
Builder
Prototype
Singleton
Strukturalne
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Behawioralne
Chain of responsibility
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Uniwersalne umiejętności programistyczne
Systemy kontroli wersji
GIT
SVN
HTTP / REST
Algorytmy i struktury danych
DDD
Zasady wielowątkowości
SOLID
Single responsibility principle
Open/closed principle
Liskov substitution principle
Interface segregation principle
Dependency inversion principle
Dependency Injection
Zasady DI
Cykle życia w DI
Frameworks
MS DependencyInjection
AutoFac
Ninject
Castle Windsor
Frameworks
Entity Framework
CodeFirst
DB First
Migracje
Lazy Loading
AutoMapper
FluentValidation
Swagger
Polly
Mediatr
Hangfire
FluentScheduler
Express Mapper
NodaTime
Logowanie zdarzeń w aplikacji
NLog
SeriLog
Log4net
Elmah
ApplicationInsight
Unit testy
Arrange / Act / Assert
Frameworks
MSTest
NUnit
xUnit
Mocking
Moq
NSubstitute
TDD
Inne rodzaje testów
Testy integracyjne
Testy behawioralne
Testy E2E
Oprócz kodu
Organizacja pracy
Scrum
Kanban
Narzędzia do zarządzania zadaniami
Trello
Asana
Jira
Dokumentacja
Wiki
Confluence
Cashing danych
In Memory Cache
Rozproszony Cache
Microservices
Architektury i komunikacja w mikroserwisach
PubSub pattern
Message Brokers
RabbitMQ
Service Bus
Appache Kafka
IoT
IoT HUB