[Staż] Staż wakacyjny w Software Mansion 2020

W tym roku po raz siódmy organizujemy w Software Mansion program stażów wakacyjnych.

O procesie rekrutacji przeczytacie tutaj: https://blog.swmansion.com/summer-2020-internship-at-software-mansion-e4f27e981b7c. A jak się zdecydujecie, to zgłosić się można tutaj: https://internship.swmansion.com/.

Wynagrodzenie:
Tym razem postanowiliśmy przedstawić bardzo konkretne wynagrodzenie:
Jeżeli nie masz żadnego doświadczenia: to dostaniesz co najmniej 4500 zł brutto/mc.
Jeżeli byłeś już na podobnym stażu lub masz minimalne doświadczenie: minimum 6000 zł brutto.
Jeżeli posiadasz przynajmniej roczne doświadczenie w podobnej pracy, to minimum będzie to 8000 zł brutto (Umowa Zlecenia).

Terminy:
Rekrutację prowadzimy w sposób ciągły co najmniej do 14 kwietnia, ale warto zgłosić się wcześniej, jest wtedy większa szansa na przyjęcie. Sam proces rekrutacji nie powinien trwać więcej niż 3 tygodnie od wypełnienia wszystkich elementów aplikacji. Więcej w artykule na medium.

O firmie:
Jesteśmy agencją programistyczną działającą już 8 rok. Nasz zespół w momencie pisania tej wiadomości liczy około 70 osób, głównie inżynierów. To, co nas wyróżnia, to to, że staramy się być pionierami – zarówno od strony projektów, które realizujemy (są to głównie startupy, ostatnio głównie z USA), ale też od strony technologii, których używamy. Dzięki temu, że jesteśmy odważni w używaniu nowych technologii, staliśmy się numerem jeden w React Native, ale też jesteśmy w forpoczcie Elixira.

Co robimy:

Start-upy
Projekty, które realizujemy, są bardzo różnorodne, ale większość z nich to startupy technologiczne. Tego typu projekty wiążą się z dużą dynamiką: najczęściej development planuje się tylko kilka tygodni naprzód, a do tego często zdarzają się poważne zmiany (tzw. pivoty). Dynamika ta ma wielką zaletę: zazwyczaj releasy robi się szybko, po kilku, kilkunastu tygodniach od rozpoczęcia projektu (czyli nie musimy czekać 2 lata na jego uruchomienie). Jednocześnie dzięki temu w startupach dominują najnowsze technologie i rzadko kiedy ma się do czynienia z tzw. legacy code.
Większość startupów, z którymi współpracujemy, jest z USA (głównie Nowy Jork oraz San Francisco) i są na bardzo różnych etapach rozwoju: od małych z fundingiem pre-seed (typowo 100-500 tys. USD), przez całkiem solidną ilość z fundingiem seedowym (typowo 1-5 mln. USD), aż do takich z większym fundingiem (kilka w okolicy 10-20 mln. USD, ostatnio coraz więcej 50 mln USD+).

Aplikacje mobilne
Aplikacje mobilne tworzymy przede wszystkim w React Native (chociaż są wyjątki!). Nasza historia z tą technologią zaczęła się bardzo wcześnie, ponieważ jeden z założycieli Software Mansion pracował w Facebooku i był jednym z głównych twórców React Native dla Androida. Dzięki temu nie tylko wcześnie zaczęliśmy tworzyć aplikacje w tej technologii, ale też od początku mieliśmy udział w jej rozwoju. Teraz jesteśmy współtwórcami Expo, mamy też na koncie kilka ważnych bibliotek w React Native (react-native-gesture-handler, react-native-reanimated, react-native-screens), ale także zajmujemy się nietypowymi projektami w tej technologii (np. ostatnio robiliśmy aplikację React Native na Linuxa na procesory ARM).

Aplikacje webowe
Oprócz aplikacji mobilnych tworzymy oczywiście aplikacje webowe. Na frontendzie dominuje u nas React, ale w przypadku backendu używamy bardziej różnorodnych technologii. Przede wszystkim będzie to:
• Node.js,
• Ruby on Rails,
• Python,
• oraz nasz ulubiony Elixir.

Przetwarzanie i streaming multimediów
Robimy też wiele projektów związanych ze streamingiem i przetwarzaniem multimediów. Jest to dziedzina bardzo odmienna od programowania aplikacji webowych oraz mobilnych. Przede wszystkim wymaga ona umiejętności programowania niskopoziomowego (w tym C/C++) oraz wiedzy na temat sieci oraz standardów i protokołów komunikacyjnych. Problemy, z którymi się mierzymy, bardzo często wymagają bardzo dużej ilości obliczeń na CPU albo GPU, co powoduje, że często trzeba postawić bardziej skomplikowaną infrastrukturę lub użyć nietypowego sprzętu.

Framework Membrane
Jest to framework do przetwarzania i streamingu audio i video oparty na języku Elixir (choć wewnątrz też jest dużo C). Framework ten zaczęliśmy tworzyć jakieś trzy lata temu, a około pół roku temu zrealizowaliśmy pierwszy komercyjny projekt oparty na tym frameworku. Narzędzie to powstało na podstawie doświadczeń z oprogramowaniem open source, które już jest dostępne, ale miewa bardzo duże problemy (w szczególności GStreamer).

DevOps i skalowalność
W naszych projektach zajmujemy się też szeroko rozumianym DevOpsem. Zajmujemy się zarówno prostymi wdrożeniami (pojedynczy serwer + serwer testowy), jak i skomplikowanymi, skalowalnymi infrastrukturami (największe nasze wdrożenie miało ponad 100 instancji na AWS).

Pozdrawiam,
Marcin, CEO