JavaDevMatt.pl – Mateusz Kupilas

Programista, przedsiębiorca, gamedev, bloger.

Wywiad z Łukaszem Sałajczyk – programista JavaScript i twórca scraby.io

Pierwszy wywiad na ramach tego bloga. 🙂

1. Opowiedz nam o sobie. Czym się zajmujesz, gdzie można Cię znaleźć w sieci? Ewentualnie przedstaw nam jakiś produkt, który chciałbyś tutaj krótko zareklamować

Cześć, nazywam się Łukasz Sałajczyk i jestem developerem JavaScriptu. Jako programista pracuje od 6 – ­ 7 lat. Trochę trudno to zliczyć dlatego, że na początku pracowałem jako freelancer. Przez większość tego czasu zajmowałem w mniejszym czy większym stopniu tworzeniem gier. Na początku były to aplikacja konkursowe i gry promujące marki na Facebooku, później pracowałem przez 4 lata w malutkim game studiu gdzie tworzyliśmy gry, głównie skierowane na urządzenia mobilne. Aktualnie nie zajmuje się już tylko i wyłącznie grami, choć obecnie pracuje nad dość sporym projektem gdzie ostatecznie mamy stworzyć kilkadziesiąt gier edukacyjnych. Ostatnio, udało mi się także wypuścić swoją własną grę ­Scraby. Jest to logiczną grą słowną dostępną zarówno przez przeglądarkę jak i jakoaplikacja Androidowa.

http://scraby.io/

https://play.google.com/store/apps/details?id=io.scraby.pl

2. Z jakiego powodu zainteresowałeś się JavaScriptem i czy był taki moment, kiedyzastanawiałeś się, czy to może nie jest dla Ciebie?

Zaczynałem od języków Pascal i C++ na których uczyłem się programowania. Później pisałem w PHP, głównie chyba dlatego, że dużo łatwiej można było pokazać wynik swojej pracy i coś tam sobie dorobić. Od zawsze chciałem jednak stworzyć swoją własną grę. Były to czasy kiedy wielką furorę robił Ogame (https://pl.ogame.gameforge.com/) i zacząłem pisać swojego własnego Ogame`a, oczywiście ostatecznie nic z tego nie wyszło ale do wszystkich tych odliczań czasu, kiedy wybuduje się budynek etc. potrzebowałem JS`a.

Chyba od tego się zaczęło. Wtedy zauważyłem, że dużo więcej frajdy sprawiało mi pisanie czegoś co się rusza, miga, skacze i powoduje jakieś takie “wow” u normalnego użytkownika niż pisanie kodu którego działanie generuje jakieś tam dane którego zwykły użytkownik nie doceni.

3. Jakie błędy popełniłeś podczas nauki/rozwoju? Gdybyś mógł pogadać z młodszym sobą sprzed 5-­10­-20lat co byś doradził?

Myślę, że na pewnym etapie zatrzymałem się w rozwoju jako programista. Zaczynając prace w studiu tworzącym gry, gdzie pracowałem przez 4 lata, bardzo dużo się uczyłem od ludzi z którymi pracowałem. Na początku było to rozwój taki typowo programistyczny, później bardziej w kontekście UX`u, gamedesignu, monetyzacji, dotarcia do gracza czy prowadzenia projektu. Byliśmy małym studiem i wspólnie rozmawialiśmy na wszystkie te tematy ogólno­projektowe. Ostatecznie sam kod nie był problemem, bardziej skupialiśmy się wymyślaniu lepszych mechanik, funkcjonalności, sprawieniem żeby więcej osób grało i żeby zyski były większe. Wtedy tez przestałem czytać na tematy strikte związane z technologią i programowaniem. Technologia ma to do siebie, że bardzo szybko idzie do przodu i po pewnym czasie człowiek zostaje w tyle. Aktualnie staram się dużo czytać na tematy związane z technologią próbując odrobić trochę ten zastój.

4. Twoja najważniejsza książka/strona, z której się uczyłeś?

Tak naprawdę trudno mi przypomnieć sobie swoje początki. Programowaniem zajarałem się gdzieś w ostatniej klasie gimnazjum, czyli miałem jakieś 16 lat. Na początku była to seria artykułów, chyba z “Komputer Świata” nt. Pascala, chodź już wcześniej, gdzieś w okolicach końca podstawówki, poznałem HTMLa. Uczyłem się głównie z książek. Taką pierwszą którą pamiętam to była “PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty” ­ http://helion.pl/ksiazki/php-i-mysql-tworzenie-stron-www-wydanie-drugie-vademecum-profesjonalisty-luke-welling-laura-thomson,phms2v.htm.

Za najważniejszą dla mnie uważam książkę nt. JSa – ­ “JavaScript dla webmasterów. Zaawansowane programowanie” ­http://helion.pl/ksiazki/javascript-dla-webmasterow-zaawansowane-programowanie-nicholas-c-zakas,jszapr.htm  którą naprawdę szczerze polecam na początek jeśli chodzi o JSa. Jeszcze gdzieś w między czasie była książka o C++ ale tytułu nie jestem w stanie sobie przypomnieć.

5. W jakim kierunku starasz się dzisiaj rozwijać? Dlaczego ten, a nie inny?

Tak naprawdę dawno temu zdecydowałem w którą stronę chce iść i tego się trzymam. JavaScript jest jedną z najbardziej rozwijających się technologii. Aktualnie w JSie można pisać na prawie wszystko. Poza takim klasycznym pisaniem dla weba, jest Unity w którym poza C# można pisać w JSie, jest Electron czy NW.js gdzie możemy tworzyć aplikacje dekstopowe, jest chociażby Cordova dzięki czemu można tworzyć hybrydowe aplikacje mobilne, jest Node.js w którym możemy pisać backend, jest WebGL gdzie możemy tworzyć 3D czy WebVR. Oczywiście, nie zawsze JS jest najlepszym wyborem ale w dobie przenoszenie usług do internetowej chmury ­ jak chociażby Google Docs ­ JavaScript jest przyszłością.

6. Twój najciekawszy projekt/produkt?

Jeśli miałbym wybrać jeden to zdecydowanie byłoby to Scraby. Na pewno dlatego, że jest to prawie w całości mój projekt, od konceptu poprzez prototyp aż do finalnej gry. Bardzo fajnym uczuciem jest to kiedy pokazujesz coś swojego ludziom a oni mówią, że im się podoba. Nie chciałbym zanudzać, więc jeśli ktoś byłby zainteresowany historią powstania gry to zapraszam na wykop gdzie opisałem co nieco: http://www.wykop.pl/artykul/2890161/gra-scraby-jak-powstala-gra/

7. Najciekawsza przygoda lub najtrudniejsza przygoda/zadanie/wydarzenie w pracy?

Najtrudniejszym zadaniem ostatnio był chyba projekt stworzenia na stronie modelu 3D bijącego serca, które składało się wstążek gdzie nakładanymi teksturami były teksty tweetów tagujących konkretnym tagiem. Teksty tweetów były pobierane w czasie rzeczywistym. Dla mnie ­ osoby która nie miała do czynienia z 3D było to wyzwanie, szczególnie, że w wykorzystywanym Three.js jest to dość toporne. Nie jest to Unity gdzie ustawiamy myszką pozycje elementów, rodzaj światła, padanie światła itd. W Three.js trzeba to robić z poziomu kodu. Na pewno było to fajnie doświadczenie.

 

8. Co byś polecił na sam początek przy rozpoczynaniu nauki programowania?

Odradzałbym naukę programowania od języków skryptowych (JavaScript, PHP) a raczej od języków z silnym typowaniem zmiennych. Zaczęcie od czegoś bardziej niskopoziomowego (ale nie za nisko!) daję większy pogląd na zagadnienie programowania. Nie chodzi o to, żeby zbudować jakąś rozbudowaną aplikacje ale nauczyć się myślenia algorytmicznego/programistycznego. Jeśli miałbym coś polecić to chyba byłby to C++, za którym jakoś nie przepadam ale dla nauki wydaje się jak najbardziej rozsądny. W samej nauce chodzi raczej o to, żeby umieć rozwiązać podstawowe problemy jak np. sprawdzenie czy podane słowo jest palindromem (palindromem = wyrażenie brzmiące tak samo czytane od lewej do prawej i od prawej do lewej). Polecałbym tutaj stronę http://www.spoj.com/ czy http://www.codewars.com/ gdzie możemy wybrać zadanie i spróbować je rozwiązać (nie tylko w C++ ale także w wielu innych językach).

9. Jak znalazłeś pierwszą pracę?

Początkowo udzielałem się sporo na http://forum.php.pl/ gdzie jest dział zlecań i tam szukałem pierwszych możliwości zarobków. Chyba ludzie byli zadowoleni z moich usług i nie wiadomo w jaki sposób kontaktowały się ze mną nowe osoby. Przeglądałem też stronę zlecenia.przez.net (aktualnie przejęte przez portal https://www.freelancer.pl/) w poszukiwaniu zleceń. Trochę była to farma chińczyków, gdzie zawsze znalazł się ktoś kto oferował naprawdę śmieszną cenę a w większości dla klientów to był wyznacznik wyboru. Z tego co pamiętam dostałem tam jedynie jedno zlecenie, które nomen omen wyceniłem najdrożej z wszystkich wyceniających i zrodziła się z tego dość długa współpraca przy kolejnych dość sporych zleceniach związanych z aplikacjami facebookowymi. W międzyczasie prowadziłem też bloga technicznego, dostępnego jeszcze online pod adresem: https://luq10.wordpress.com/ gdzie trochę pisałem o gamedevie i jakoś tak wyszło, że kiedyś dostałem maila z zapytaniem czy byłbym zainteresowany pracą przy grach w JSie. Zrodziła się z tego 4 letnie współpraca. Swoje pierwsze CV napisałem dopiero niespełna 2 lata temu.

10. Co myślisz o studiach informatycznych? Czy pomagają?

Jestem świeżo po studiach informatycznych, obroniłem inżyniera w marcu tego roku, i jestem zdania, że studia nie mają kompletnie znaczenia. Posunął bym się nawet dalej, że studia mogą w pewnym sensie przeszkadzać. Osobiście studiowałem w trybie zaocznym, pracując w tygodniu, studiując w weekendy wiedząc co chce zawodowo robić. Z studiami jest tak, że uczą masy rzeczy która gdzieś tam buduje niby takie ogólne pojęcie o informatyce, i trudno się z tym nie zgodzić, ale jeśli wiesz w którym kierunku chcesz iść, 90% przedmiotów jest nieprzydatna i nudna. Porównując to czego jest się w stanie nauczyć w pracy czy też sam w domu przez te 3 i pół roku studiów jest to niebo a ziemia. Drugą sprawą jest kadra, która niekonieczne chcę uczyć, nie mogę zarzucić braku wiedzy bo nie o to tu chodzi. Chodzi raczej o to, że ci ludzie niekoniecznie mają predyspozycje, umiejętności i chęci do przekazywania wiedzy. Na uczelni są dlatego bo chcą robić jakieś tam projekty badawcze które ich fascynują, natomiast ktoś wrzuca im przymus uczenia innych ludzi. Niekoniecznie muszą tu lubić, i zupełnie to rozumiem. Oczywiście poznałem kilku prowadzących który poza tym, że są w porządku osobami to i widać ich chęć do sprzedawania swojej niemałej wiedzy ale na pewno nie jest to reguła. Dlatego studia mogą być czasami po prostu stratą swojego czasu i energii. Może jeśli ktoś nie wie jeszcze w którą stronę chce iść, studia są dla niego dobre. Moim zdaniem zawsze jeśli jest się w stanie zdobyć doświadczenie kosztem studiów, w ciemno powinno wybierać się doświadczenie. Osobiście mnie nikt nigdy o wykształcenie nie pytał.

wywiad1

2 thoughts on “Wywiad z Łukaszem Sałajczyk – programista JavaScript i twórca scraby.io

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *