Przewodnik początkującego freelancera – Upwork

freelancer developer

Masz dość siedzenia w biurze i chcesz zostać freelancerem? Przed podjęciem ostatecznej decyzji należy dobrze się zastanowić.

Gdzie się zarejestrować?

Jest wiele portalów freelancerskich np.:

Upwork, Guru i Freelancer – tutaj może zarejestrować się każdy. Toptal jest portalem dla zaawansowanych profesjonalistów – aby się tam dostać trzeba przejść szereg rozmów i trudnych testów. Gwarantuje to wysoki poziom usług świadczonych przez freelancerów oraz lepsze i większe zlecenia.

Ja osobiście korzystałam z Upworka. Mam konta również na Guru i Freelancer, ale swoje pierwsze zlecenie złapałam na Upworku i tu już zostałam.  Chciałam podzielić się swoim doświadczeniem.

Dlaczego warto skupić się na jednym portalu?

Dzięki skupieniu się na pracy na jednym portalu, zbudujesz sobie „markę”, masz dłuższą historię zleceń, masz więcej opinii na jednym portalu, twój profil się lepiej pozycjonuje, a w rezultacie możesz podnosić stawkę godzinową. Na Upworku są dodatkowo „wyróżnienia” po kilku pozytywnych zleceniach dostajesz status „rising talent”, a jeśli masz jeszcze więcej zleceń i pozytywne opinie możesz zyskać tytuł „top rated freelancer”. Klienci podczas wyszukiwania freelnacerów mają np. opcję pokaż tylko „top rated”.

Jak wybierać zlecenia?

Korzystaj z filtrów przy wyszukiwaniu zleceń
upwork freelancing
Widok filtrów, aplikowanie na zlecenia; źródło: upwork.com

Historia klienta

To ważny filtr, który często pomaga zwiększyć skuteczność wysyłanych proposali. Czasami zupełnie nowi zleceniodawcy dodają ogłoszenia, ale nikogo nie zatrudniają. Stad warto odfiltrowywać osoby, które nigdy wcześniej nikogo nie zatrudniły i nie mają żadnej historii ani opinii.
Historia klienta Upwork
źródło: upwork.com

 

Budżet

Możemy filtrować ogłoszenia po kwocie jaką klient jest gotowy zapłacić za zlecenie. Czasami się zdarza, że wynagrodzenie nie jest współmierne do ilości pracy, stąd też nie zawsze to jest najlepsze kryterium do filtrowania.

Budżet klienta Upwork
źródło: upwork.com

Poziom zaawansowania

  • Entry level – najmniejsze stawki i najmniejsze doświadczenie. Wybierz ten poziom jeśli masz niewielkie doświadczenie (dopiero zaczynasz pracować w jakiejś branży), nie masz zbyt dużego portfolio i szukasz pierwszej pracy jako freelancer.
  • Intermediate – średnie stawki i średnie doświadczenie. Poziom dla osób, które zrealizowały już kilka projektów, którymi mogą się pochwalić (możesz np. dodać zewnętrzne projekty do swojego portfolio na Upworku).
  • Expert level – najwyższe stawki i zaawansowane zlecenia. Ten poziom jest dla osób, które mają kilkuletnie doświadczenie w branży, mają duże portfolio i doświadczenie jako freelancer.
poziom zaawansopwania Upwork
źródło: upwork.com

Długość projektu

Jeśli zależy ci na znalezieniu dodatkowej pracy na dłuższy okres czasu (np. 5h w tygodniu) możesz szukać zleceń filtrując po długości projektu np. projekt dłuższy niż 3 miesiące. Z kolei jak zależy ci na krótkim zleceniu możesz zaznaczyć np. projekt krótszy niż tydzień.
długość projektu Upwork
źródło: upwork.com

Ilość proposali

Jeśli wyszukasz ogłoszenia, które mają np. mniej niż 5 proposali i zostały dodane niedawno do systemu to teoretycznie mamy większe szanse na dostanie zlecenia, gdy zleceniodawcy zależy na czasie.  Nie jest to jednak regułą, inni zleceniodawcy będą czekać np. kilka dni i dopiero wtedy będą prowadzić rozmowy, żeby wybrać najodpowiedniejszą osobę.

Ilość proposali Upwork
źródło: upwork.com

Sortowanie zleceń

Istnieje również możliwość sortowania zleceń wg. kryteriów: najnowsze zlecenia, najbardziej trafne zlecenia (najbardziej odpowiednie do zastosowanych filtrów), klienci o najlepszych opiniach, klienci z największymi wydatkami na portalu.

Sortowanie Upwork
źródło: upwork.com
Najlepiej utworzyć najbardziej odpowiadającą dla ciebie kombinację filtrów. Po wpisaniu frazy kluczowej powinny pojawić się zlecenia z nią związane. Jak otworzysz dokładny opis zlecenia koniecznie popatrz boczny panel z historią zleceniodawcy. Tutaj będziesz mógł/mogła zobaczyć np. kiedy klient dołączył do portalu, ile średnio płaci freelancerom za godzinę, ile w sumie wydał pieniędzy na Upworku oraz jakie są o nim opinie.
Upwork freelancer
Potencjalny dobry klient; źródło: upwork.com
Upwork freelancer
Klient, który szuka freelancerów za niską stawkę godzinową; źródło upwork.com
Upwork freelancer
Klient zupełnie nowy, bez historii zleceń; źródło upwork.com

Jak pisać proposale?

Proposal to wiadomość do osoby ogłaszającej zlecenie na portalu freelancerskim. To sposób w jaki można przekonać zleceniodawcę aby zdecydował się na współpracę własnie z Tobą. Co zrobić aby zwiększyć swoje szanse dostania zlecenia? Przede wszystkim pisz spersonalizowane wiadomości:

 

  • Po pierwsze, dokładnie przeczytaj treść ogłoszenia.
  • Zwracaj się do klienta po imieniu – nie jest to zawsze możliwe, ponieważ dane personalne klienta są ukryte, ale poniżej opisu ogłoszenia znajduje się sekcja „Client’s Work History and Feedback” – tam czasami można dowiedzieć się jak klient ma na imię. Czasami zdarza się, że klient sam podpisze się imieniem i nazwiskiem w treści ogłoszenia.
  • Używaj zwrotów i wyrażeń, które używa zleceniodawca, pokarzesz w ten sposób, że wiesz czego dokładnie potrzebuje.
  • Zadaj kilka pytań dotyczących projektu, wykaż zainteresowanie i chęć pomocy.
  • Zapewnij zleceniodawcę, że zadbasz o profesjonalne wykonanie.
  • Testuj które zwroty najlepiej działają.
freelancing upwork
Poszukaj w opiniach o kliencie jego imienia; źródło: upwork.com

Stała stawka czy godzinowa?

Istnieje podział na projetky „fixed price” (z góry ustalona stawka końcowa) oraz „hourly” (praca na godziny). Co jest lepsze? Nie ma jednoznacznej odpowiedzi na to pytanie.

 

Początkującym developerom polecam stawkę stałą. Dlaczego? W przypadku, gdy podczas zlecenia pojawi się jakaś trudność i będziesz musiał/musiała sobie z tym problemem poradzić, nie będziesz musieć się zastanawiać czy logować czas potrzebny na znalezienie rozwiązania. Ile zejdzie ci czasu na projekt – twoja sprawa. Wiadomo im szybciej tym lepiej, ale na początek trudno jest szacować ile dany projekt zajmie ci czasu. Pamiętaj, przed podpisaniem takiego kontraktu należy dokładnie poznać oczekiwania klienta oraz jasno określić np. ile uwzględniasz poprawek (zdarza się, że klient zmienia zdanie w trakcie kontraktu – zabezpiecz się na takie sytuacje). Jeśli np. jesteś web developerem to upewnij się jakie wersje przeglądarek mają być wspierane (żeby potem nie było przykrych niespodzianek i dodatkowej pracy). Fixed price jest też dobrym rozwiązaniem również dla osób pracujących kreatywnie np. dla grafików. Ciężko jest pracować na godziny jeśli twoja praca jest wykonywana bez użycia komputera.

 

Pamiętaj, do korespondencji z klientem korzystaj koniecznie z Upwork chat (nie używaj Skype, Whatsapp, maila). W razie problemów miej wszystkie ustalenia z klientem właśnie zapisane na chacie. To ułatwi rozwiązanie wszelkich sporów.

 

Stawka godzinowa jest też dobrym rozwiązaniem. Nie musisz się martwić, jak okaże się że pracy jest więcej niż się spodziewałeś/spodziewałaś na początku projektu. Zwykle przed podpisaniem kontraktu klient wymaga oszacowanie ilości godzin. Przy tym rozwiązaniu możesz też liczyć czas na korespondencję z klientem – w końcu to też praca. Klient może ustalić maksymalną ilość godzin, które możemy przepracować w jednym tygodniu np. max 20h – w celu zabezpieczenia się przed zbyt dużą ilością zalogowanych godzin przez freelancera.

Time tracker – czyli jak logować czas pracy?

Time tracer to specjalna aplikacja desktopowa Upworka – instalujesz, logujesz się na swoje konto. Wybierasz projekt nad którym obecnie pracujesz, piszesz komentarz – co aktualnie robisz, klikasz button i aplikacja zaczyna liczyć ci czas pracy. Program robi jednen screenshot na każde 10 minut pracy (aplikacja zawsze informuje kiedy to robi). Osoba która cię zatrudnia ma potem do tego dostęp/podgląd i musi zatwierdzić, że faktycznie pracowałaś/pracowałeś w tym czasie. Program również liczy kliknięcia myszką i użycie klawiatury. Jeśli przez przypadek zapomnisz wyłączyć time tracker i aplikacja zrobi screenshota jak jesteś np. na Facebooku – spokojnie można usunąć te konkretne 10 min czasu pracy.
Upwork freelancing time tracker
Time tracker – aplikacja desktopowa – źródło Upwork

Kontrakt – co warto wiedzieć

Do kontraktu może dość w na dwa sposoby:  ty aplikujesz na zlecenie albo zleceniodawca zaprasza cię do współpracy. Jeśli uda Ci się przekonać klienta i dogadacie się na konkretne warunki, to klient wysyła ci ofertę (z dokładną stawką godzinową / fixed price). Jeśli zgadzasz się na warunki, musisz zaakceptować ofertę oraz cały regulamin portalu freelancerskiego. Wtedy rozpoczyna się kontrakt. Może być określony czas na wykonanie zlecenia, ale nie musi. W przypadku stawki godzinowej w trakcie kontraktu możesz ją obniżyć, nie możesz jej zwiększyć. W przypadku fixed price, gdy okaże się że klient ma jeszcze więcej pracy niż na początku było to ustalone, może dodać tzw. milestones (kolejne etapy projektu) i co jest fajne, to jeśli klient zaakceptuje pierwszy milestone – to dostaniesz wypłatę z tej części projektu szybciej. Jeśli nie ma milesnotes w projekcie całą kwotę dostajesz dopiero na koniec (to znaczy około tydzień po zakończeniu projektu – w tym czasie klient ma prawo do reklamacji – może zgłosić jakieś uwagi). Przy większych kwotach (powyżej kilkaset dolarów) zdecydowanie polecam poproszenie zleceniodawcy o stworzenie milestones. Możesz również dostać napiwek, jeśli klient będzie zadowolony. Na sam koniec ty wystawiasz opinię klientowi, a on Tobie. Ważne jest to aby pamiętać, że prawa autorskie przechodzą na klienta.

 

Profil płatny czy bezpłatny?

Istnieje coś takiego jak płatny i bezpłatny profil na Upworku. Konto bezpłatne umożliwia ci na zaaplikowanie na około 30 ogłoszeń (dokładniej mamy 60 puntów na wykorzystanie w ciągu miesiąca – zwykle zlecenia „kosztują” 2 punkty). Plan „Plus” pozwala nam na aplikowanie na około 37 zleceń (mamy 75 punktów). Dodatkowo jeśli zlecenie na które zaaplikujesz, a pracodawca w ciągu miesiąca nikogo nie zatrudni, twoje punkty zostaną zwrócone. Plan „Plus” pozwala na podgląd ofert innych freelancerów na konkretne ogłoszenie (minimalna, średnia i maksymalna stawka jaką podali inni freelancerzy). Koszt planu „Plus” to $10 miesięcznie. Osobiście korzystałam z niego przez miesiąc i stwierdziłam, że nie jest on mi potrzebny.

Opłaty

Na chwilę obecną (06.2017) Upwork pobiera opłaty za pośredniczenie o wysokości:
upwork freelancing opłaty
Opłaty; źródło: upwork.com
  • 20% od ustalonej kwoty za pierwsze zarobione $500 z jednym klientem
  • 10% od ustalonej kwoty w przypadku, gdy zarobimy u jednego klienta więcej niż $500,01, ale mniej niż $10 000
  • 5% od ustalonej kwoty, jeśli kontrakty z jednym klientem przekroczą kwotę $10 000

Czyli, należy pamiętać, że podana przez nas kwota (ustalona z klientem) zostanie odpowiednio pomniejszona o prowizję dla Upworka!

Niestety to nie jest koniec opłat. Każda wypłata środków z Upworka na PayPala, bądź na konto kosztuje $2. Możemy też trochę stracić na przewalutowaniu (to już zależy jakie masz konto). No i jeszcze należy zapłacić podatek dochodowy.

Na koniec

  • Warto robić dobrą robotę i dbać o komunikację, wtedy mamy szansę że klienci do nas wrócą lub polecą innym osobom.
  • (Uwaga dla początkujących deweloperów!) dobrze jest najpierw pójść do pracy stacjonarnej na jakiś czas – to daje mega dużo umiejętności do pracy jako freelancer.
  • Praca freelancera pozwala na dowolność, ale może być dość wymagająca pod względem kontaktu z klientem. Jeśli zdecydujesz się na takie rozwiązanie bardzo polecam zrealizować dwa / trzy zlecenia zanim jeszcze zdecydujesz się zrezygnować ze stałej pracy (szczególnie jeśli zamierzasz np. wyjechać za granicę na dłuższy okres czasu i utrzymywać się z pracy jako freelancer). Pozwoli Ci to na przekonanie się czy takie rozwiązanie jest dla Ciebie odpowiednie oraz pozwoli Ci na stworzenie lepszego profilu.
  • Pierwsze zlecenie jest najtrudniej złapać (czeka cię na prawdę sporo pisania proposali), potem jest już coraz łatwiej. Po jakimś czasie klienci sami zaczną się do ciebie zgłaszać.

Jeśli masz jakieś pytania daj znać w komentarzu. Mam nadzieję, że ten artykuł jest dla ciebie pomocny. 🙂

Gala Finałowa konkursu Daj się Poznać

sowa programuje

Czas na małe podsumowanie konkursu i sobotniej Gali Finałowej!

Konkurs Daj się Poznać to świetna inicjatywa. Nie tylko daje ogromne korzyści każdemu kto zdecyduje się w niego zaangażować, ale również wszystkim osobom, które potem korzystają z powstałych wartościowych treści. Nie dość, że podczas rozwijania projektu uczysz się programowania, piszesz bloga, poznajesz ciekawych ludzi, to jeszcze przełamujesz swoje bariery. Gala Finałowa była mega pozytywnym i inspirującym wydarzeniem! Bardzo się cieszę, że mogłam poznać część z uczestników osobiście i mam wielką nadzieję, że kiedyś jeszcze się spotkamy.

Moja prezentacja podczas konferencji

Czy się stresowałam? Tak, i to bardzo! Wyjście na scenę przed grono programistów w siedzibie Microsoftu w Warszawie było dla mnie sporym wyzwaniem. Szczególnie, że poziom wypowiedzi pozostałych prelegentów był na prawdę wysoki. Ku mojemu zaskoczeniu po kilku pierwszych wypowiedzianych zdaniach poczułam się całkiem swobodnie. Nawet udało mi się raz trochę rozśmieszyć publiczność, co udało mi się po raz pierwszy w życiu 🙂

3 miejsce… SowaProgramuje!

3 miejsce w głosowaniu publicznym było dla mnie ogromnym zaskoczeniem. Cieszę się bardzo i dziękuję wszystkim, którzy głosowali na mojego bloga. Myślałam, że nikt nie będzie czytać tych moich postów. Na początku wręcz wstydziłam się mówić innym, że zaczęłam pisać bloga o tematyce programistycznej. Okazało się, że „done is better than perfect” i mimo, że jest się początkującym w jakiejś dziedzinie to można się z innymi czymś ciekawym podzielić. Tutaj zacytuje jedno z haseł konkursu „Przełamuj bariery, zadziwiaj siebie i innych”, które podsumowuje mój udział w konkursie.

Co dalej?

Nie spodziewałam się, że blogowanie tak bardzo mi się spodoba. Zdecydowanie będę konstytuować pisanie. Jeśli masz jakieś propozycje postów daj znać w komentarzu, postaram się rozwinąć podane zagadnienie.

 dsp2017-przelamuj-bariery

Aplikujesz o pracę? Poprowadź rozmowę rekrutacyjną!

rozmowa rekrutacyjna

Rozmowy rekrutacyjne to nie najprostsze rozmowy.  Ale jest sposób, żeby sprawić, że będą łatwiejsze.

Można taką rozmowę poprowadzić! W tym poście zdradzę Ci jak możesz, jako starający się o pracę programista / programistka możesz poprowadzić rozmowę rekrutacyjną.

Jak się przygotować?

Są dwie istotne rzeczy które należy zrobić przed rozmową kwalifikacyjną (oprócz przygotowania odpowiedniego ubioru, zebrania informacji o firmie do aplikujemy o pracę itd.) powinieneś/powinnaś:

  1. Przygotuj pytania, które będziesz mógł/mogła zadać podczas rozmowy (pod tym linkiem pobierz PDFa z najczęstszymi pytaniami)
  2. Przygotuj swoje mocne strony oraz osiągnięcia

Jak z tego skorzystać?

Po pierwsze, pamiętaj że rozmowa kwalifikacyjna to nie jest wywiad ani prezentacja. Rozmowa to interakcja dwóch stron. A co za tym idzie możemy zadawać pytania w trakcie, nie zostawiaj ich na sam koniec. W ten sposób nie dość że dowiemy się więcej o firmie do której aplikujemy o pracę, to dodatkowo będziemy mogli skierować rozmowę na tematy które nas interesują.

Pamiętaj – pytania należy zadawać z wyczuciem. Postaraj się wychwycić momenty w trakcie rozmowy, w których możesz zadać adekwatne pytanie. Nawiązuj do tego co mówi osoba rekrutująca. W ten sposób sprawisz pozytywne wrażenie osoby zainteresowanej danym stanowiskiem i firmą. Pokażesz również, że uważnie słuchasz osoby, która prowadzi rekrutację.

O co możesz zapytać podczas takiej rozmowy?

Na ten temat pisałam już wcześniej – listę najczęstszych pytań znajdziesz tutaj. Wybierz te pytania, które są dla Ciebie najistotniejsze.

Osoba rekrutująca podczas prezentacji firmy może na cześć z tych pytań już odpowiedzieć. Istnieje taka tendencja, że im lepiej firma się zaprezentuje tym mniej będziesz musiał zadać pytań.

Rozmowa techniczna, jak sobie z nią poradzić?

Podczas rozmowy rekrutacyjnej w pewnym momencie dochodzi do sytuacji, w której programista z firmy będzie starał się dowiedzieć czy Twoje umiejętności i wiedza są zgodne z tym co masz wpisane w CV. Jak się najlepiej zaprezentować?

Staraj się kierować rozmowę na tematy,  w których czujesz się pewnie. Tutaj się przydają nasze mocne strony i osiągnięcia, które przygotowaliśmy sobie jeszcze przed rozmową. Mów o tym co Cię pasjonuje, o swoich prywatnych projektach, o konferencjach, o Twoim blogu, o konkursie w którym brałeś / brałaś udział. Dygresje są tu jak najbardziej wskazane. I wiesz co? Istnieje bardzo duża szansa, że osoba która nas rekrutuje pociągnie Twój temat. 

Chwalenie się i kierowanie rozmowy na wygodne dla Ciebie tematy pomoże Ci się wyróżnić spośród innych kandydatów. Dzięki temu zostaniesz pozytywnie zapamiętany i zwiększy to Twoje szanse na sukces. 

Jeśli zostaniesz zapytany o coś o czym nie masz pojęcia – nie bój się tego otwarcie powiedzieć. Bądź konkretny i wykaż zainteresowanie oraz chęć dowiedzenia się więcej na ten temat.

Zadawaj pytania również podczas rozmowy technicznej. Pozwoli Ci to nie tylko poznać odpowiedź na dane pytanie, ale dostarczy Ci multum informacji o firmie, do której aplikujesz

Zapamiętaj:

  • Rozmowa kwalifikacyjną można poprowadzić
  • Przygotuj pytania i swoje mocne strony
  • Podczas rozmowy zadawaj pytania (z wyczuciem)
  • Kieruj rozmowę na tematy w których czujesz się pewnie

Mam nadzieję, że moje rady i przemyślenia są dla Ciebie pomocne.  Ja jakiś czas temu pracowałam jako rekruterka w firmie IT, zajmowałam się też marketingiem, ale zdecydowałam się przekwalifikować i obecnie jestem junior forntend developerem. Stąd mam ciekawe przemyślenia ta temat rozmów rekrutacyjnych w branży IT.

Post ten powstał na podstawie mojej prezentacji, którą wygłosiłam na Gali Finałowej konkursu Daj się Poznać w Microsofcie w Warszawie, z czego jestem niezwykle dumna 😀 Jeśli masz jakieś pytania to zapraszam do dodawania komentarzy. Zapraszam również do sherowania mojego posta 🙂

Trzymam kciuki!

 

Konkurs na animację grafiki SVG – Kodu.je

konkurs animacja svg css

Konkurs Daj się Poznać dobiegł już prawie do końca. Czas zabrać się za inne ciekawe rzeczy. Dzisiaj znalazłam konkurs na stronie Kodu.jePolega on na zanimowaniu pliku SVG za pomocą CSSa i/lub JSa. 

  • do 3 lipca 2017
  • kod zamieszczamy na CodePenie
  • pracę wysyłamy na adres email:  kontakt@kodu.je, z tytułem „Konkurs Animacja SVG” oraz odnośnikiem do CodePena
  • do pracy nie używamy żadnych bibliotek / frameworków
  • „do pliku z animacją można dodać własne elementy svg”
  • „uczestnik który chce, aby jego praca została opublikowana na jednej z podstron kodu.je bądź w filmie na YouTube do zgłoszenia konkursowego musi załączyć zgodę. Możne zrobić to w treści e-maila”

Link do regulaminu oraz link do grafiki konkursowej

A tutaj jest tutorial stowrzony przez kodu.je dotyczący animacji plików SVG.

Ja osobiście wcześniej robiłam kurs animowania SVG za pomocą CSS na stronie TeamTreeHouse. Jest tam darmowy 7 dniowy trial, więc spokojnie można zrobić ten 85 minutowy kurs, a nawet więcej. Moim zdaniem materiały są bardzo przydatne, dlatego podczas nauki kodowania i programowania korzystałam z płatnej subskrypcji.

 

Kliknij w ten link a dostaniesz 50% zniżki na pierwszy miesiąc subskrypcji w TeamTreeHouse.

Jeśli zdecydujesz się wziąć udział w konkursie to zostaw linka do swojego projektu w komentarzu! Ja na pewno będę brać udział i pochwalę się efektem swojej pracy 😉

 

 

 

Szok i niedowierzanie – czyli SowaProgramuje w finale Daj się Poznać!

DajSiePoznać - logo

Zupełnie się tego nie spodziewałam – SowaProgramuje jest w finałowej 25. najlepszych blogów tegorocznej edycji konkursu Daj się Poznać!

Dziękuję bardzo za to wyróżnienie! (blog został wybrany przez uczestników konkursu w zamkniętym głosowaniu). Ogromnie się cieszę i wiecie co? Mam teraz tyle pomysłów na kolejne posty! Zaczęłam je spisywać i zdecydowanie będę kontynuować pisanie. Możecie się spodziewać kolejnych ciekawych treści już niebawem 😉

Do 15.06 trwa kolejny etap, w którym każdy może głosować na swoich faworytów pod tym linkiem:

http://uczestnicy.dajsiepoznac.pl/ankieta

Wystarczy podać maila, wybrać minimalnie dwa, a maksymalnie 3 Twoim zdaniem najlepsze blogi oraz kliknąć linka potwierdzającego, który zostanie wysłany do Twojej skrzynki mailowej.

Tutaj jest lista blogerów, który zakwalifikowali się do finału. Serdecznie polecam ich eksplorację – to na prawdę perełki w śród konkursowych blogów. Z prawie 1000 zgłoszonych uczestników, zostało 178 blogerów, którym udało się sprostać wymaganiom konkursowym (minimum 20 postów + rozwijanie projektu open source w dowolnej technologii). Z tej puli zostali wybrani najlepsi – 25 osób – oto one:

Mateusz Kupilas: http://www.javadevmatt.pl/
Żaneta Jażdżyk: http://www.nettecode.com/
Mirosław Okoński: https://webmastah.pl
KrzaQ kq: https://dsp.krzaq.cc/
Michał Kortas: http://webroad.pl
Michał Gellert: https://www.michalgellert.pl/
Paulina Kaczmarek: http://paulinakaczmarek.wordpress.com
Rafał Hryniewski: http://hryniewski.net
Weronika Tobor: https://programmer-girl.com
Arkadiusz Benedykt: http://benedykt.net
Artur Dębkowski: http://ekhart.pl
Michał Chęciński: https://michalchecinski.pl/
Jakub Skałecki: http://rock-it.pl/
Piotr Wittchen: http://blog.wittchen.biz.pl/
Dawid Loranc:https://dloranc.github.io/
Michał Dymel: https://devblog.dymel.pl/
Marcin Lasak:http://blog.marlas.pl/
Mariusz Bugajski: http://blog.bugajsky.pl
Olga Stefaniuk: http://sowaprogramuje.pl 
Marcin Kruszyński: http://marcinkruszynski.blogspot.com/
Mateusz Książek: http://devenv.pl/
Sabina Piotrowska:http://mysifoto.pl/
Maciej Gajdzica: http://ucgosu.pl/
Kamil Dąbrowski:https://www.namekdev.net
Szymon Motyka: http://szymonmotyka.pl/tag/dsp/

Ogromne gratulacje dla wszystkich uczestników! Za tydzień z częścią z Was będę miała okazję się zobaczyć na Gali Finałowej konkursu! Już nie mogę się doczekać 🙂

CV juniora – czy warto wpisywać doświadczenie nie związane z branżą IT?

Wczoraj na facebookowej grupie Rozmowy rekrutacyjne IT padło takie pytanie:

Czy jeżeli aplikuje na pierwszy staż, to czy warto wpisywać w CV prace i doświadczenie nie związane z branżą IT ? Czy osoby rekrutujące raczej nie obchodzi takie doświadczenie nie związane bezpośrednio z IT?

Tak! tak! Jak najbardziej wpisywać!

Na stanowiskach nie związanych z IT uczymy się wielu potrzebnych umiejętności tj. praca w zespole, praca pod presją, organizacji pracy. Rekruterzy często też pytają o problemy jakie napotkałeś/napotkałaś w pracy i jak sobie z nimi poradziłeś/poradziłaś. Może też paść pytanie co nam przeszkadzało w poprzedniej pracy i czemu chcemy zmienić zawód. Wtedy bardzo ładnie możesz pokazać co ci się w programowaniu podoba i dlaczego warto wybrać akurat Ciebie na ten wymarzony staż.

Ktoś może zapytać: „A co jak pracowałem/pracowałam w call center / jako dostawca pizzy przez dwa miesiące; czy to też mam wpisać?”

Jeśli możesz się pochwalić pracą na innych, bardziej odpowiedzialnych stanowiskach oraz z dłuższym okresem zatrudnienia to nie ma sensu wpisywać takich pozycji. Wybierz te, o którymi Twoim zdaniem warto się pochwalić. 

Podsumowując:

Jeśli aplikujesz na staż/swoją pierwszą pracę w branży IT, ale masz doświadczenie na innych stanowiskach (nie związanych z branżą IT) to zdecydowanie należy wpisać je do swojego CV. Natomiast jeśli tych pozycji jest dużo to wyeksponuj te stanowiska, które dodały Ci najwięcej praktycznych umiejętności.

 

 

 

O co zapytać na rozmowie kwalifikacyjnej w branży IT?

rozmowa-kwalifikacyjna--IT-pytaniaDwa lata temu pracowałam w firmie IT i byłam odpowiedzialna za head hunting oraz przeprowadzanie rozmów kwalifikacyjnych. Stąd przyszedł mi do głowy pomysł spisania najważniejszych pytań, które możemy zadać pracodawcy na rozmowie rekrutacyjnej, co pozwoli nam na lepsze poznanie i zrozumienie działania firmy. Na część pytań pracodawca lub osoba prowadząca rekrutację może opowiedzieć podczas prezencji firmy. Tej części rozmowy kwalifikacyjnej nie należy bagatelizować, ponieważ w ten sposób wykazujemy zainteresowanie daną firmą oraz możemy stwierdzić czy jej organizacja będzie odpowiadać naszej osobowości.

O co warto zapytać na rozmowie kwalifikacyjnej?

Pytania ogólne

  • Czy godziny pracy są elastyczne?
  • Czy chodzicie na jakieś wyjścia/wyjazdy integracyjne?
  • Czy istnieje możliwość pracy zdalnej?
  • Czy zdarzają się nadgodziny?
  • Czy jeździcie na jakieś konferencje (jako uczestniczy czy jako prelegenci)?
  • Czy jest kuchnia w biurze?
  • Jakie jest podejście do przerw na obiad?
  • Czy klienci są głównie z Polski czy z zagranicy?
  • Czy może się zdarzyć, że będę musiała/musiał jechać na delegacje do innego miasta/kraju? Na jak długo? Czy firma ponosi wtedy koszty transportu, zakwaterowania?
  • Czy będę pracować na firmowym sprzęcie?
  • Jak wygląda proces wdrażania nowego pracownika?
  • Czy w firmie jest określony dress code?
  • Jakie są benefity dla pracowników? Multisport? Opieka medyczna? Nauka języków? Ekspres do kawy?

Pytania o zespół

  • Ilu zatrudniacie programistów?
  • Jak duży jest jeden zespół?
  • Czy w zespole są kobiety?
  • Ile jest seniorów w zespole?
  • Czy to jest nowe stanowisko, czy poprzedni programista odszedł (dlaczego)?
  • Czy jest ktoś bardziej doświadczony ode mnie w firmie i czy będę mógł się go poradzić w razie problemów?
  • Czy cały zespół pracuje na miejscu w biurze czy część zespołu pracuje zdalnie?

Pytania techniczne

  • Jakie będą moje obowiązki?
  • Ile średnio jeden programista ma na raz projektów?
  • Jakie projekty są rozwijane: głównie nowe, czy utrzymanie starych?
  • Jak wygląda zarządzanie projektami w firmie?
  • Z jakich frameworków korzystacie?
  • Czy korzystacie z systemu kontroli wersji? Jakiego?
  • W jaki sposób zespół dba o jakość kodu?
  • Czy piszecie w projektach testy jednostkowe?
  • Czy programujecie używając metodyk TDD i BDD?
  • Czy stosujecie code rewiev?
  • Czy macie continuous integration?

Pytania na zakończenie rozmowy

  • Jakie formy współpracy preferujecie?
  • W przypadku umowy o dzieło i B2B – czy urlop/chorobowe są płatne?
  • Jakie są kolejne etapy rekrutacji, czy jest test albo dodatkowa rozmowa?
  • Kiedy dostanę odpowiedź w sprawie pracy?

Jeśli masz jeszcze jakieś sugestie innych pytań, które można zadać na rozmowie kwalifikacyjnej, to  koniecznie daj znać w komentarzu. Chętnie dopisze je do tej listy. 

Podziękowania dla Artura, Amadeusza i Dawida za sugestie fajnych pytań 🙂

Avocode – co to jest i czy warto korzystać?

Ostatnio spotkałam się ze sporym problemem. Designer mojego klienta dostarczył mi pliki, które zaprojektował w Sketchu, czyli aplikacji do projektowania graficznego na Macu. Przekopałam internet w celu znalezieniu sposobu na otworzenie tych plików graficznych na Ubuntu bądź na Windowsie. Generalnie było ciężko, dlatego znalazłam inne rozwiązanie – zdecydowałam się wypróbować Avocode.

Avocode jest zarówno aplikacją desktopową jak i webową. Pozwala na otwieranie plików zarówno w formacie PSD jak i tych stworzonych w Sketchu. Program ten jest dostępny na Maca, Windowsa i Linuxa.

avocode-screen
Avocode – widok głowny
avocode-screen
W górnym menu dostępne jest kilka narzędzi: Hand, Select, Measure, Color, Slice, Note

 

Dlaczego Avocode jest fajnym narzędziem?

Pozwala na eksportowanie warstw lub elementów (pojedynczo lub kilka na raz.) Mamy możliwość eksportu w formatach: SVG, PNG, JPG oraz WEBP.   Elementy zapisane w SVG możemy od razu skalować 2x, 3x lub 4x razy.

avocode-screen
Eksportowanie elementu w różnych formatach

 

Generuje gotowe kawałki kodu: CSS, Less, Sass, SCSS, Stylus, Swift, Android, CSS w JS i React Native. Mamy gotowe informacje min. na temat wysokości, szerokości elementu, czcionki i jej rozmiaru, kolorów; wszystko od razu z odpowiednimi jednostkami.  Wystarczy skopiować jednym kliknięciem i wkleić do swojego edytora.

avocode-screen
Kawałek kodu opisujący button w CSS
avocode-screen
Ten sam button opisany w innym języku

 

Umożliwia tworzenie zespołów i dzielenie się projektami graficznymi. Komunikacja jest ułatwiona dzięki możliwości dodawania komentarzy.

avocode-screen
Dodawanie komentarzy

 

Avocode umożliwia proste kopiowanie tekstu od razu jako element HTML bądź eksportowanie go jako JPG lub PNG. Wystarczy jedno kliknięcie i tekst jest gotowy do wklejenia do naszego edytora.

avocode-screen
Kopiowanie tekstu

 

Pozwala na definiowanie zmiennych – kolorów, czcionek, gradientów, rozmiarów i odległości. W ten sposób kopiowany kod z Avocode będzie od razu uwzględniał  i kopiował nasze zmienne. Jeszcze tego nie testowałam, ale wydaje się to ciekawa opcja.

Dodatkowo, podaje dokładne wymiary oraz położenie elementu. Wystarczy wybrać narzędzie Measure w górnym menu, najechać kursorem na dany element i dostajemy o nim pełen zestaw informacji, zarówno w odniesieniu do granic warstwy jak i innych elementów położonych na tej warstwie. W ten sposób Avocode pomaga w ustalaniu marginesów i paddingów.

avocode-screen

 

Avocode ma sporo zaawansowanych ustawień, które pozwalają dostosować to narzędzie do naszych potrzeb.

avocode-screen
W zaawansowanych ustawieniach możemy np. domyślny format kolorów
avocode-screen
W zaawansowanych ustawieniach możemy np. zmieniać domyślne jednostki

 

Dopiero zaczynam korzystać z tego narzędzia, ale uważam, że jest bardzo cenne, ułatwia i usprawnia kodowanie. Sama aplikacja jest dość intuicyjna, całkiem przyjemna w użytkowaniu. Nie jest idealna, ale ciągle jest usprawniana i dodawane są nowe funkcjonalności. Narzędzie jest płatne (po 14 dniowym trialu), można płacić miesięczną subskrybcję, którą można anulować w każdej chwili, bądź skorzystać ze zniżki na plan roczny.

avocode-pricing
Ceny w miesięcznym rozliczeniu

 

Mam nadzieję, że ten artykuł był pomocny. Daj znać czy korzystałeś/korzystałaś z tego narzędzia. A może znasz jakieś inne, ciekawe i konkurencyjne? Jeśli masz jakieś pytania zostaw komentarz! 🙂 

Projekt A/B testing – podsumowanie

Konkurs Daj się Poznać 2017 dobiega końca. Czas na małe podsumowanie.

Od marca tego roku rozwijałam projekt biblioteki do przeprowadzania testów A/B. Zdecydowałam się go napisać w JS, ponieważ chciałam lepiej poznać ten język. Projekt nie jest idealny i wymaga dalszych usprawnień. Kod można zobaczyć na moim GitHubie. W tym momencie nie nazwałabym tego jeszcze finalną wersją. Moim celem, który sobie założyłam na starcie tego konkursu było napisanie 20 postów, rozwijanie projektu przez minimum 10 tygodni oraz udział w gali finałowej w siedzibie firmy Microsoft w Warszawie. Dwa pierwsze warunki już spełniłam. Zgłosiłam się do wygłoszenia prezentacji na gali finałowej – z około 1000 uczestników konkursu tę szansę będzie miało tylko 13 osób. Trzymajcie kciuki, żeby się udało! 🙂

W czasie trwania konkursu:

  1. Byłam na dwóch konferencjach: programistycznej i UXowej
  2. Postawiłam środowisko deweloperskie od zera na dwóch laptopach, na dwóch różnych systemach operacyjnych – zyskałam większą pewność siebie
  3. Zapoznałam się z nowymi narzędziami: GitHub, Webpack, Gulp, Avocode, VS Code – zdobyłam nowe umiejętności
  4. Od 16 kwietnia mój blog miał 151 odsłon z 6 krajów – całkiem dobrze jak na raczkujący blog
  5. Pod jednym postem zgromadziłam komentarze od 5 osób – sukces!

Bardzo się cieszę, że wzięłam udział w tym konkursie. Myślę, że największym plusem tego konkursu jest to, że każdy może w nim wziąć udział, niezależnie od poziomu zaawansowania oraz od technologii w której pracuje/uczy się. Zdecydowanie polecam konkurs Daj się Poznać!  I mam nadzieję, że do zobaczenia w następnej edycji!

 

Projekt A/B testing – update

Po urlopowej przerwie czas na powrót do projektu. Teraz skupiam się głównie na udoskonalaniu kodu, który dotychczas napisałam.

Udało mi się z naprawić funkcję detectUserAgent(), która zwraca string z nazwą przeglądarki z której korzysta użytkownik. Sprawdzam czy jest to Chrome, Firefox, Opera, Edge czy Safari, a w pozostałych przypadkach zwracam string ‚unknown’. Wynik zapisuję w obiekcie z informacjami o użytkowniku.

W mojej bibliotece jest możliwość przeprowadzania testów AB na określonej przeglądarce. Wystarczy wpisać jako argument funkcji testOnParticularUserAgent() nazwę przeglądarki na której chcemy przeprowadzić test oraz nazwę funkcji, która ma zostać wykonana. Czyli np. testOnParticularUserAgent(chrome, testColor) – funkcja ta testuje tylko i wyłącznie na Chromie background color danego elementu.  Natomiast funkcja testColor() przymuje trzy argumenty: colorA, colorB i id elementó który chcemy testować.

Dodatkowo stworzyłam funkcję umożliwiającą wykonywanie testów na określonych rozdzielczościach ekranu.  testOnScreensBetweenWidths() przyjmuje trzy argumenty:  minimalną szerokość na której chcemy testować, maksymalną szerokość oraz jako trzeci argument wskazujemy funkcję, która ma zostać wykonana w razie spełnienia warunków.  W przypadku, gdy warunek nie jest spełniony, w local storage zapisuję informację w postaci stringa.

I jeszcze jedna ważna rzecz, czyli funckja eventLister(). Na każdym elemencie który jest testowany dodawany jest event listener, który informuje o tym czy ten element został kliknięty, a informacja o tym zapisywana jest w local storage.

W przyszłym tygodniu nadal namierzam udoskonalać mój kod. To jest mój 19. konkursowy wpis na moim blogu (w ramach konkursu DajSięPozać 2017). Jestem bardzo zadowolona, że wzięłam w nim udział i już prawie udało mi się spełnić wszystkie wymagania – czyli blogowanie i rozwijanie projektu przez min. 10 tygodni. Bardzo dużo się nauczyłam i dzięki temu zrobiłam postęp w nauce JSa i nie tylko. Była i jest to dla mnie spora motywacja. Wielkie dzięki dla organizatora konkursu Macieja Anisierowicza z bloga Devstyle. Na prawdę świetna inicjatywa!