Archiwalia dla 07.2005

Strip #016: Ekspertem być

Są takie dni, kiedy człowiekowi szkodzi nadmiar słońca.

Tutaj w graficznych przeglądarkach wyświetla się komiks

MTV, pimp my site!

Jak najłatwiej poznać stronę, która była robiona dla właściciela a nie dla jego klientów? Przypomina kompostowisko. Znajdziesz tam wszystko, jest kolorowo, migocząco, tylko nikt nie chce tam chodzić. Całe szczęście, że internet jeszcze nie potrafi transportować zapachów. Przeprojektowane i przeładowane serwisy przytłaczają już po kilku sekundach od wejścia. Ich główny problem polega na tym, że jest tam tak dużo obiektów przyciągających oko, że w efekcie nie widzimy nic.

Jak dobrze zaprojektować serwis? Najlepiej zacząć od projektu w programie obsługującym warstwy. Wśród zawodowych designerów dominują produkty Adobe i Macromedii (choć w tej chwili to już jedna firma). Wykonaj pełny projekt z rozwarstwieniem elementów graficznych (i tak jest to potrzebne do późniejszego pokrojenia projektu do HTML), a następnie popatrz na efekt swojej pracy. Zapisz wynik i wykonaj jego kopię. Teraz w kopii po kolei wyłączaj wszystkie elementy dekoracyjne, jak gradienty czy obrazy tła. Najlepiej na tym etapie zaprosić do pomocy kogoś, kto nie ma zielonego pojęcia, że twój layout jest wspaniały. Porównując oryginał i kopię, ustalcie, które elementy są zbędne.

Po kilku/kilkunastu takich podejściach nauczysz się myśleć w kategoriach użyteczności wizualnej, a nie samej estetyki. Popatrz, które elementy przyciągają wzrok i zastanów się, czy to właśnie one powinny skupiać na sobie uwagę odwiedzającego. Zastanów się, jakich informacji będzie szukał, bo zapewniam, że 99% gości nie wpadnie podziwiać designu. Pracuj nad jednolitą symboliką i kolorystyką. Fakt, że masz akurat pomysł na 25 świetnych bulletów nie oznacza, że każdy bullet na stronie powinien wyglądać inaczej. Unikaj zbędnych animacji, są jak płyta CD na przednim lusterku malucha - były modne w 1996, ale dziś tylko irytują.

Pracuj nad układem informacji. Elementy zmieniające się najczęściej (jak aktualności na stronie głównej) powinny być łatwo zauważalne, a przede wszystkim powinny zaczynać się na pierwszym ekranie bez potrzeby przewijania. Jeśli strona na pierwszy rzut oka wygląda identycznie, odwiedzający założy, że nic się tam nie zmieniło.

Stosuj spójną nawigację. Najlepiej, jeśli oddaje ona strukturę serwisu. Nie ma powodu, dla którego każda strona serwisu miałaby linkować do wszystkich pozostałych. Najważniejsze jednak, aby odwiedzający w każdym momencie wiedział, w jakim miejscu się znajduje.

Myśl w kategoriach stron wejściowych. Goście będą odwiedzać twój serwis za pośrednictwem linków z wyszukiwarek, trafić mogą w dowolne miejsce i rzadko będzie to strona główna. Czy będą wiedzieć, gdzie się znajdują i gdzie szukać powiązanych informacji? Czy żadna ze stron nie jest ślepym zaułkiem?

Jeśli dany dokument jest dostępny w kilku językach, to poinformuj o tym, nikomu nie będzie chciało się przejść na stronę główną w poszukiwaniu przełącznika wersji językowych, a przede wszystkim upewnij się, że przełączanie wersji językowych pozostawia użytkownika na tej samej stronie. Bardzo denerwują serwisy, gdzie klikamy link do polskiej wersji strony tylko po to, żeby znaleźć się nagle na stronie głównej serwisu, nie mając pojęcia o tym, jak dotrzeć do interesującego nas dokumentu.

Podsumowując - postaw się na miejscu użytkownika odwiedzającego serwis, grafika pełni tu rolę drugoplanową i jej głównym zadaniem powinno być wyróżnienie poszczególnych elementów strony i kierowanie uwagą czytającego. Często sprawdza się w tej dziedzinie zupełny minimalizm, dowodem może być jeden z najczytelniejszych moim zdaniem serwisów - Aurora Desktop.

BugTracking

Przy okazji jednego z dzisiejszych postów na pld-devel-pl, przypomniał mi się bardzo fajny tekst tyczący się zgłaszania problemów. Większość ludzi jest albo na tyle leniwa, żeby wcale nic nie zgłosić (i szkodzą sami sobie, bo deweloperzy nie mają szklanych kul i nie czytają w myślach), albo jest odrobinę mniej leniwa i zgłaszają problem w postaci zupełnie bezużytecznej (coś jak telefon do warsztatu samochodowego: zepsuł się samochód, objaw jest taki, że nie działa).

Biorąc pod uwagę, że nie jesteś autorem produktu, z którym masz problem, musisz dostarczyć odpowiednim ludziom odpowiednie informacje. Dlatego zanim zaczniesz na coś narzekać, przeczytaj najpierw biblię zgłaszających problemy: How to ask questions the smart way Erica S. Raymonda.

Miłośnicy Uniksów

Dokonywałem właśnie przed chwilą rutynowego przeglądu swojego MLDonkeya (pomińmy tu względy moralne tej wypowiedzi), upewniając się, że wśród połączonych serwerów znajduje się Razorback. Uwagę mą przykuł jednak jeden z pozostałych serwerów, o bardzo wdzięcznej nazwie domeny.

Wszystkich równie ciekawych od razu uprzedzam, że wbrew swojej nazwie, serwis www.unixlovers.net zawiera… francuskie materiały o charakterze wysoce erotycznym (żeby nie powiedzieć, że zwykłe porno).

Rzecz o drukowaniu stron

Serwisy typowo informacyjne, jak internetowe magazyny, duże portale czy sieciowe instrukcje obsługi są najczęściej drukowanymi stronami. Powinny oferować możliwość wydruku w wygodnej dla użytkownika formie, co oznacza, że powinny mieścić się w szerokości kartki i powiny marnować kartek jak najmniej. Stąd wszechobecne linki wersja do wydruku na wspomnianych sajtach.

Z drugiej strony, nie ma nic bardziej irytującego niż trafienie z Googli na taką właśnie stronę do wydruku, pozbawioną jakiejkolwiek nawigacji czy chociażby odnośnika do oryginału. Kontynuacja lektury czy poszukiwanie dalszych informacji stają się niemożliwe.

Również samo poszukiwanie przycisku odpowiadającego za wersję do wydruku jest często niewygodne, zwłaszcza, że webdesignerzy nagminnie wykazują się niezwykłą intuicją jeśli chodzi o dostępność i umieszczenie tej opcji.

Co by było, gdyby zupełnie z niej zrezygnować? Niewiele osób zdaje sobie z tego sprawę, ale jest to całkiem realne i niezwykle proste do realizacji. Wystarczy przygotować dodatkowy arkusz CSS i nadać mu odpowiedni atrybut media.

Można zrobić to na dwa sposoby. Pierwszy polega na podaniu atrybutu w elemencie <link/> już na etapie importu arkusza CSS:

<link rel="stylesheet" type="text/css"
	href="print.css" media="print" />

Metoda ta ma tę zaletę, że wyraźnie rozdziela style przeznaczone do wydruku od tych przeznaczonych dla innych typów mediów. Druga metoda polega na zamknięciu reguł arkusza CSS przeznaczonych dla danego typu mediów w opisany blok:

@media print
{
	/* tutaj reguly CSS */
}

Regułki specyficzne dla medium wydruku powinny ukryć zbędne elementy nawigacyjne i nieistotne dekoracje graficzne, jak bannery czy grafiki tła. Tutaj potęgę swą pokazują layouty zbudowane w oparciu o czysty (X)HTML, gdzie sterowanie układem strony jest znacznie wygodniejsze niż w przypadku układów tabelkowych.

Jeśli boisz się, że użytkownicy nadal będą szukać wersji drukowalnej, to zawsze możesz umieścić w serwisie dodatkowy (niezależny od arkusza dla wydruku) link wywołujący tę samą stronę ze zmienionym arkuszem ekranowym (media screen) CSS, a ponad to podłączyć odpowiednią akcję JS, co pozwoli na przełączanie arkuszy w locie (i tym samym zaoszczędzi użytkownikom pobierania plików). Jakąkolwiek wersję wybierzesz, zaoszczędzi to masę kodu po stronie serwera i zwiększy użyteczność strony.

Przykład tak skonstruowanego serwisu można oglądać na oficjalnej stronie PLD.

Prywatnie: Operacja Twoja Stara

Piątek, 2030 Żulu Time.

Telefon od Sh69fara. Jest misja do wykonania. Szybki prysznic. Laptop zapakowany do plecaka, portfel w stanie gotowości bojowej, strój maskujący (2x chusta + gogle). Wymarsz.

Piątek, 2120 Żulu Time

Punkt zborny, oddział Alpha już czyta swój briefing (Three… Two… One… Go! Go! Go!) oddział Bravo przygotowuje się do misji (Kochanie, a jak ustawić, żeby myszka chodziła szybciej?). Załatwiłem z kwatermistrzem fakt swojego przybycia i otrzymałem polecenie wyładowania sprzętu ciężkiego. Rozłożyłem się w kantynie, przy jednym ze stolików, gdzie zasiadali oficerowie.

Dokonując gwałtu analnego na własnej osobie, zmusiłem się do rozdziewiczenia swojego notebooka. Asus pierwszy raz za swojej egzystencji zobaczył był Windows. Instalacja tymczasowa, tak zwana dwudniówka na specjalnie wygospodarowanej partycji. Zapoznaj się z Windows! To nowe przeżycie! Przy okazji okazało się, że Windows nie potrafi założyć sobie partycji bez pomocy Linuksa. Na dysku mój standardowy desktopowy podział, czyli mały /boot z ext2, nastepnie partycja wymiany na 512 MB, a cała reszta to / z xfs. Dodatkowo 5 GB wolnej przestrzeni na końcu. Windows uparcie twierdził, że wyczerpałem limit partycji podstawowych i dalsza instalacja wymaga przeformatowania układu dysku (czyżby wykrył Linuksa?). Po krótkim epizodzie erotycznym z użyciem płyty PLD Live i cfdisk (czytaj: wyruchałem Windowsa i sam założyłem partycję z FAT32), dalsza instalacja przeszła bez problemów.

Po tej operacji przyszło mi wyruszyć na zwiad w kierunku okolicznych terenów o podwyższonej wartości strategicznej - na stacji benzynowej przyległej do nieczynnego już od godziny TGG zakupiłem plecak pełen napojów energetycznych Lech i Carlsberg, następnie uzupełniłem braki prowiantu w tamtejszym McDonaldzie.

Ciepło przywitany w bazie (zapewne z powodu niesionej paczki z cheeseburgerami), ochoczo rozpocząłem mozolny proces instalacji (posiłkując się - dosłownie - przyniesionymi dobrami - wszak był to mój pierwszy piątkowy posiłek). Już po chwili byłem gotowy do walki - Operacja Flashpoint: Resistance powitała mnie proroczym napisem: Genius at play.

Walki trwały niemalże bez przerwy przez kolejne 24 godziny. Niemalże, bo niezbędne były chwile odpoczynku na zrobienie kawy, otwarcie świeżego piwa, czy wymianę załogi (jako jedyny nie położyłem się spać). Kilka razy robiliśmy też przerywniki w Quake 1 (gdzie zamiatałem wszystkich nawet pod koniec imprezy) i Unreal Tournament (gdzie zamiatano mną).

Było bardzo przyjemnie, ale przy okazji wyszło na to, że się starzejemy. Wypiliśmy mniej alkoholu, paru osób brakowało, a w sobotę wieczorem prawie nikt już nie miał siły grać (początkowo zakładaliśmy, że skończymy w niedzielę około południa). Inna sprawa, że kiedyś komputery wrzucało się luzem (czasem dosłownie, jeden ze stałych imprezowych komputerów - z braku obudowy - był zawsze montowany na gazetach na miejscu) do jakiegoś malucha i wiozło na miejsce, a dziś sprowadzane z zachodu oryginalne obudowy trzeba owijać styropianem i folią, a potem transportować w kartonie, odpowiednio unieruchomine. Nie wspomnę o szklanej podkładce do myszy Sh69fara. :)

Imprezę uważam za udaną, choć prawdopodobnie była ostatnim flashpointowym LAN party. Powstaje tylko pytanie:

- Co na to twoja stara?

- Chyba twoja!

Update: żeby nie było, że nic nie piliśmy, napisałem mniej niż zwykle mając na myśli 5x Lech 0,66 l + 5x Carlsberg 0,5 l + 1,5x Carlsberg 0,5l od HoBBita + 0,5x Carsberg 0,5 l od YamroZa. Dowody do obejrzenia w galerii.

Użyteczne formularze

Aplikacje sieciowe rządzą się swoimi prawami, jednym z nich jest niemożliwość uniknięcia formularzy. Te ostatnie można zaprojektować lepiej lub gorzej, zastanówmy się więc, co zrobić, aby były chociaż ciut wygodniejsze w użyciu.

Przede wszystkim należy się wystrzegać układu wielokolumnowego. Schemat najwygodniejszy dla oka to dwie kolumny, gdzie jedna zawiera opisy pól, zaś druga to kontrolki niezbędne do wprowadzania danych. Kolumnę z nagłówkami można wyrównać - wedle uznania - do lewej lub prawej, jednak jej centrowanie jest raczej kiepskim pomysłem - zabija to ideę układu dwukolumnowego, gdzie wszystkie dane wyrównane są do jednej (w przypadku wyrównania nagłówków do prawej) lub dwóch (w przypadku wyrównania do lewej) osi. Może się wydawać, że zysk na czytelności jest niewielki, jednak badania prowadzone z udziałem ludzi po czterdziestym roku życia pokazują, że dla nich różnica jest znaczna.

Należy grupować logicznie powiązane ze sobą dane w nazwane zestawy pól. Służy do tego element <fieldset/> w połączeniu z obowiązkowym elementem <legend/>. Zwiększa to czytelność formularza, usuwa wrażenie bezładu i uzasadnia taką a nie inną kolejność pól.

Powinno się unikać nadmiarowych pól. Jeśli aplikacja nie wymaga poszczególnych składowych adresu (jak np. numer domu), to znacznie ułatwimy życie swoim gościom, jeśli skleimy pola typu ulica, nr domu, nr lokalu, kod pocztowy i miasto w jedno większe pole zatytułowane adres, podając pod spodem oczekiwany format adresu. Powód jest prosty - większość użytkowników do przełączania się pomiędzy polami formularza używa myszy, więc konieczność wypełnienia kilku pól więcej jest bardzo uciążliwa.

Staraj się, aby wszystkie pola były podobnej długości, nie wprowadzaj więcej niż dwie - trzy różne długości pól, w ten sposób łatwiej podążać wzrokiem za nagłówkami, nie skupiając się na samych polach.

Do reprezentacji alternatywy wybieraj odpowiednie kontrolki. Jeśli opcje są dwie, to odpowiedni będzie checkbox (dla odpowiedzi tak/nie) lub 2 radiobuttony (w pozostałych przypadkach), niedopuszczalne jest np. użycie checkboksa do wyboru pomiędzy dwoma kolorami (zaznacz, jeśli produkt ma być czerwony, w przeciwnym wypadku będzie żółty). Radiobuttony są najlepszym wyjściem, kiedy opcji jest więcej niż dwie - zapewniają największą czytelność, bo wszystkie opcje widoczne są jednocześnie. Mają jednak jedną wadę - zajmują dużo miejsca, co bardzo przeszkadza, kiedy opcji jest więcej. Wtedy lepiej użyć rozwijalnej listy, jednak powinna to być ostateczność, bo jej użycie wymaga dodatkowego kliknięcia, zanim pojawią się dostępne opcje. Wystrzegać za to należy się listy (selectbox z liczbą wierszy większą niż jeden) - internauci nie są przyzwyczajeni do tej kontrolki i często nie wiedzą, jak z niej korzystać.

Do wyboru kilku spośród równorzędnych opcji zawsze najlepsza jest seria checkboksów. Niech nikomu nawet przez myśl nie przejdzie implementacja takiego wyboru za pomocą listy z włączoną opcją kilku wyborów. Lista jest przede wszystkim niewygodna - wymaga przewijania w celu dostania się do potrzebnych nam opcji. Jest też nieintuicyjna - wybranie kilku opcji wymaga przytrzymania klawisza Control (lub innego w przypadku architektur różnych od PC), z czego niewiele osób zdaje sobie sprawę. Ewentualne zaoszczędzone względem checkboksów miejsce trzebaby poświęcić na instrukcję obsługi korzystania z kontrolki listy.

Nie ma nic bardziej denerwującego niż klikanie na wielki napis tak, zgadzam się tylko po to, żeby dowiedzieć się, że nie jest on klikalny i musimy celować w niewielkich rozmiarów biały kwadracik checkboksa znajdującego się obok. Należy korzystać z elementu <label/>, pozwala on na uzyskanie fokusa przez kontrolkę po kliknięciu na jej opis i jest szalenie wygodne w przypadku każdego typu pól. Wystarczy atrybut for elementu <label/> ustawić na taką samą wartość, jak atrybutowi id odpowiedniej kontrolki.

Osoby starsze bardzo pozytywnie reagują na mały zabieg, polegający na wyróżnieniu aktywnego pola za pomocą niewielkiej zmiany kolorów. Można to uzyskać przez odpowiednie reguły CSS, jednak efekt ten nie zadziała w IE. Niestety, ta przeglądarka wymaga dodatkowych skryptów JS.

Na koniec najprostszy zabieg - zatrudnienie do pracy JavaScriptu. Pozwala to na przetworzenie i zweryfikowanie formularza jeszcze przed wysłaniem go na serwer. Jak często zdarzyło się wam klikać wyślij dziesiąty raz z rzędu, aby po minucie ładowania otrzymać kolejny komunikat o niewypełnionym polu? Jeśli przeglądarka wspiera JS, to można przygotować nieinwazyjny skrypt, który sam po cichu podłączy się do formularzy na stronie i przed ich wysłaniem upewni się, że wszystko wpisaliśmy zgodnie z intencjami autora serwisu. Tutaj uwaga - wyświetlenie komunikatu nie wypełniłeś wymaganych pól nie mówi użytkownikowi wiele. Należy przy okazji wskazać mu pola, o których zapomniał.

Przykład zastosowania JavaScriptu do wstępnej walidacji formularza można znaleźć na mojej stronie demonstracyjnej.

Można tam też zobaczyć niewielki gadżet - pasek postępu wysyłania formularza, który daje użytkownikowi poczucie, że coś się dzieje, co jest szczególnie ważne w przypadku uploadu dużych plików za pomocą formularza na stronie.

Na drugiej stronie demonstracyjnej można zobaczyć przykład innego skryptu - wyświetlania podpowiedzi wewnątrz pól edycyjnych, co przydaje się szczególnie, jeśli na stronie nie ma miejsca na opis dla danego pola (np. mini-wyszukiwarki umieszczane w nagłówkach stron).

Oczywiście, nie wyczerpałem tutaj tematu i nawet nie miałem takiego zamiaru - jest to tylko garść (mam nadzieję, że przydatnych) porad.

Strip #015: Love broadcast

This public announcement is brought to you by America Online, the home of the l33t.

Tutaj w graficznych przeglądarkach wyświetla się komiks

HOWTO: Szukanie pracy w IT

Wszyscy trąbią, że ciężko o pracę, że nie ma, że bieda w kraju. O ile górnicy faktycznie mają na co narzekać, o tyle umęczeni informatycy (w szerokim tego słowa znaczeniu) plotą bzdury. Miejsc pracy jest więcej niż fachowców, bo rynek ten w Polsce dopiero się rozwija, a w ofertach można wręcz przebierać.

Przygotowania wstępne

Mówienie o informatyce jak o konkretnym zawodzie, to jak powiedzenie, że konkretną pracą jest robotnik. Są tu setki specjalności, od statystyki po programowanie, a każda ma inne wymagania i specyfikę pracy. Łączy je tylko jedno - do pracy niezbędny jest komputer. Jako programista, skupię się bardziej na rdzeniu tego rynku, czyli na specjalizacjach technicznych - programowaniu, administracji, aplikacjach sieciowych.

Pierwszą ważną rzeczą jest wybranie w miarę wąskiej specjalizacji. Nikt nie zabrania ci posiadać wielu hobby i interesować się wszystkim po trochu, jednak twój pracodawca będzie zainteresowany współpracą z tobą w zakresie konkretnych obowiązków. Stąd powinieneś przede wszystkim inwestować swój czas w rozwój w wybranym kierunku. Jeśli chcesz być programistą, wybierz grupę docelową. Mogą to być aplikacje desktopowe, software na komórki, gry komputerowe, oprogramowanie serwerowe, aplikacje internetowe, zagnieżdżone systemy czasu rzeczywistego czy skrypty Flash. Jako administrator możesz specjalizować się w zarządzaniu farmami produkcyjnymi, rozległymi sieciami, czy tuningu konkretnych usług serwerowych. Wszystko jedno, co wybierzesz, niech stanie się to twoją mocną stroną. Przeciętny student informatyki ma przynajmniej minimalne pojęcie o każdym z wybranych kierunków, ty nie możesz być przeciętny, musisz przekonać pracodawcę, że to właśnie ty najlepiej pasujesz do danego stanowiska.

Śledź rynek. Skończyły się czasy, kiedy wystarczyło trochę poklikać w jakimś programie, żeby uważać się za guru i wyrocznię. Chcesz pracować jako webdeveloper i znasz HTML? Świetnie, ale czy potrafisz swobodnie poruszać się w technologiach takich jak CSS, sIFR, AJAX? Cytujesz obiekty drzewa DOM z pamięci? Mamy rok 2005 i technika nie stoi w miejscu, klienci (a przez to i pracodawcy) oczekują nowinek, a ty będziesz musiał temu podołać.

Upewnij się, że używasz najoptymalniejszych narzędzi i naucz się je efektywnie wykorzystywać. Oczywiście, kod można pisać w notatniku, ale z całą pewnością dużo wygodniej robi się to w zintegrowanych środowiskach, oferujących zwijanie sekcji i kolorowanie składni. Dowiedz się, z czego korzystają autorytety w danej branży, nie zatrzymuj się na pierwszym programie, który działa. Sumiennie porównaj dostępne na rynku aplikacje i zorganizuj sobie listę wad i zalet. Pamiętaj, że być może w przyszłości będziesz zmuszony korzystać z odgórnie narzuconego oprogramowania - najprawdopodobniej będzie to właśnie jeden z uznanych w branży liderów.

Śledź ludzi. Mamy XXI wiek, czas blogów. Blogi prowadzą uczniowie podstawówek, gimnazjów, licealiści i studenci. Być może cię to zdziwi, ale prowadzą je także biznesmeni, managerowie i programiści. Popytaj bardziej doświadczonych, niech polecą ci kilka linków, stamtąd - po siatce odnośników - trafisz na szersze wody. Zanim zachwycisz się ślepo każdym, kto pisze posty dłuższe niż dwa zdania o myciu zębów, rozejrzyj się po wzajemnych relacjach, polemice i krytyce na innych blogach - będzie ci łatwiej zorientować się, kto powinien być dla ciebie autorytetem.

Naucz się biegle czytać angielskie teksty, 90% interesujących cię informacji znajdziesz w sieci właśnie w tym języku. Nieodzowne będzie także zaznajomienie się ze słownictwem specyficznym dla danej branży - dotyczy to tak języka polskiego jak i angielskiego. Nie zdziw się, kiedy ktoś zapyta cię, czy wiesz co to floatus divitis czy segvowanie.

Naucz się organizować swój czas. Sprawdź, ile czasu zajmuje ci wykonanie każdego projektu. Oblicz, ile procent z tego czasu poświęcasz na poszczególne etapy realizacji. Zastanów się, czy gdyby więcej czasu poświęcić na wcześniejsze planowanie, to faza budowania i wdrażania nie uległaby skróceniu. Naucz się myśleć przyszłościowo, realizując fragment pracy, pomyśl, jakie mogą być potencjalne przyczyny jego późniejszej modyfikacji i czy nie można temu zapobiec już w danym momencie.

Szukaj znajomości, znajomości zawsze się przydają. Czy to w poszukiwaniu pracy, czy w późniejszym rozwiązywaniu napotkanych problemów. Często będziesz w stanie zaoszczędzić mnóstwo czasu, zwracając się do osoby, która dany problem już rozwiązała.

Poszukiwanie pracy

Z najlepszym nawet przygotowaniem, nie oczekuj, że praca sama cię znajdzie. Oczywiście, z czasem i takie przypadki zdarzają się coraz częściej - wystarczy wyrobić sobie choćby minimalną renomę. Póki co jednak, trzeba szczęściu dopomóc.

Zanim zaczniesz szukać pracy i porównywać ogłoszenia, dowiedz się jak najwięcej o strukturze płac w wybranym sektorze rynku. To, co dla świeżo upieczonego studenta może wyglądać na lukratywną ofertę, może w rzeczywistości leżeć grubo pod kreską przeciętnych zarobków. Musisz oczywiście wziąć pod uwagę swój staż i umiejętności.

Największym źródłem ofert pracy są grupy dyskusyjne (pl.praca.oferowana), często jest to też miejsce, gdzie dane ogłoszenie pojawia się po raz pierwszy. Warto regularnie przeglądać podsyłane tam oferty. Niestety, większość pracodawców ogłaszających się za pośrednictwem Usenetu to ludzie poszukujący zdespoerowanych studentów, stąd oferowane zarobki są niewspółmiernie niskie w porównaniu do nakładanych na pracownika obowiązków. Ignoruj takie ogłoszenia, bardziej opłaca się poszukać dłużej niż potem żałować podjętej współpracy.

Drugim źródłem informacji o ofertach jest prasa papierowa. Są to zarówno dzienniki o charakterze ogólnoinformacyjnym, jak i specjalizowane magazyny branżowe. Pierwsze mają ogromną zaletę - publikują tylko ogłoszenia z okolic twojego miejsca zamieszkania. Drugie z kolei ograniczają się do potencjalnych miejsc, w których chciałbyś pracować. Firmy publikujące się w magazynach branżowych mają też z reguły większy budżet, a co za tym idzie, więcej pieniędzy do wydania na ciebie.

Trzecim źródłem ofert są dedykowane serwisy internetowe - od bardzo ogólnych, jak praca.pl, przez dedykowane dla konkretnych grup, jak wrocławskie Biuro Karier dla studentów, aż do specjalizujących się w konkretnej branży, jak IT Kontrakt.

Nie bój się zgłaszać do rekrutacji. Jeśli to możliwe, swoje CV i list motywacyjny wysyłaj pocztą elektroniczną - przerzucasz w ten sposób całość kosztów rekrutacji na potencjalnego pracodawcę, co pozwala startować jednocześnie w konkursach do kilku-kilkunastu ofert. Zgłaszaj swoją kandydaturę nawet kiedy nie jesteś pewien w 100% swojego zainteresowania. W przypadku rezygnacji, grzecznie poinformuj o tym firmę, nie musisz podawać powodu zmiany zdania.

Zanim zdecydujesz się walczyć o konkretne stanowisko, rozpoznaj rynek. Dowiedz się, jak duża jest firma, jaką cieszy się renomą i ile osób zatrudnia. Będzie ci łatwiej ocenić możliwości rozwoju zawodowego, podwyżki czy awansu. Małe, kilku(nasto)osobowe firmy charakteryzują się lepszą atmosferą pracy, ale z reguły płacą mniej. Duże firmy mniej liczą się z kosztami, ale obowiązuje tam większa dyscyplina pracy.

Nie ograniczaj się do rynku ściśle związanego z IT. Często lepiej płatną pracę można znaleźć w firmie zajmującej się innego typu działalnością, a tylko poszukującej specjalisty na dane stanowisko.

Nie popędzaj pracodawcy. Zasypywanie firmy telefonami i emailami nie przyspieszy procesu rekrutacji. Warto za to przypominać się co jakiś czas (np. raz na kwartał), jeśli upragnionego stanowiska nie dostaniesz. Dajesz w ten sposób pracodawcy znać, że twoja kanydatura nadal jest aktualna. Dobrze przy okazji podesłaś uaktualnione CV i pochwalić się postępami.

Rozmowa kwalifikacyjna

Jeśli twoje resume zrobi odpowiednio dobre wrażenie, zostaniesz zaproszony do kolejnego etapu rekrutacji, którym jest spotkanie osobiste. Dobrym pomysłem jest przygotowanie się do tego wizualnie, to jest wbicie się w najlepszy garnitur ze ślubu szwagra i wypolerowanie butów. Są od tego pewne wyjątki (np. ja na ostatniej rozmowie byłem w szerokich spodniach i bluzie z kapturem oraz z nieśmiertelnikami na szyi), ale jeśli pracodawca nie zaznaczy wyraźnie, że możesz przyjść ubrany luźno, to znaczy że nie możesz. Nie należy przesadzać również w drugą stronę, jeśli twój rozmówca podejmie cię w sportowej marynarce, a ty wyglądać będziesz jak prezes banku, to może to wywołać negatywne skojarzenia związane z twoją osobą.

Nie ćwicz przed lustrem uśmiechu i nie pisz mowy otwierającej. Bądź naturalny, podchodź do sprawy profesjonalnie, ale nie sztywno. Lepsze wrażenie zrobisz dowcipną odpowiedzią niż wydukanym cytatem z podręcznika.

Nie spóźnij się, komisja rekrutacyjna ma prawo trzymać cię na korytarzu dowolnie długo, ale tobie nie wolno pozwolić im czekać - to oznacza brak szacunku.

Nie chwal się na zapas, nie opowiadaj o rzeczach, które nie miały miejsca. Łatwo twoje umiejętności sprawdzić w praktyce, a najmniejsze nawet wykryte kłamstwo spowoduje przesunięcie twojej kandydatury w bardzo bliskie okolice kosza.

Nie bądź skromny, ale unikaj dumy. Pokaż wszystkie swoje zalety, ale tylko te związane ze stanowiskiem, o które się starasz. Zanudzanie szefa osiągnięciami w konkursach recytatorskich z pierwszych lat szkoły podstawowej nie uczyni cię w jego oczach bardziej inteligentnym.

Odpowiadaj całymi zdaniami. Staraj się odpowiadać jak najlepiej potrafisz, ale nie lej wody. Jeśli nie masz pojęcia na dany temat, to zaznacz to wyraźnie, przy okazji dodając, że szybko się uczysz, a następnie skieruj rozmowę ponownie na listę swoich zalet.

Unikaj rozmowy na temat poprzednich miejsc pracy, im mniej mówisz o wadach poprzednich firm, tym większą odznaczasz się lojalnością i dyskrecją. Są to cechy jak najbardziej pożądane w każdym miejscu pracy.

Test praktyczny

Przygotuj się na to, że coraz więcej firm chce sprawdzić kandydata jeszcze zanim zacznie pracę. Może się zdarzyć tak, że w kilka dni po rozmowie kwalifikacyjnej zostaniesz zaproszony na poligon, gdzie w ciągu paru godzin pracy przy komputerze sprawdzone zostaną twoje deklaracje umiejętności. Szybko zobaczysz, dlaczego nie warto było kłamać w czasie rozmowy kwalifikacyjnej.

Zanim przystąpisz do testu, dowiedz się, co będzie oceniane, czy komisja zwracać będzie uwagę na metodę rozwiązania, czy na efekt. Pamiętaj o tym podczas rozwiązywania postawionego ci problemu.

Powodzenia.

Okiem ekstremisty

Dziś dostałem od znajomego link do artykułu znajdującego się w OKIEM. Niestety, miast artykułu zobaczyłem tylko paskudną stronę zastępczą, z której wynikało, że moja uboga przeglądarka (Firefox 1.0.4) nie potrafi poradzić sobie z zaawansowanymi skryptami, niezbędnymi do nawigacji pośród stron serwisu.

O ile sam artkuł przestał mnie ciekawić, o tyle zainteresowałem się żywo kwestiami brakującej funkcjonalności mojego pupila. Napisałem przeto list do autora strony:

From: Patryk Zawadzki
To: Marcin Niewalda

Witam,

Jako zawodowy webdeveloper nie mogę się z Panem zgodzić odnośnie
możliwości przeglądarek opartych na silniku Gecko (czy jak Pan zdaje się
ja nazywać - Netscape, choć dotyczy to przeglądarek Mozilla Suite i
Mozilla Firefox).

Przeglądarki te posiadają możliwości dalece większe od przestarzałego i
niezgodnego ze standardami Internet Explorera. Po więcej szczegółów
zapraszam do serwisu http://browsehappy.pl/

Odnośnie Pańskich problemów z wyglądem strony w innych przeglądarkach -
świadczą one tylko o Pana nieznajomości standardów obowiązujących w
sieci. Jeśli chodzi o marginesy, to właśnie Internet Explorer
nieprawidłowo je interpretuje, po szczegóły zapraszam do swoich
artykułów na ten temat:

http://patrys.jogger.pl/comment.php?eid=121784
http://patrys.jogger.pl/comment.php?eid=121980
http://patrys.jogger.pl/comment.php?eid=124346
http://patrys.jogger.pl/comment.php?eid=126533

Jako użytkownik systemu z rodziny Linux, nie jestem w stanie używać
przeglądarek monopolisty z Redmond. Dodatkowo przeglądarka Mozilla
Firefox zdobywa na świecie coraz większą popularność, także w Polsce.
Nieładnie jest więc wypinać się na użytkowników przesiadających się na
programy zgodne ze standardami.

Pozdrawiam i liczę na zainteresowanie tematem i dostosowanie strony do
współczesnych przeglądarek.

Szczerze liczyłem na reakcję ze strony autora i zainteresowanie tematem, jednak odpowiedź przeszła moje najśmielsze oczekiwania:

From: Marcin Niewalda
To: Patryk Zawadzki

Marginesy to pikuś. Skoro jest Pan takim zawodowcem to proszę powiedzieć
jak przerobić pod Natscape skrypt nawigacyjny tak aby ktoś wpisując adres
domena/strona5.htm był przekierowywany na domena/index.htm a do ramki była
ładowana strona5.htm, albo chociaż jak zrobić kolorowy pasek przesuwu.

Marcin

Widząc, że faktycznie, moja przeglądarka jest niezwykle uboga w niezbędną funkcjonalność, niezwłocznie pokajałem się w liście zwrotnym:

From: Patryk Zawadzki
To: Marcin Niewalda

Marginesy to pikuś. Skoro jest Pan takim zawodowcem

Ah, ta zjadliwość.

to proszę powiedzieć jak przerobić pod Natscape

Kolejny raz myli pan Netscape i Mozillę/Gecko.

http://www.mozilla-europe.org/pl/

skrypt nawigacyjny tak aby ktoś wpisując adres
domena/strona5.htm był przekierowywany na domena/index.htm a do ramki była
ładowana strona5.htm,

Najprościej nie używać ramek, które niszczą użyteczność strony. Nie da
się dodać ich do ulubionych ani wydrukować.

Jeśli uparł się pan tego używać, to przekierowanie wykonuje się
identycznie:

window.location.href = “index.html”;

albo chociaż jak zrobić kolorowy pasek przesuwu.

Proszę mnie nie rozbawiać. Był to element dodany przez programistów Microsoft wbrew obowiązującym standardom CSS. Dla referencji, proszę znaleźć mi w standardzie chociaż jedno słowo o kolorowaniu pasków przewijania:

http://www.w3.org/TR/CSS1

Pozdrawiam mimo pańskiej złośliwości. Gratuluję też poczucia humoru,
jeśli celowo opiera Pan stronę na ramkach (co dyskwalifikuje ją wobec
osób niedowidzących i korzystających z czytników ekranowych), a
następnie blokuje dostęp do niej użytkownikom poprawnie działających
przeglądarek, twierdząc, że to dla ich dobra. Nie chcę Pana martwić, ale
to nie przeglądarki są złe, tylko Pana kod JavaScript jest do niczego, a
użytkownicy Mozilli nigdy nie przesiądą się na Internet Explorera, bo
właśnie od niego uciekali wybierając nowoczesną przeglądarkę typu
Firefox. Użytkowników IE ubywa z dnia na dzień, natomiast liczba
szczęśliwych posiadaczy Firefoksa nieustannie rośnie, więc kopie Pan
dołek sam pod sobą.

Autor nie pozostał mi dłużny i szybko wyklarował swoje stanowisko:

From: Marcin Niewalda
To: Patryk Zawadzki

To Pan mnie rozbawia. Obcinanie standardów tylko dlatego że nie umie się
umieścić koloru na pasku przesuwu jest badziewiem. Ramki można dodawać do
ulubionych i drukować całkiem dobrze, wystarczy odpowiedni skrypt. Ramki
przeszkadzają tylko tym którzy nie potrafią zrobić żeby wejście na nie
otwierało strone wewnątrz ramki. (nie, proszą sobie wyobrazić, że nie chodzi
mi o link otwierania strony w ramce). Ja zrobiłem taki kod, ale niestety da
się to tylko pod IE. I chociaż nie znosze Billa Gatesa będą używać tego bo
jego standart jest po prostu bardziej elastyczny co niestety świadczy o
większym profesjonaliźmie. Przez 4 lata chyba z 40 programistów pisało do
mnie. Tak samo mądrych jak i Pan i każdy po kilku próbach przerobienia kodu
się poddawał i jakoś dziwnie milkł. Myślę że i z Panem było by tak samo.

ps. na marginesie Pański program mailowy nie potrafi porpawnie wysłać
wiadomości w której tekst przychodzi jako załącznik

Okazało się więc, że i mój program pocztowy (Evolution 2.2.3) jest upośledzony. W tym momencie zrezygnowałem z nawracania ekstremisty i odpisałem zrezygnowany:

From: Patryk Zawadzki
To: Marcin Niewalda

To nie jest standard. Przykro mi, ale robi Pan stronę nieumiejętnie i
dla ginącej przeglądarki. Nie każę Panu uczyć się poprawnego
programowania JavaScript. Pana strona - Pana sprawa. Proszę tylko zrobić
przysługę reszcie internautów i nie zabierać się prowadzenie innych
stron. Bez obaw, nie jest Pan sam:

http://osiolki.net/

Zastanawiam się nad zgłoszeniem Pana serwisu, jeśli jeszcze nie figuruje
w bazie.

ps. na marginesie Pański program mailowy nie potrafi porpawnie wysłać
wiadomości w której tekst przychodzi jako załącznik

Nie, to Pana program (Outlook Express 6.0) jest uszkodzony i nie potrafi
obsługiwać poprawnie podpisanych cyfrowo (kluczem PGP) wiadomości. To,
jak mniemam, kolejny standard Billa Gatesa, którego będzie Pan ślepo
bronił. W internecie obowiązują normy i akurat mój program pocztowy je
spełnia.

Cóż, wygląda na to, że z naprawiania strony nic nie będzie. Szkoda zachodzu dla ludzi, którzy i tak będą mieli problemy z nawigacją z powodu braku kolorowania pasków przewijania.

Update: pan był łaskaw odpowiedzieć:

From: Marcin Niewalda
To: Patryk Zawadzki

Powtarzam że jest Pan nudny - tłumacze że było już wielu mądrych. Osiołki
na samym początku swojej działalności umieściły stronę encyklopedii u siebie
potetm w przeciągu tygodnia ją usunęła ? - dlaczego ? - dlatego że uznali że
standard W3C jest niedoskonały i niepzwala osiągaś wyników nieodzownych do
działania strony Encyklopedi. Proszę przestać walczyć z normalnymi ludźmi i
zająć się czymś pożytecznym - albo jeśli ma Pan dużo czasu proszę mi pomóc
przenieść serwis na PHP. Od trzech lat prowadzę encyklopedię kosztem życia
rodzinnego, czasu wolnego, pracy. Pracą woją wykonuje charytatywnie i wiem
że jest pomocna wielu ludziom którzy mi za to dziękują. Oglądalność sięga
10.000 wejść na stronę i regularnie przkracza transfery dopuszczalne - a ja
nie mam z czego opłacać kolejnych pakietów. Jak mało ludzi potrafi pomóc -
wypluć kilka ironii natomiast potrafi każdy.

ps. proszę sobie sprawiź inny program pocztowy bo ten w dalszym ciągu wysyła
tekst jako zalącznik - wiele osób może mieć trudności z odczytaniem - a na
pewno nie jest to standrd wysyłania maili na świecie.