Ale o co chodzi?
Microsoft Certified Solutions Developer: App Builder, to tytuł jaki otrzymuje się od Microsoftu po zdaniu trzech egzaminów ze wskazanej listy. Każdy z nich sprawdza znajomość zagadnień z określonego obszaru lub technologii. Z oficjalnej strony Microsoftu:
This certification validates that you have the skills needed to build modern mobile and/or web applications and services.
W 2019 ścieżka certyfikacji do tytułu MCSD: App Builder wymaga zdania trzech egzaminów w jednym z wariantów:
- 70-483: Programming in C#, 70-486: Developing ASP.NET MVC Web Applications, 70-357: Developing Mobile Apps;
- 70-480: Programming in HTML5 with JavaScript and CSS3, 70-486: Developing ASP.NET MVC Web Applications, 70-357: Developing Mobile Apps;
- 70-483: Programming in C#, 70-486: Developing ASP.NET MVC Web Applications, 70-487: Developing Microsoft Azure and Web Services;
- 70-480: Programming in HTML5 with JavaScript and CSS3, 70-486: Developing ASP.NET MVC Web Applications; 70-487: Developing Microsoft Azure and Web Services;
- 70-483: Programming in C#, 70-357: Developing Mobile Apps; 70-487: Developing Microsoft Azure and Web Services.
Egzaminy można zdawać w dowolnej kolejności. Wynik pozytywny uzyskuje się od 70%. Test ma formę pytań, przeważnie jednokrotnego wyboru. Zdarzają się pytania gdzie trzeba zaznaczyć więcej odpowiedzi, pytania typu „yes / no”, pytania w których trzeba wybrać odpowiedzi z listy wyboru, albo ułożyć poprawny kod poprzez przeciąganie odpowiednich części składowych. Przy egzaminach 70-486, 70-357 i 70-487 pojawiają się tzw. case’y – dostajemy założenia do jakiegoś projektu czy funkcjonalności i serię pytań, które testują nasze zrozumienie wymagań funkcjonalnych. Pytań jest około 45, wszystkie poprawne odpowiedzi sumują się do tysiąca punktów. Pocieszające jest to, że przy pytaniach wielokrotnego wyboru każda poprawna odpowiedź jest punktowana. Co oczywiście rodzi pytanie: a co jak bym zaznaczyła wszystkie? Bo ujemnych punktów nie dają :) Zawsze przed egzaminem startuje ankieta, w której trzeba się ocenić w skali od leszcza do prodigy, podobno nie ma to wpływu na pytania, które dostaniemy, ale kto ich tam wie – oceniałam siebie bardzo zachowawczo :)
Zabawną ciekawostką jest to, że egzaminów nie byłam w stanie zabukować przez Chroma. Zastanawiam się, czy MS zrobił to złośliwie – czy mają tylko słabych webdesignerów z IE jako domyślną przeglądarką. A skoro już o tym mowa… To taki widoczek zobaczyłam na swoim dashboardzie po zdaniu 70-357. Co ta gwiazdka tu robi i czemu to jest takie brzydkie? :P
Microsoft ma więcej wpadek na swoim koncie. Na oficjalnej stronie egzaminu 70-483 jest zalinkowany filmik z jutuba pod nośnym tytułem Watch an Exam Prep session from Microsoft Ignite 2017. Ogólnie spoko, ale w filmie są pokazane błędne odpowiedzi na podstawowe zagadnienia i to już jest trochę żenujące…
Do egzaminu można podejść w autoryzowanym przez Microsoft centrum certyfikacji, istnieje także możliwość zdawania w domu lub w biurze. Do dwóch egzaminów podchodziłam zatem w domowym zaciszu (głównie ze względu na brak alternatywy przy zadanym deadlajnie). Jest to oczywiście obwarowane dodatkowymi wymaganiami. Pomieszczenie musi być zamknięte, przestrzeń robocza uprzątnięta, nawet obrazy ściągałam ze ściany :) Na pół godziny przed ustaloną godziną z pomocą specjalnej apki przeprowadza się proces checkinu. Po drugiej stronie siedzi człowiek, który wydaje instrukcje – trzeba pokazać dokument tożsamości i swoją przestrzeń roboczą, a w trakcie trwania egzaminu mieć cały czas włączoną kamerkę. Jeśli pojawi się problem na łączu, ktoś wejdzie do pokoju, wstanie się od biurka – egzamin jest automatycznie uznany za nieważny. Nie można mówić do siebie, nic notować, odpalać przeglądarki, ani żadnego innego softu. Zdawanie w domu było o tyle stresujące, że miałam cały czas w tyle głowy sto tysięcy sytuacji, w której coś idzie nie tak, np. Amon staje pod zamkniętymi drzwiami, zaczyna zawodzić i drapać drzwi. A ten to akurat umie się wydrzeć.
Niestety tytuł nie jest przyznawany dożywotnio, zatem w momencie kiedy Microsoft postanowi spuścić któryś z egzaminów w kiblu zapomnienia – zostaniemy poproszeni o odświeżenie swojego tytułu, co oznacza zgłębianie jakichś nowych zagadnień i zaliczenie kolejnych testów. Biznes musi się kręcić…
Skąd ten pomysł i czemu tak szybko?
Jak nie wiadomo o co chodzi, to chodzi o pieniądze :) Pod koniec marca moja firma zaczęła szukać wśród pracowników chętnych do wzięcia udziału w pięciodniowym szkoleniu przygotowującym do uzyskania certyfikacji MCSD. Osoby, które się zadeklarowały miały opłacone egzaminy w promci od measure up z dwoma poprawkami – gdyby się komuś powinęła noga. Firmie zależało, bo posiadanie pracowników MCSD okazało się być warunkiem koniecznym do utrzymania statusu Gold Partnera Microsoftu, co wiąże się z oszczędnościami na licencjach. Haczyk był tylko jeden: deadline do zdania trzech egzaminów mija 14 maja, więc mieliśmy na to około 6 tygodni.
Na początku sama idea mnie przeraziła. Wydawało mi się, że pomysł zdawania egzaminów z ASP.NETa lub Azure’a jest kompletnie nierealny. Tych technologii nie znam, nie miałam z nimi za dużo do czynienia i nie wierzę, że jakiś typ na szkoleniu jest mnie w stanie tego nauczyć przez 5 dni. Wymagania na stronie MSu jasno mówią, że trzeba mieć co najmniej trzy lata doświadczenia w danym obszarze. Przez ostatnie miesiące miałam sporo stresów i bałam się, że jak zawalę egzaminy, to psychicznie się z tego nie wygrzebię przez następne pół roku. Ostatecznie zgłosiłam się w ostatniej chwili za namową kolegi. Trochę też przekonałam samą siebie, że nauka do egzaminów skutecznie skieruje moje myśli na bardziej przyziemne sprawy, jak nie zdam to niebo nie spadnie mi na głowę, i hej – no przecież przy okazji czegoś się nauczę :)
Jak moje przygotowania wyglądały w praktyce?
Mogę Wam powiedzieć, że wykupione „szkolenie” u firmy certyfikującej było stratą czasu. „Materiały”, które dostaliśmy możecie wyguglać w 5 sekund wpisując magiczną frazę: [nazwa egzaminu pdf]. Polecam skupić się na stronach, gdzie przykładowe pytania są prezentowane razem z jakimś modułem komentarzy. Wydaje się, że wszystkie dokumenty dostępne online mają jedno źródło, bo pojawiają się te same błędy w odpowiedziach :) Na wszystko trzeba więc patrzeć z pewną dozą nieufności. Aktywne komentarze na stronach prezentujących pytania pozwalają zweryfikować swoje przypuszczenia co do trefnych odpowiedzi.
Robiłam także dużo testów z measure up i to pozwoliło mi zidentyfikować obszary, w których mam braki. Przy każdej odpowiedzi zamieszczają tutaj obszerne wytłumaczenie tematu z linkami do msdna, gdzie można pogłębić swoją wiedzę. Platforma jest bardzo fajna, ale też się nie ustrzegli przed wpadkami i pytaniami od czapy – co z uporem maniaka im zgłaszałam korzystając z opcji feedback :)
Poszłam pierwszą wymienioną wyżej ścieżką, zdałam: 70-483: Programming in C#, 70-486: Developing ASP.NET MVC Web Applications, 70-357: Developing Mobile Apps. Ponieważ na początku kwietnia wiedziałam o ASP.NET dokładnie nic – obejrzałam sobie na Udemy kurs Mosh’a Hamedani. Gość jest naprawdę dobry. Jeśli ktoś potrafi bardzo prosto tłumaczyć skomplikowane rzeczy – to znaczy, że naprawdę kuma temat. Jego wprowadzenie do Entity Framework’a przydało mi się przy okazji na egzaminie 70-357. Do tego kurs jest bardzo fajnie zmontowany, facet mówi konkretnie, nie jąka się, nie przeciąga, lekcje są podzielone na logiczne bloki i wszystko ma sens. Bardzo polecam. Mam zamiar w wolnym czasie obczaić jego filmiki na jutubie dotyczące programowania w Pythonie.
Przygotowywałam się do egzaminów praktycznie codziennie przez 4 tygodnie. W trakcie dniówki w pracy (o ile nie było jakichś pilnych tematów), wieczorami i w weekendy. Jestem ambitna, więc przez to ciężko mi było odpuścić. Niezwykle męczący maraton. Robiłam sobie przerwę dopiero jak mózg był na granicy eksplozji :P
Dwa pierwsze egzaminy zdałam na 93%, trzeci na 91%, więc ostatecznie jestem zadowolona z wyniku. Udowodniłam sobie, że mogę, co trochę podniosło moje morale. Radość i ulga po uzyskaniu certyfikacji MCSD była przeogromna. Serio, dawno nic mnie tak nie ucieszyło :)
70-483: Programming in C#
C# wybrałam na pierwszy egzamin. W języku grzebię się już dekadę, więc ten test był dla mnie najważniejszy i najbardziej stresujący. Bo co to będzie oznaczało jak obleję – że nie umiem programować? Tak naprawdę to by nic nie znaczyło, ale wnioski zostawię sobie na koniec wpisu.
W trakcie mojej kariery programistki dotknęłam sporo obszarów, na których skupiał się egzamin. Przy okazji przygotowań odkryłam jednak kilka tematów, które stanowiły dla mnie nowość. To pozwoliło mi uporządkować swoją wiedzę i doszkolić się z pomocą msdna, więc nauka do tego testu miała najwięcej sensu.
Pytanie jakie sobie zadaję do tej pory: czy zdałabym gdybym podeszła do egzaminu z marszu? Myślę, że z tym zestawem, który akurat wylosowałam, wyklikałabym jakoś te 70%. Ale to bardzo zależy od pytań. Niektóre są bardzo szczegółowe, co wydaje mi się trochę bez sensu, bo jak potrzebuję sformatować stringa w jakiś bardzo udziwniony sposób, to zawsze posiłkuję się msdnem, nie mam wszystkich przełączników w głowie. Egzamin, moim zdaniem, powinien sprawdzać bardziej ogólne zasady programowania obiektowego, ogólną wiedzę na temat konstrukcji języka i rozwiązań, które w danym scenariuszu najlepiej się sprawdzą. I nie pytać o to, co zawsze podpowie intellisense, albo można szybko zweryfikować online. W praktyce nie do końca tak jest, więc mogę sobie wyobrazić, że nawet dobry programista mógłby się na 70-483 wyłożyć bez wcześniejszego przygotowania, bo akurat nie wie co robi tool tlbimp, albo czy metody klasy JsonSerializer są generyczne.
70-357: Developing Mobile Apps
Na drugi egzamin wzięłam Developing Mobile Apps. Egzamin akurat kretyńsko się nazywa, bo niejako sugeruje pytania z technologii Windows Phone, którą Microsoft przecież zatopił (chlip chlip). Zagadnienia dotyczą jednak w większości Windows Universal Apps. Na tym gruncie czułam się zdecydowanie pewnie, bo Silverlight nie ma przede mną tajemnic, a parę lat temu miałam płomienny i owocny romans z apkami pisanymi dla Windows 8. Część tematów musiałam sobie przypomnieć, część zagadnień była dla mnie nowa. Egzamin zdałam o 6:30 rano we własnym fotelu i bez większych problemów :)
70-357 razem z 70-483 dał mi dodatkowo tytuł Microsoft Certified Solutions Associate: Universal Windows Platform.
This certification demonstrates your expertise at implementing Universal Windows Platform apps that offer a compelling user experience across a wide range of Windows devices.
70-486: Developing ASP.NET MVC Web Applications
Z wyborem trzeciego egzaminu miałam największy problem. Ostatecznie zdecydowałam się na ASP.NET i ten egzamin był dla mnie najtrudniejszy – ze względu na zerową wiedzę w temacie. Pytania z htmla, cssów i jquery jeszcze były spoko, ale są tutaj także zagadnienia z ASP.NET Core i sporo pytań z Azure’a. Bez wglądu w „przykładowe” pytania, które mogą pojawić się na egzaminie, nie miałabym tutaj żadnych szans, nie mam co do tego złudzeń. Zdałam, nawet całkiem wysoko, ale czuję w związku z tym pewien niesmak i mam poczucie, że to w moim przypadku miało najmniej sensu.
70-486 razem z 70-486 dał mi dodatkowo tytuł Microsoft Certified Solutions Associate: Web Applications.
Czy certyfikaty Microsoftu mają sens?
Mając taką wiedzę jaką mam teraz – czyli jak to w rzeczywistości wygląda – stwierdzam, że nie do końca. Kiedyś mi się wydawało, że trzeba być arcymózgiem, żeby mieć taki papierek. Dzisiaj patrzę na to trochę inaczej. Jak ktoś jest dobrym programistą, to tego nie potrzebuje. Jak ktoś zdał egzamin – to wcale nie znaczy, że jest zajebistym programistą. Jak ten swój tytuł traktuję w ramach osiągnięcia: chciało mi się poświęcić na to swój wolny czas i coś sobie udowodniłam. Myślę, że dla potencjalnego przyszłego pracodawcy może to być również sygnał, że ma się potencjał i nie jest się totalnym leszczem. Dla Microsoftu jest to rodzaj transakcji wymiennej: my wam damy partnerstwo Gold, ale wy musicie parę osób poświęcić, żeby biznes certyfikacji się kręcił i Hindusi mieli pełne ręce roboty z obsługą egzaminów zdawanych w domu :)
PS. Jeśli nie chcesz przegapić moich następnych wpisów, zasubskrybuj bloga, o tutaj. Każdy mój nowy artykuł trafi także do Twojej skrzynki. Nie spamuję :)