Backend

Jak wygląda praca nad kursem video? Moje doświadczenia

Opowiem Ci o wszystkich etapach z jakimi się mierzyłem, bądź mierzę w trakcie tworzenia kursu ASP.NET Core. Znajdziecie tu wiele etapów, o których pewnie nie pomyśleliście korzystając z materiałów przygotowanych przez programistów. Tym tekstem chcę zachęcić Was do tworzenia własnych kursów.

Marek Zając. Od sierpnia 2016r. związany z Software Mind (częścią grupy Ailleron), gdzie aktualnie jest full stack developerem i od niedawna team leaderem, który realizuje projekty dla klientów z Wielkiej Brytanii. Technologie w jakich się porusza to C#, JavaScript, TypeScript, .NET Core, ASP.NET MVC, Angular 2+, Docker. W pracy lubi bezpośredni kontakt z klientem i wpływ na podejmowane w projekcie decyzje.


1. Temat

Sam wybór tematu wynikał w dużej części z naturalnej kontynuacji mojego pierwszego kursu podstaw C#. ASP.NET MVC/WebAPI powoli stają się przeszłością, a aplikacje desktopowe w WPF/WinForms nie są tym czym zajmuję się zawodowo, dlatego też wybór padł na ASP.NET Core. Dla mnie jest czymś względnie świeżym, czymś, czego sam używam w pracy, więc w tym temacie mam największą wiedzę i jest to coś, co na pewno przyda się programiście C#.

Potwierdzeniem mojego wyboru były wiadomości jakie dostawałem od znajomych, gdzie różne osoby pytały mnie o tego typu materiały. Żeby upewnić się, że temat dobrałem dobrze, a do tego zebrać oczekiwania jakie stawiacie przed kursem, przygotowałem w lipcu ankietę zatytułowaną „Twój idealny kurs ASP.NET Core”. Tam już pytania konkretnie wiązały się z tematem aplikacji webowych.

Odpowiedzi w tej ankiecie nakierowały mnie na zakres zagadnień jakich oczekuje większość.

2. Zbieranie zagadnień

Jest to część, która zajęła mi najwięcej czasu i zakończyła się względnie niedawno. Nie można pokazać wszystkiego, dlatego trzeba było zdecydować czym się zająć. W tym momencie już wiedziałem, że pokażę, jak powstaje API z aplikacją frontendową w Angularze, jednak nadal został do przemyślenia zakres materiału.

Tutaj też utrwalił się pomysł, żeby kurs podzielić na dwie części. Pierwsza dotycząca podstaw dla programujących w C#, ale i początkujących w tematach aplikacji webowych. Druga dla programujących webowo, ale chcących rozbudować wiedzę o zagadnienia, które dobrze się łączą z ASP.NET Core i które warto znać budując w tej technologii nowoczesne aplikacje.

Zwłaszcza ta druga część była ciężka, bo zagadnień naokoło ASP.NET Core jest masa! Ale wybrałem takie, z którymi sam dobrze się czuję i takie, które widuję częściej w ogłoszeniach o pracę, jak również w projektach innych programistów. W trakcie tego etapu korzystałem z notesów, Excela, tablicy suchościeralnej (bardzo polecam do domu, jak ktoś ma swoje projekty!), a nawet mapy myśli, która ostatecznie wygląda tak jak na screenshocie poniżej (chociaż jest tak duża, że nie zmieściła się cała na ekranie, mimo maksymalnego oddalenia):

3. Strona internetowa i marketing

Nie ma co ukrywać – żeby robienie takiego kursu miało sens, ktoś musi się o nim dowiedzieć. Dlatego kiedy tylko wiedziałem, co oferuję, postanowiłem zacząć o tym mówić. Z resztą pewnie sporo osób, które mnie śledzi widziała stronę kurs-szarpania.pl przygotowaną dla kursu ASP.NET Core, albo spotkała się z informacją, albo reklamą na Facebooku.

Przewagą bycia programistą jest to, że mogłem tę swoją stronę przygotować samodzielnie, co było dla mnie o tyle ważne, że dzięki temu jest ona bardzo lekka. Zależało mi na pierwszym wrażeniu, gdzie wejście na stronę główną jest bardzo szybkie.

Do tego posty na Facebooku, streamy na Youtubie, filmy na Youtubie, reklamy na Facebooku. To wszystko też zajmowało godziny i zabierało pieniądze. Zrobienie godzinnego streamu w żaden sposób nie zajmie mniej niż godzinę. W tych tematach cały czas uczę się, testuję, zmieniam. Dlatego też pewnie możesz zauważyć, że np. moje reklamy różnie wyglądają za każdym razem i są w trochę innym stylu. Szukam najlepszej opcji.

Im więcej osób wie o kursie, tym większa szansa, że ktoś skorzysta z możliwości zdobycia wiedzy, a mi produkcja zwróci się. Do tego więcej osób zobaczy, co robię i może chociaż odwiedzi mój blog albo kanał na YT.

4. Zbieranie wiedzy

Nawet chcąc mówić o rzeczach, które się zna, dobrze jest sprawdzić swoją wiedzę. Dlatego też przygotowałem listę 200 pytań do tematów z kursu i na te pytania zapisywałem odpowiedzi albo szukałem uzupełnienia tematu w różnych źródłach. Nie widzę problemu w mówieniu, że jakiś temat omawiam wspomagając się czyjąś wiedzą, bo taki kurs to przede wszystkim uporządkowanie zagadnień i zdjęcie z kursanta konieczności szukania oraz weryfikowania różnych informacji. Moją przewagą jest to, że wiem czego szukać i wiem, co jest warte uwagi. Nawet jak czasami tylko zbiorę takie wiadomości i to przełożę na swój język, to daję Ci konkretną wartość.

5. Nagrania i montaż

Esencja robienia kursu. Kiedy w końcu wszystkie zagadnienia są zebrane i wiem, co powiedzieć, to trzeba też te słowa zarejestrować. Ponieważ wybrałem, że kurs powstanie w formie wideo (wybierając taką formę opierałem się m.in. na opiniach z poprzedniego kursu, gdzie ludzie chwalili nagrania z ekranu, na którym coś robię, do tego bazowałem na własnym doświadczeniu z materiałami szkoleniowymi) to te wideo trzeba przygotować.

Nagrania

Początkowo część teoretyczna miała być nagrana przy tablicy, kiedy stoję przed kamerą i opowiadam. Jednak to by niepotrzebnie wydłużyło produkcję, a moja postać nie wnosi nic nowego do tematu. Dlatego zdecydowałem się na zmianę i zacząłem nagrywać to co rysuję na wirtualnej tablicy (konkretnie korzystam z limnu.com). Dzięki temu nie muszę za każdym razem ustawiać kamery, świateł, dodatkowych mikrofonów.

Nagrywam tablicę w taki sam sposób jak materiały praktyczne. Do tego celu używam aplikacji OBS, która jednocześnie nagrywa obraz z ekranu i dźwięk z mikrofonu podłączonego do komputera. Przed tym kursem kupiłem mikrofon Novox NC-X oraz statyw Rode i absolutnie tego nie żałuję! W porównaniu do nagrywania poprzedniego kursu, gdzie korzystałem z analogowego mikrofonu krawatowego to jakość dźwięku i wygoda korzystania są o niebo lepsze.

Montaż

Materiały montuję w programie DaVinci Resolve. Na zdjęciu poniżej widzisz właśnie mnie podczas montażu. Oczywiście zdjęcie jest ustawione, bo sam nie zrobię sobie fotki z zaskoczenia, ale praca faktycznie tak wygląda i na ekranie jest faktycznie lekcja, którą obrabiałem w tym momencie.

Ta część – czyli nagrania i montaż – jest bardzo czasochłonna. Bo na godzinę nagrania, mimo większego doświadczenia niż wcześniej, przypada około 1:20 – 1:30 surowego materiału, bo jednak człowiek myli się albo zapomina jakiejś kwestii. Do tego zmontowanie takiej godziny to znowu co najmniej 1:20-1:30 pracy z programem do montażu. W końcu słucha się całości + wycinając różne pomyłki, trzeba wracać i słuchać jak po zmianie łączy się obraz i dźwięk, czy nie ma dziwnego przeskoku albo nie został jeszcze jakiś niepotrzebny fragment czy zbyt długa cisza.

Jeżeli chodzi o nagrania i montaż to robię je równocześnie. Tzn. kiedy mogę nagrywam, a wieczorem albo gdy zedrę już gardło montuję to, co jest nagrane.
Wypracowałem sobie w miarę optymalny model pracy – jednym ciągiem nagrywam np. lekcje teoretyczne do kilku modułów, żeby nie wypaść z flow, a potem robię to samo z lekcjami praktycznymi – jedynie włączam i wyłączam nagrywanie, kiedy chcę kolejny plik z wideo. Dzięki temu odpada przełączanie się pomiędzy programami i zastanawianie się, co teraz potrzeba. Jak jakiś temat wymaga przemyślenia, to po prostu jadę z kolejnym zapisując kolejne lekcje.

6. Upload plików i strona dla kursantów

Wszystkie pliki trzeba gdzieś wysłać, żeby były dostępne dla użytkowników. Potem uzupełnić na stronie panel dla kursantów o wszystkie dostępne lekcje, wstawić do nich wideo i dodać ewentualnie dodatkowe materiały (linki, pliki).
Do publikacji filmów korzystam z płatnego planu na Vimeo, bo oferuje lepszą jakość niż Youtube i daje większą kontrolę nad naszym materiałem i odtwarzaczem. Dlaczego nie wrzucam ich na swój serwer?

Bo ilość transferu i powierzchni jaka by była do tego potrzebna zdecydowanie przekracza moje możliwości. W końcu to kilkadziesiąt gigabajtów plików, które oglądają dziesiątki osób. Do tego założyłem grupę na Facebooku, w której każdy, kto wykupił kurs może dołączać. I jest to jeden z atutów takich kursów – można dyskutować w gronie osób, które przerabiają te same materiały i być może mają różne przemyślenia w tych tematach.

Dodatkowo jako autor również pojawiam się tam, dzięki temu kursanci mają stały kontakt ze mną i mogą dostać odpowiedzi na pytania jakie pojawiają się w trakcie przerabiania lekcji. Ten etap jest jednym z przyjemniejszych etapów przygotowania kursu, bo zwieńcza pracę nad nim.

7. Sprzedaż

Przy kursie ASP.NET Core przyjąłem taktykę, w której udostępniłem zarówno przedsprzedaż, jak i sprzedaż. Obie w krótkich okienkach. O obu osoby zapisane na newsletter poinformowałem w pierwszej kolejności. Przedsprzedaż pozwala sfinansować część prac, a dodatkowo daje ogląd na to jakie jest zainteresowanie. Ponieważ wiązała się z zakupem czegoś, co dopiero powstaje to cena musiała być niższa.

Dlaczego robię okienko sprzedażowe, a nie daję możliwości zakupu w dowolnym momencie? Bo ludzie szybko zapominają, a dodatkowo lubią odkładać decyzje na później. Przypomnij sobie, ile razy odkładałaś/odkładałeś zakup czegoś na później aż w końcu zapomniałeś o zakupie.

Do tego takie podejście powoduje, że mam pewność, że w grupie wszystkie osoby zaczęły albo przynajmniej mogły zacząć naukę w podobnym momencie. Dzięki temu łatwiej dyskutować o lekcjach, projekcie czy ogólnie temacie aplikacji webowych (albo każdym innym, którego jakiś kurs dotyczy).

Każde otwarcie sprzedaży wiąże się też u mnie z transmisją na Youtubie, gdzie opowiadam o jakimś temacie powiązanym z kursem – dzięki temu nawet jeżeli ktoś ostatecznie nie zdecyduje się dołączyć, to dostaje wartość w postaci godziny czy dwóch omówienia danego zagadnienia.

Kursy sprzedaję na swojej platformie, która znajduje się pod adresem kurs-szarpania.pl. Dzięki temu na stronie użytkownik widzi tylko moje treści, a do tego nie muszę się dzielić przychodami z pośrednikiem. A ci najwięksi biorą od 50 do nawet 80% z ceny kursu.

8. Jak to w programowaniu – błędy się zdarzają

Jednak jak w każdym przedsięwzięciu, tak i przy robieniu kursów zdarzają się potknięcia. Począwszy od prostych jak np. reklamy, które średnio trafiły do ludzi czy jakieś literówki w opisach, o których informują dopiero użytkownicy po dużo większe jak konieczność zrewidowania pewnych założeń.

Można to porównać do wytwarzania oprogramowania. Nieraz przejdzie jakaś literówka w nazwie zmiennej albo jakiś moduł nie zadziała na serwerze. Tak samo czasami zdarzy się, że wycena czasowa zadań była zbyt optymistyczna i wpadają opóźnienia. Zwłaszcza jak jeszcze nie mamy zbyt dobrej skali porównawczej np. w postaci wielu podobnych, ukończonych projektów.

Tak było w tym przypadku – mając wcześniej skończony jeden krótszy kurs, w dodatku oparty o istniejącą treść z bloga, przeliczyłem moje możliwości i zbyt optymistycznie podszedłem do szacowania tempa prac. A jak się okazuje, nigdy nie przewidzimy wszystkiego. Z tego powodu po zakończeniu przedsprzedaży i posiadaniu niepełnych materiałów, których realizacja się przeciągnęła, podjąłem decyzję o odsunięciu otwarcia faktycznej sprzedaży na pierwsze miesiące 2020 roku.

Osoby, które dostały dostęp w niższej, przedsprzedażowej cenie, dostają co kilka dni kolejne porcje materiałów, a osoby, które w 2020 roku dołączą do kursu, będą miały od razu zestaw wszystkich gotowych lekcji. Wszystko przed nami.


Artykuł został pierwotnie opublikowany na zajacmarek.com. Zdjęcie główne artykułu pochodzi z unsplash.com.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://justjoin.it/blog/wlasny-kurs-programowania" order_type="social" width="100%" count_of_comments="8" ]