Jeżeli jesteś studentem i na dodatek umiesz programować to powinieneś przeczytać ten wpis. Chciałbym w nim przedstawić program organizowany przez Google, który nazywa się Summer of Code (często po prostu gsoc) i zachęcić Cię do wzięcia w nim udziału.
Jeżeli jesteś młodszy(a) i jeszcze nie studiujesz to również ten wpis powinien być dla Ciebie interesujący. Dowiesz się z niego jakie możliwości daje studiowanie kierunków ścisłych (w szczególności informatyki, matematyki czy fizyki). Kto wie, może przekona Cię on do wybrania studiów technicznych.
Na początku wspomnę tylko iż brałem udział (z pełnym sukcesem) w GSOCu 3 razy (no i chyba więcej razy już nie będę - skończyłem studia, ale w tym roku będę mentorem w jednej z organizacji). Piszę to byś wiedział(ała), że wiem o czym piszę i że zawarte tutaj informacje nie są wyssane z palca.
Jeżeli post ten będzie cieszył się popularnością, to w przeciągu najbliższych kilku dni opublikuję następny o tym, jak napisać dobre podanie (bo to też trzeba umieć).
Agenda
1. Co to jest Google Summer of Code?
2. Dlaczego warto?
3. Kto może brać udział w GSOCu?
4. Jak wygląda udział w programie?
5. Kiedy zaczyna się nabór?
6. Jakie wymagania muszę spełniać?
7. Ok, ale nazwy tych organizacji nic mi nie mówią, ja się nie znam na architekturach systemów operacyjnych, czy programowaniu funkcyjnym!
8. Ile jest miejsc? Czy trudno się dostać?
9. Chcę się dostać, co mam robić?
Rozpiszę się szerzej tylko na punkt nr 2, z tego względu iż wszystkie potrzebne informacje znajdują się na stronie [1].
1. Co to jest Summer of Code?
Summer of Code jest to stypendium (w sumie raczej coś w rodzaju praktyk) dla studentów organizowany przez Google. Polega na wykonaniu projektu informatycznego za pieniądze w trakcie wakacji.
W tym roku organizowana będzie już siódma jego edycja.
Każdy uczestniczący student dostanie opiekuna - mentora (lub nawet dwóch) któremu będzie mógł zadawać pytania i dyskutować powierzoną mu pracę.
2. Dlaczego warto?
Przeważnie takie punkty pojawiają się jako ostatnie, ja jednak chcę umieścić go na samym początku by jak najbardziej Cię zachęcić do uczestnictwa.
Więc dlaczego warto?
Powodów jest wiele, oj wiele...
- zastanawiałeś się ile możesz zarobić pracując przez wakacje (2-3 miesiące)? Chodzi tutaj o pracę w zaciszu własnego pokoju, pracując kiedy chcesz, nad projektem który Cię interesuje. Przy tym wszystkim doświadczając czegoś kompletnie nowego?
Odpowiedź to 5000 USD, czyli na dzisiaj 14 418,488 zł.
- doświadczenie: projektowanie oraz tworzenie porządnego kawałku oprogramowania pod okiem opiekuna. Mentorzy to doświadczeni programiści, często posiadający swoje firmy. Wiele mogą Cię nauczyć o programowaniu, prowadzeniu własnej firmy, tworzeniu projektów, krótko mówiąc o wszystkim! Czy nie chciałbyś/chciałabyś wpisać do swojego CV: "tworzenie projektu informatycznego w programie prowadzonym przez Google"?
- poznanie jak działa organizacja open source od środka, to o czym słyszałeś(aś) tylko na portalach, forach, gazetach teraz możesz dotknąć! Możesz stać się częścią tego o czym pisane były artykuły!
- poznanie ludzi z całego świata, nawiązanie kontaktów, dyskusja!
- wciągnięcie się w projekt open source, kolejny piękny wpis w CV. A co prócz tego? Zaproszenia na konferencje (ja byłem w Strasburgu, Chicago oraz Mountain View), szkolenia organizowane przez daną organizację.
- każdy student który ukończy program dostanie koszulkę :)
- udział w tym programie to po prostu przygoda, zachęcam Was wszystkich do wzięcia w niej udziału!
3. Kto może brać udział w GSOCu?
W GSOCu może wziąć udział każdy kto w okresie tegorocznych wakacji będzie studentem. Niezależnie czy studiujesz polonistykę, matematykę czy żonglowanie ryżem - umiesz programować? Nadajesz się!
4. Jak wygląda udział w programie?
W całym programie można wyróżnić 3 strony: Google, studentów oraz organizacje open source. Organizacjami są np. Linux Foundation, Python Foundation, Nmap, Apache itp.
Cała zabawa polega na tym iż Google przydziela pewną liczbę tzw. slotów (miejsc) dla każdej ze startujących organizacji. Następnie te organizacje prowadzą nabór studentów na przyznane miejsca. Później wybierają studentów z którymi chcą współpracować i nadzorują wykonywanie przez nich projektów.
Z punktu widzenia studenta wygląda to następująco:
- Wchodzi na stronkę GSOCa, wyszukuje interesujące go organizacje, a w tych organizacjach projekty
- Dyskutuje wybrane projekty z członkami danej organizacji
- Składa podanie przez specjalną stronkę Google'a iż chce robić wybrany projekt
- Po ostatecznym terminie składania w.w. podań, członkowie organizacji głosują na studentów (mają ograniczoną liczbę miejsc przyznaną od Google, nie mogą przyjąć wszystkich)
- Około końca kwietnia jest ogłoszenie wyników zaakceptowanych studentów. Gdzieś w maju dostają kartę płatniczą z 500$.
- Studenci na początku czerwca zaczynają pisać kod (można zacząć później niż w czerwcu - ja zaczynałem w lipcu, trzeba się ugadać z mentorem).
- W połowie lipca jest tzw. midterm evaluation, jest to ankieta która wypełnia zarówno student jak i mentor. W ankiecie udziela się informacji na temat tego jak postępuje praca, jak wygląda współpraca studenta z mentorem. Mentor dodatkowo ma jedno pytanie: czy chcesz aby student kontynuował pracę. Jeżeli odpowie negatywnie, student zostanie wyrzucony z programu (o to naprawdę trzeba się postarać), jeżeli pozytywnie to student pracuje dalej i dostaje kasę 2250$
- Pod koniec sierpnia jest final evaluation, ankieta podobna jak poprzednio. Jeżeli mentor znów będzie zadowolony to student dostaje kolejne 2250$ oraz koszulkę.
Ogólnie praca trwa od czerwca do sierpnia. Jednak tak jak już wspomniałem, można start przesunąć na trochę później (ze względu na egzaminy). Prócz tego nie ma problemu (tzn. to zależy od mentora, ale jeszcze nie słyszałem o nikim kto by się nie zgodził) byś w trakcie trwania programu zrobił(a) sobie tygodniową przerwę.
5. Kiedy zaczyna się nabór?
Oficjalny nabór studentów zaczyna się 27 marca, ale z ludźmi z interesującej Cię organizacji powinieneś nawiązać kontakt jak najszybciej.
Dokładne informacje tutaj.
6. Jakie wymagania muszę spełniać?
Tak jak pisałem na początku, musisz być tylko studentem, kierunek studiów jest nieistotny.
Jeżeli chodzi o doświadczenie to jest ono oczywiście ważne. Jednak od wybranej przez Ciebie organizacji będzie zależało jakiego doświadczenia od Ciebie będą wymagać.
Chodzi mi o to że niektóre organizacje poszukują specjalistów, a niektóre ludzi których chcą czegoś nauczyć i może wciągnąć do organizacji - zdobyć nowych członków. Jednym słowem musisz znaleźć organizację oraz projekt dopasowany do Twoich możliwości/umiejętności/chęci.
Z moich znajomych którzy również brali udział w GSOCu byli ludzie którzy na prawdę dużo potrafili i mieli doświadczenie. Ale byli również tacy (ilościowo tyle samo co poprzednich) co po prostu mieli jakieś pojęcie o programowaniu.
GSOC jest dla wszystkich (no prawie :P). Należy tylko wyszukać odpowiedni dla siebie projekt.
7. Ok, ale nazwy tych organizacji nic mi nie mówią, ja się nie znam na architekturach systemów operacyjnych, czy programowaniu funkcyjnym!
To nic! Poszperaj w projektach tych organizacji, wyszukaj czegoś o czym masz pojęcie, albo chciałbyś/chciałabyś się nauczyć! Czasu na przygotowanie podania jest dość, by zagłębić się w dany temat, zrozumieć go i napisać super podanie!
Różnorodność tematów projektów jest niesamowita, wystarczy tylko trochę poszukać!
8. Ile jest miejsc? Czy trudno się dostać?
Corocznie Google zwiększa liczbę miejsc dla studentów, w zeszłym roku było to około 1100 (nie pamiętam dokładnie). Uwierz mi, to dużo, nawet na skalę światową.
Czy trudno się dostać? To zależy od tego do jakiej organizacji startujesz. Jest kilka bardzo obleganych przez ludzi z nią związanych (np. Python). I od tego jak zabierzesz się do napisania podania.
Ogólnie jeżeli chcesz się bardzo dostać do jakiejkolwiek z organizacji, to nie jest trudno tego dokonać.
9. Chcę się dostać, co mam robić?
Świetnie! Jak na razie nie ma nawet ogłoszonych zaakceptowanych organizacji, ale spokojnie możesz się zacząć przyglądać organizacjom które uczestniczyły w poprzednich latach. Niektóre z nich już mają stronki z propozycjami projektów na ten rok.
Poszukaj więc interesujących Cię organizacji i tam poszperaj. Możesz zagadać na liście dyskusyjnej odnośnie gsoc'a.
Prócz tego ładnie w podaniu wygląda jakiś projekt open source na swoim koncie. Masz jeszcze trochę czasu by na szybkiego nastukać jakąś fajną aplikację którą będziesz mógł/mogła się pochwalić i wystawić ją na jakieś publiczne repozytorium :)
Jeżeli po przeczytaniu tego wszystkiego wydaje Ci się że nie może istnieć coś tak wspaniałego jak GSOC - to mylisz się, istnieje i jest na wyciągnięcie Twojej ręki!
Pozdrawiam!
K.
Bibliografia
[1] http://code.google.com/intl/pl/soc/ - ogólne info na temat gsoc'a
[2] http://www.google-melange.com/document/show/gsoc_program/google/gsoc2011/faqs - FAQ
Brzmi ciekawie, trzeba się sprawdzić ;)
OdpowiedzUsuńMnie tylko ciekawi jak rozległa wiedza nt. programowania jest wymagana. Czy osoby dopiero uczące się programować też mają jakieś szanse aby się dostać?
OdpowiedzUsuńNiestety nie. Projekt zakłada, że dobrze umiesz programować. Zrealizowanie projektu często wymaga byś potrafił ogarnąć duży projekt i potrafił się w niego "wgryźć". By temu sprostać, trzeba mieć już solidne doświadczenie w programowaniu.
UsuńPamiętaj, że za udział dostajesz 5000 USD, nikt takich pieniędzy nie rozda za darmo :P
No właśnie - nikt takich pieniędzy nie rozda za darmo. Czyli wnioskując z twojej wypowiedzi do tego projektu wchodzą tylko uzdolnieni programiści.
UsuńZobaczyłem listę tych projektów z 2011 roku i muszę powiedzieć, że całkiem sporo Polaków się zakwalifikowało. Znalazłem tam około 20 nazwisk kończących się na "ski" ;)
I pytanie, czy ludzie którzy robią te projekty już wcześniej mieli do czynienia z tematyką ich projektów wykonywanych na GSoC, czy po prostu mentorzy ich w nie wprowadzają? Robią coś o czym słyszą po raz pierwszy?
Uzdolnieni, ale nie musisz być wybitny by się zakwalifikować. Wystarczy że ogarniasz programowanie i masz chęci. To wystarczy :)
UsuńPolaków jest bardzo dużo. Ode mnie z uczelni co roku kwalifikuje się kilka-kilkanaście osób.
Osobiście nie miałem nic do czynienia z żadnym z projektów w którym brałem udział przed przystąpieniem do programu (brałem udział 3 razy, zostałem zaakceptowany do 4 projektów). Wystarczy, że w miarę ogarniasz język programowania w którym dana społeczność tworzy swój projekt. Trochę wprowadzenia robią mentorzy, ale jest dość czasu by samemu dostatecznie ogarnąć projekt w którym się bierze udział (tj. na poziomie pozwalającym wykonać zadanie).