second gate studio blog

Autorem tego bloga jest zx. Na stronie zajmuję się szeroko pojętym user-experience i takoż pojętym designem. Piszę o technologii, pokazuję rzeczy zaprojektowane z wyczuciem, dbałością o szczegóły i szukam inspiracji w każdej możliwej dziedzinie. Kontakt.

Wpis dodany roku w kategoriach Ogólne i otagowany słowami: praca, Trackback.

Tyle pomysłów…

Jestem człowiekiem, który lubi widzieć efekty swojej pracy jak najszybciej. Jeśli koduję stronę, staram się nadać jej ogólny szlif, a potem wchodzę w szczegóły. Lepiej radzę sobie z poprawianiem i dopieszczaniem niż tworzeniem wszystkiego od zera. Taki charakter poniekąd odciąga mnie od typowego programowania w kierunku ogólnego zarządzania programistami. ;)

Czytałem gdzieś kiedyś, że programiści dzielą się na takich, którym tylko wydaje się, że potrafią programować i takich którzy potrafią, ale nie wiedzą co mogliby z tym zrobić. Nad samym podziałem nie ma się co zastanawiać. Gdyby całkowicie odwrócić ten drugi typ, mógłby spokojnie robić za skróconą charakterystykę mnie. Wydaje mi się, że z dobrym sztabem programistów, moglibyśmy stworzyć kilka na prawdę ciekawych pozycji. Tylko gdzie ja znajdę dobrych koderów, którzy chcieliby się całkowicie podporządkować moim dziwnym wymaganiom?

Jako, że już zacząłem pisać ten artykuł, chyba mogę sobie pofantazjować, co? Taka moja wizja od zera do bohatera. ;)

Na początku jestem ja. Znajduję jednego dobrego programistę. Chciałbym, żeby tworzone przez nas aplikacje były dostępne na wiele platform, jednak niezbyt przekonuje mnie Java, więc stawiałbym na C lub C++. Na początek zaczynamy od podziału obowiązków, czyli ja mówię co programista ma wykonać (czasem nawet wnikam w rozwiązania programistycznych problemów), tworzę do tego wszystkiego grafikę, interfejsy i ogólnie odpowiadam za wszystko poza kodowaniem. Programista zaś ślepo przelewa moje pomysły na język zrozumiały dla kompilatora, nie musząc zastanawiać się nad niczym innym i ściśle skupiając się na swojej działce. Dla mnie utopia - dla programisty pewnie nie (dlatego ograniczam się do marzeń). :P

Żeby nie być gołosłownym, postaram się o jakiś przykład. Nie mam zamiaru bawić się w wypełnianie bańki Web 2.0 kolejnymi projektami, których przyszły los nie jest pewny. Chciałbym tworzyć aplikacje, które zwyczajnie pomagają ludziom. Zacząłbym od rozrywki - od gry konkretnie. Ostatnio chciałem sobie pograć w Arkanoida, więc szukałem jakiegoś, który zadowoliłby moje wymagania. Nie znalazłem. Jest kilka całkiem niezłych projektów, ale nie rozwijają się i tylko powielają wciąż te same rozwiązania. Na początek projekt idealny. Jak już pisałem, pracuję etapami, więc pierwsze co miałby zrobić programista, to prostą deskę z kulką i odpowiedni system fizyki, tak, żeby całość zachowywała się zgodnie z prawami fizyki (całość oczywiście 2D). Potem doczepiamy do tego kolejne elementy, jak bonusy, klocki do zbijania, menu itd. Wydajemy pierwszą wersję (na tym etapie gra musi być już ciekawsza niż standardowe arkanoidy), a ja dbam o utworzenie wokół niej społeczności. Jednocześnie stale rozbudowujemy naszą grę, systematycznie dodając kolejne nowości i ciekawe rozwiązania.

Gdy gra zyska popularność (bo jeśli będzie taka, jaką sobie wyobrażam, nie ma innej opcji - ludzie potrzebują prostych, ale dopracowanych i ciekawych gier), staramy się pozyskać pierwsze fundusze (aplikacje mają być darmowe, jednak o zamkniętym źródle). Bo w końcu trzeba kiedyś zacząć zarabiać. I na to mam kilka pomysłów, jednak na razie zachowam je dla siebie. W tym momencie powinniśmy mieć uformowaną jako-taką społeczność graczy (kilka prostych sposobów istnieje), więc to dobry moment na rozszerzenie działalności. Myślę, że pierwszy programista po takim okresie znudzi się już pracą nad Arkanoidem, więc trzeba mu zaproponować coś innego. To pora na podjęcie współpracy z kolejnym koderem. Teraz warto postarać się o przeniesienie Arkanoida również pod platformy mobilne, więc potrzebny jest specjalista tego typu.

W tym miejscu promuję już nie tylko samą grę, ale również naszą markę, co będzie potrzebne przy kolejnych produktach. Drugi programista tworzy wersje mobilne, pierwszy dostaje kolejne zlecenie (oczywiście jeśli będzie miał ochotę). Tym razem już nie na grę, ale bardziej użytkowy program. Przybywa mi roboty (tutaj mam przynajmniej cztery fronty na których muszę aktywnie działać), ale wciąż jest to wykonalne. Przy wydaniu pierwszej wersji ów programu (nie mogę podawać za dużej ilości szczegółów, bo kto wie - może jednak uda mi się stworzyć coś takiego) oficjalnie istniejemy już jako zrzeszenie ludzi tworzących to dzieło, ze wszystkimi tego profitami. Jeśli uda się pozyskać odpowiednie środki, stajemy się również oficjalnie działalnością gospodarczą. Przez jakiś okres dbamy o poprzednie projekty, tworząc jednocześnie kilka mniejszych elementów (jak pluginy do aplikacji, czy inne uprzyjemniające życie cuda). Na tym etapie powinniśmy już zająć pewne miejsce i móc spokojnie utrzymać się z pracy dla firmy. Być może to okres tworzenia głównej siedziby i poszukiwań kilku dodatkowych rąk do pracy.

Myślę, że kierowanie taką firmą nie jest specjalnie trudnym zajęciem. Dla mnie głównymi filarami jest dbanie o współpracowników i klientów. Jeśli ci pierwsi są zadowoleni z tego co robią, ci drudzy automatycznie dostają lepsze produkty. To wszystko jest bardzo proste na papierze, ale jest raptem kilka firm, które o tym pamiętają, bo szefami najczęściej zostają przypadkowi ludzie.

To jak - ktoś chętny zostać współpracownikiem na stanowisku programisty realizującego moją wizję? ;) Nie sądzę, żebym zobaczył jakieś łapki w górze, chociaż kto wie - w końcu coś mnie podkusiło, żebym opublikował ten mizerny artykuł (weź tu człowieku napisz notkę o czymś, co spokojnie może zająć kilka książek... do tego pod wpływem emocji). Ogólnie rzecz biorąc, chyba sprawdziłbym się na takim kierowniczym stanowisku niezbyt dużej firmy (IMO kolosy wielkości Microsoftu nie mają racji bytu).

Ot taka głupia notka. Męczy mnie to wszystko co napisałem od jakiegoś czasu (jak patrzę na firmy które mogłyby wiele, a się marnują), więc musiałem gdzieś zapisać. Wybaczcie. ;)

Komentarze

neaf 14:51:11 | 26 marca 2008

1. „graczy (kilka prostych sposobów sposobów istnieje), więc”
2. Myślę, że ciężko znaleźć będzie człowieka, którego nie opłacisz jak na pełnym etacie a będzie robił to co chcesz, ale dlaczego tak ma być? Przecież każdy ma swój rozsądek i chyba lepiej jest znaleźć człowieka do współpracy i wymieniać się pomysłami niż wynająć sobie ‘małpkę’. :)

zx 15:02:48 | 26 marca 2008

Myślę, że ciężko znaleźć będzie człowieka, którego nie opłacisz jak na pełnym etacie

Właśnie… to se ne da niestety. Błędne koło – nie zapłacę póki nie zarobię, nie zarobię póki nie będę miał podstaw.

Przecież każdy ma swój rozsądek i chyba lepiej jest znaleźć człowieka do współpracy i wymieniać się pomysłami niż wynająć sobie ‘małpkę’.

Widzisz… mam opracowany pewien schemat. Stworzyłem sobie na podstawie obserwacji społeczności i użytkowników komputerów. A myślę, że obserwować ludzi (i wyciągać wnioski z ich zachowania) potrafię całkiem nieźle. Taki schemat jednak ciężko jest przekazać komuś innemu – słowa to za mało. I oczywiście to nie jest tak, że pan każe, sługa musi. Jestem za głupi w dziedzinie programowania, żeby dyktować wszystko, dlatego zasięganie rady i uwzględnianie pomysłów programisty to podstawa. Chciałbym jednak wprowadzić mój schemat w życie, więc nie mogę w nim zbytnio mieszać.

l00natyk 15:34:34 | 26 marca 2008

Jestem takim dodatkowym koderem w projekcie którym jest mmorpg na licencji GPL. Ostatnio dyskutowaliśmy o tym że przydało by się żeby główni koderzy, mapmakerzy piastowli także taki urząd jak ‘koordynator’, od całości jest maintainer który także jest głównym koderem z tym że znam z życia że jak mi coś przyjdzie do głowy to i tak zrobię, a jeśli pytam czy będzie ok to raczej osób zajmujących się np. skryptowaniem jeśli coś chcę w danym interfejsie zmienić bo maintainer może czasem nie mieć pojęcia o czym ja mówię.
Tak ten burdel wygląda w przypadku dużego projektu, arkanoid to arkanoid i zasady są proste ale jak chcesz zrobić coś dużego to z zarządzaniem zasobami ludzkimi dasz sobie radę ale nie licz że programiści załapią o czym ty mówisz jeśli nie przemówsz ich językiem lub będą cię słuchać :D Dobrze mieć takie międzymordzie w postaci koordynatorów którym ty wyjaśniasz ideę, oni się zajmą detalami i wytłumaczą to np. koderom.

zx 14:12:06 | 29 marca 2008

l00natyk: Nie chodzi tylko o ten arkanoid. Pomysłów mam duużo i kolejne etapy rozwoju zdecydowanie jestem w stanie zaplanować.

Jeśli chodzi o kontakt z programistami i ogólne zarządzanie, to wiem, że w przypadku większych projektów trzeba zwiększyć zasoby ludzkie również. Myślę jednak, że na początek problemów z dogadaniem się nie będę miał, bo w końcu jakośtam kilka języków programowania też znam.