Tag: ‘praca’

Big project

niedziela, 30.10.2011

Pierwszy raz w życiu zdarza się… jeden raz.

Do tej pory maksymalna ilość osób z którymi pracowałem na danym zadaniem programistycznym ograniczała się do 2 lub 3, ale to max. Zazwyczaj zadania, na których się opierałem wykonywałem sam i byłem za nie odpowiedzialny osobiście. Same zadania, także w poprzedniej pracy nie ograniczały się do jednego klienta, jednego systemu, itp. itd.

Team work - praca zespołowa

Team work - praca zespołowa

Teraz jest zupełnie inaczej. Jestem jednym z elementów dość dużego zespołu programistów. Sama już nasza ilość (w tym momencie, a jest niedziela 21:20, na Skype widać siedmiu, którzy pracują), a ogólnie jest nas kilkunastu, co robi na mnie spore wrażenie. Czasem jest to powodem drobnych nieporozumień, czasem utrudniamy sobie pracę nawzajem. Aby tego wszystkiego było mało, ten projekt, jest w sumie outsourcingiem, czyli jest jeszcze jeden klient pod klientem głównym.

Jak już wspomniałem, to jest coś innego:

  • jest jeden projekt, jedna aplikacja, jeden klient
  • jest jeden język (PHP) i jedna baza (Mysql)
  • jest wielu ludzi, dość mocno skupionych na swoich zadaniach, jednak którym w pewnym stopniu przyświeca myśl, że mamy wspólny cel i starają się sobie pomóc nawazajem
  • są ściśle wyznaczone terminy i etapy
  • używamy systemu umożliwiających pracę zbiorową (SVN, Redmine, Skype)

To dość ciekawe doświadczenie. Jestem jednym, z tych mniej doświadczonych programistów. Jedno co łączy to doświadczenie z poprzednim jest ogólne zwątpienie („ja się nie nadaję!”, „co ja tutaj robię”, „jestem za wolny!”), kiedy zadania, które wykonuje się 5 razy wolniej od reszty załogi, przeplatane z ekstazą jak wiąże się z tworzeniem, jakąś bystrą modyfikacją, czy możliwością pomocy programistycznej koledze.

Czasem czuję się jak kopciuszek programistyczny. Moje kodowanie jest rzadko wymyślne, zmyślne czy tym bardziej powabnym, choć chciałbym oczywiście aby było inaczej. Często stosuję metodę KISS i asekurację w modyfikacji tego co działa, szczególnie jeśli w grę wchodzą transakcje i pieniądze.

Największy stres oczywiście jest kiedy zrobi się commita i nagle pojawiają się błędy, coś nie działa, a jakaś podstrona na serwerze na którym działamy wywala błędami. Wtedy człowiekowi wstyd, że czegoś nie dopilnował, gdzieś popełnił błąd, zapomniał dodać tabeli do bazy na serwerze głównym, a to przecież nie powinno się zdarzyć. Ehhh, ten brak koncentracji i dyletanctwo.

Jednak największym problem jaki mam, to szacowanie czasu potrzebnego na wykonanie zadań. Trudno mi oszacować, nietrudno mi przekroczyć dany czas. Dlatego cieszę się, kiedy nie muszę tego robić. Intensywnie pracuje nad powierzonym zadaniami, nie musi mnie nawet nikt z tego rozliczać co do godziny, żebym czuł presję.

Nie mniej jednak uczę się tego i mam z tyłu głowy fakt, że ja też muszę być ważny dla siebie w tej układance. Za niedługo projekt w PHP (jedyny w tej firmie dla tego języka) może się skończyć, tak samo jak moja umowa i nie wiadomo jaka może okazać się przyszłość. Możliwe, że dostanę szansę przebranżowienia, ale może != na pewno.

Bezrobocie

piątek, 18.03.2011

Nadszedł czas posuchy i braku pracy programistycznej. Szczerość czasem ma swoje dobre i złe strony. Jakby nie było pod górkę jest ciężej, ale za to większa satysfakcja (przynajmniej dla mnie).

Oczywiście mieszkam w Bielsku-Białej, gdzie jakaś oferta pojawia się co parę dni i zazwyczaj do tego głównie w .NET albo dla pro w JAVA, a jak już pojawia się coś w PHP czy ewentualnie Pythonie (ależ go ostatnio polubiłem! :) ) to trzeba mieć oczywiście dużo doświadczenia i dużo więcej przeróżnych umiejętności, których ja niestety do tej pory nie nabyłem.

Cóż było zrobić? Dotarłem w końcu do Urzędu Pracy. Zarejestrowałem się. Będę mieć przynajmniej na waciki, bo przysługuje mi 80%. Paradoksalnie za miesiąc przysługiwałoby mi 0%, ale szef postanowił się pożegnać ze mną właśnie teraz ;). Oczywiście nie liczę na pomoc Urzędu, no chyba że jakieś szkolenia, ale oni też trudno. Otwarcie czegoś swojego, nawet budki z hot-dogami (czemu by nie? ) przy dofinansowaniu UE nie wchodzi w grę bo UP nie ma przydziału.

No cóż. Rozglądając się po ofertach pracy musiałem nakreślić sobie jakiś plan rozwoju. Oczywiście nakreśliłem go w tym co umiem i co dlatego będę udoskonalał. Rynek pracy w Bielsku-Białej jest trudny dla programisty. Wystarczy powiedzieć, że w Poznaniu wyszukiwarka praca.trovit.pl znajduje 377, w Bielsku aż 16, nie wspominając już o 582 we Wrocławiu. Oczywiście jedynie część tych ofert pracy dotyczy programisty PHP lub Python-a.

Trzeba było nakreślić sobie jakiś plan działania. Bo jeśli lubi się programować i woli się to robić za minimum krajowe, niż iść np. do fabryki z możliwością dostania od razu pod 2 kafle na rączkę, to trzeba zacząć działać. No na razie mam ochotę się sprawdzić w tym co robię. Polubiłem tworzenie czegoś z niczego. Polubiłem zarówno małe skrypty, jak i rozbudowane aplikacje z bazami danych 500 mega w początkowej fazie rozwoju.

Frameworki

No cóż, pracodawcy wymagają i trzeba wybrać. Oczywiście jeśli chodzi o Pythona-a to nie ma wielkiego problemu – Diango i po sprawie. Jeśli chodzi o PHP nie jest już tak prosto i jednoznacznie. Korci CakePHP, który jest zachwalana choćby za szybko i prostotę. Zend za, którego postanowiłem się zabrać, może jest trochę krowowaty i skomplikowany, ale pożądany przez pracodawców. Na uwagę także zasługuje Kohana i poleceny przez mojego kolegę Yii, którego charakterystyka w tabeli porównawczej frameworków jest naprawdę imponująca.

Design / Layout

Muszę przyznać, że chyba nie jestem pod tym względem super uzdolniony, ale też muszę przyznać, że to nie było nigdy u mnie na pierwszym planie. Teraz jednak, myśląc po części o tworzeniu swoich rozwiązań, muszę to wszystko podnieść na wyższy level. Także GIMP i Inkscape w dłoń ;).

Javascript

No niestety pokutuje niski poziom. Omijaniem tego tematu dopadło mnie dopiero w pracy, gdzie musiał tworzyć i modyfikować rozwiązania JavaScript. Z jQuery jest gorzej, bo w pracy akurat można było zebrać za niego opierdol. No cóż. Niektórzy muszę mieć jQuery bo inaczej ich życie traci sens :D, a niektórzy widzą, że nie zawsze jQuery jest konieczny i wogóle celowy. Znajomość jQuery – jeszcze gorzej.

AJAX

Zagadnienie AJAX to coś co zacząłem, ale nieoczekiwane zdobycie pracy, która wymagała dużo nauki odciągnęła mnie od tego tematu. Gdzieś tutaj muszę się w niego wgryźć.

Flash

I tutaj jest bolączka. Od paru lat korzystam jedynie z darmowego oprogramowania. Widzę, że część developerów bardzo przyjemnie sobie zarabia robią względnie dość proste strony na bazie Flash-a. Oczywiście dostrzegam, że wiele takich projektów, głupotą jest robić za pomocą Flash-a. W zasadzie z pozycji kogoś kto zna się na pozycjonowaniu, nawet mogę powiedzieć debilizmem jest tworzenie stron Flash-owych, które w zasadzie nie korzystają z dobrodziejstw Flash-a :D, a wszystkie efekty są co najmniej do powtórzenia za pomocą JavaScript, a czasem w ogóle nic pozytywnego nie wnoszą do projektu. No cóz… sam wszedłbym we Flash-a, ale wiem ile kosztuje i nie mogę sobie na niego pozwolić (jest SWiSH, ale nie wiem czy jest sens się rozdrabniać). Jak mawia mój „mentor” ;) Jaruś Kaczyński ;), „Zasady zobowiązują”. A mnie zobowiązują do OpenSource i darmowego oprogramowania jaknarazie. Także Flash odpada narazie…

Języki obce

No cóż angielski wystarcza by dokumentację poczytać, ale chyba trzeba się trochę podszkolić. Niby po krótkie przygodzie z Irlandią teraz już wiem, że za granicę to jedynie na max max max 6 miesięcy, nie mniej jednak myślę o takiej przygodzie i sprawdzeniu się. Oczywiście nie z bieżącymi umiejętnościami, ale z JAVĄ w butonierce, myślę o Berlinie ;). Ale to melodia przyszłości. Nie mniej jednak niemiecki można trochę podszkolić, a angielski to i tak trzeba mieć perfect, żeby sobie móc spokoju podróżowanie (nie zarobkowo) po Europie na ukochanym moto… aż się rozmarzyłem w tym momencie ;).

Dodając do tego administrację serwerami UNIX I SVN-a mamy pokaźną wiedzę do zdobycia.  Trzeba mieć plan, aby można było do niego dążyć i siebie samego z niego rozliczyć. Programowanie jest podróżą…

Cytat musi być!

„Ja bardzo dużo czytam, odświeżam umysł i kur… będę jak brzytwa.” :D

Nowe rozdanie

środa, 29.09.2010

Od pierwszego października nastąpi nowe rozdanie. Zwalniając się z pracy na stacji benzynowej nie myślałem, że na tak trudnym dla programisty rynku, jak ten w Bielsku-Białej, tak szybko dostanę pracę. W trakcie poszukiwań, udało mi się nawet przeżyć profesjonalną rozmowę kwalifikacyjną w Gliwicach (dużo się nauczyłem o sobie samym).

Przypadkowo, przychodząc na rozmowę w sprawie pracy przy zapleczu pozycjonerskim, dostałem możliwość wypróbowania swoich sił jako programista. Dostałem dość proste zadanie wyłuskania określonych danych ze strony HTML. W Obiektowym PHP zajęło mi to trochę więcej czasu niż chciałem, ale wyszło nieźle.

Programista Jacek stwierdził jednak, że większość ich roboty teraz jest w Pythonie, dodał też, że to bardzo podobne do siebie języki. Także późnym popołudniem zabrałem się za poznawanie nowego języka, a następnie postanowiłem napisać na podstawie skryptu PHP skrypt w Pythonie.

Pythona wcześniej nie widziałem nawet na oczy, a jeśli to bardzo krótko. Co za tym idzie było to ciekawe wyzwanie. Kilka godzin eksperymentów i efekt prawie żaden. Wybiła godzina 3:00 i trzeba było się poddać, gdyż na 7:00 do pracy. To był piątek. W pracy nastąpiła wymiana e-maili z Programistą Jackiem za pomocą komórki. Werdykt: w PHP nieźle. Podał mi też nazwę parser-a, który w łatwy sposób rozprawi się z problemem.

Postanowiłem na poniedziałek przygotować skrypt w Pythonie. Udało się. Skrypt spełniał podstawowe cele zadania. Werdykt: w Pythonie średnio.

Miesiąc próby

Od pojutrza nastąpi miesiąc próby. Dostanę konkretny projekt i będę miał szansę się wykazać.  Z tego co wiem będzie to projekt związany z CMS i językiem PHP, także jestem dobrej myśli. Nie mniej jednak jestem przygotowany na codzienne parenaście godzin pracy by sprostać wymaganiom.

Tak mnie to cieszy, że nawet to za ile w końcu będę pracował i jaka będzie forma umowy, schodzi na dalszy plan. Mam jedną tylko nadzieję, że nie znienawidzę programowania pod presją ;) .