Pierwsza praca. Ciezkie zadanie. iOS

0

Koncze wlasnie studia i podjalem pierwsza swoja prace (22 latka na koncie). Po zrobieniu pierszego prostego zadania na rozgrzewke dostalem kolejne, drugi. Musze stworzyc aplikajce na iOS na podstawie juz istniejacej, desktopowej. Problem w tym, ze nigdy nie pisalem nic pod iOS. W ogole doswiadczenie profesjonalne mam dosc male... Raczej uczelniane. Aplikacja do napisania (przepisania) jest dosc skomplikowana. Koledzy z zespolu oeniaja prace na ponad rok (a maja juz troche doswiadczenia). Z jednej strony super, bo moge zdobyc monstwo doswiadczenia, ale z drugiej czy to troche niepowazne dawac takie zadania totalnemu nowicjuszowi w temacie?

Zrobilem maly research i teraz ucze sie objective c i ios. Po dwoch tygodniach czytania tutoriali, pisania ürzykladowego kodu nadal mam w glowie ogromny balagan. Tutoriale sa dla roznych wersji iOS, jedne z ARC inne bez itp. Logike dzialania calego MVC dla iOS zlapalem szybko, gorzej z praktyka... Nadal miesza mi sie ktory kontroler, jaki widok w danej chwili maja ze soba smigac itp. W firmie nikt nie pisze w pod iOS. Szef chce miec taka wersja i tyle... A ze mam mentora, to czasem i nawet pare godzin spedzam nad prostymi rzeczami.

Pytania do Was:

  1. Mieliscie podobne problemy w pierwszej pracy?
  2. Czy to normalne, ze po dwoch tygodniach nadal ma sie problemy z niektorymi podstawami? (moze nie hello world, ale jesli mam obslugiwac akcje miedzy kilkama widokami, kilkoma kontrolerami itp, to robi sie problem)?
  3. Czy poczatkowo tez mieliscie wrazenie ze bardzo wolno sie uczycie? Ze inni robia wszystko 100 razy szybciej?
  4. Mieliscie czasem takie mysli ze moze to wszystko jednak dla Was za trudne? Bo ja lapie dola powoli :\
  5. Czy nie uwazacie, ze takie zadanie dla begginera jest troche zbyt hardcorowe?
  6. Jaka EFEKTYWNA metode uczenia sie moglibyscie zaproponowac?
1

Moim zdaniem proces rekrutacji w firmie, w której pracujesz leży na całej linii. Jeżeli wszystkie pracujące tam osoby rekrutowane są w ten sposób, to wątpię w jakąkolwiek jakość wytwarzania oprogramowania. Chyba że w CV i na rozmowie troche "koloryzowałeś" to teraz cierp za swoje :).
Powiem szczerze, że pierwszy raz spotykam się z sytuacją gdzie rekrutuje się osobę z 0 doświadczeniem do projektu nad którym pracować będzie SAMODZIELNIE, w technologii, której nie zna. Ani twoja praca nie będzie opłacalna (bo zajmie Ci to przynajmniej 5x więcej czasu), ani dobrej jakości (bo ciężko zaplanować dużą aplikacje nie znając totalnie technologii i ewentualnych punktów krytycznych).

Jeśli już miałbym Ciebie ratować w tej sytuacji - uderz w coś cross-platform. Klepniesz aplikacje w C++ czy tam HTML + JS, a projekt xcode Ci wygeneruje. Na pewno będzie prościej :).

0

Ja również pół roku temu zacząłem pracę przy iOS. Miałem jednak nieco łatwiej, zespół, do którego dołączyłem, liczy kilka osób i miałem się do kogo zwrócić z pytaniami o różne podstawowe rzeczy... Swoje pierwsze większe zadanie dostałem dopiero po około 2 miesiącach. Wcześniej zlecano mi jedynie poprawianie już istniejących bugów, dzięki czemu zapoznałem się trochę z projektem i językiem. Jeśli Ciebie od razu rzucają na tak głęboką wodę, to faktycznie musiałeś trochę 'koloryzować' w CV, albo po prostu firma zachowuje się niepoważnie ;) Z perspektywy pół roku powiem Ci, ze Objective-C jest bardzo przyjemnym dla developera językiem i z czasem będzie tylko łatwiej. Jeśli miałbyś jakieś pytania dotyczące samego języka, to pisz PM. Podam Ci yahoo/gg i może będę w stanie w czymś pomóc ;)

PS. Aaa.. i polecam pisanie bez ARC ( http://interfacelab.com/objective-c-memory-management-for-lazy-people/ ). I odradzam Xcode'a 4.6. Debugger działa znacznie gorzej niż w 4.5, i potrafi się nieźle zwiesić ;)

0

Objective-C? ._. na IOS da się pisać w C++, tak więc jeśli go znasz (C++), to nie baw się w jakieś wymysły Ishitu.

0
debris napisał(a):

PS. Aaa.. i polecam pisanie bez ARC ( http://interfacelab.com/objective-c-memory-management-for-lazy-people/ ). I odradzam Xcode'a 4.6. Debugger działa znacznie gorzej niż w 4.5, i potrafi się nieźle zwiesić ;)

Możesz podać jakikolwiek powód dla którego miałby sam bawić się w zarządzanie pamięcią jeżeli kompilator może robić to za niego?

0
havi napisał(a):

pierwszy raz spotykam się z sytuacją gdzie rekrutuje się osobę z 0 doświadczeniem do projektu nad którym pracować będzie SAMODZIELNIE, w technologii, której nie zna.

To moja specjalność :) Po pierwsze musisz się na czymś dobrym wzorować. Jakaś praktyczna książka, nie żadne opisy technologii i inne encyklopedie, tylko coś co tworzy aplikacje od początku do końca z wyjaśnieniem co i jak. Na początku twoim mentorem jest wujek google, czyli społeczność (fora, blogi itp.). Po jakimś czasie może znajdziesz sobie jakiś projekt opensource, na którym możesz się wzorować. Reszta to standardowa taktyka rozbijania trudnych problemów na mniejsze kawałki. Ogólnie na początek rób tak żeby działo. Międzyczasie staraj się zrozumieć jak to działa, jakie są z tym problemy, jak to można poprawić. I tu dochodzimy do wydajności programowania i jego jakości. Jako, że twoja wydajność jest tragiczna musisz pracować więcej i to za darmo :( Nie mówię, że masz siedzieć po 16 godzin nad kodem, ale po pracy musisz sobie trochę poczytać o rzeczach, które robisz w robocie i trochę poeksperymentować. I to niezależnie od standardowego programistycznego samorozwoju. Twój kod ssie, więc codziennie rób tak żeby ssał mniej, ale niech to cię nie odciąga od twojego głównego zadania. Ogólnie na początku to jest jazda bez trzymanki. Zaleta jest taka, że codziennie uczysz się czegoś nowego, więc się nie będziesz nudził. Z każdym dniem piszesz lepszy kod i masz większą jasność co robisz i dlaczego. Życie staje się lepsze i możesz się obijać w domu z rodzinką ;) ETA 2 lata jak nie spałeś na studiach.

Oczywiście możesz też zmienić prace i zacząć od czegoś prostszego.

havi napisał(a):
  1. Mieliscie podobne problemy w pierwszej pracy?
  2. Czy to normalne, ze po dwoch tygodniach nadal ma sie problemy z niektorymi podstawami? (moze nie hello world, ale jesli mam obslugiwac akcje miedzy kilkama widokami, kilkoma kontrolerami itp, to robi sie problem)?
  3. Czy poczatkowo tez mieliscie wrazenie ze bardzo wolno sie uczycie? Ze inni robia wszystko 100 razy szybciej?

Tak, to normalne w pierwszej pracy. Twoja sytuacja tylko potęguje to wrażenie maluczkości.

havi napisał(a):
  1. Mieliscie czasem takie mysli ze moze to wszystko jednak dla Was za trudne? Bo ja lapie dola powoli :\

Tak, nawet teraz po 5 latach roboty tak czasem mam. Ale jak pomyśle co było 10 lat temu, czy nawet rok temu to widzę spory postęp. Nie łam się, jak coś jest za trudne to rozbijasz to na mniejsze kawałki.

havi napisał(a):
  1. Czy nie uwazacie, ze takie zadanie dla begginera jest troche zbyt hardcorowe?

Rzucili cię na głęboką wodę, od ciebie zależy czy utoniesz czy się nauczysz pływać. Takie życie. Zawsze możesz zacząć od brodzika.

havi napisał(a):
  1. Jaka EFEKTYWNA metode uczenia sie moglibyscie zaproponowac?

Olać efektywność. DUŻO praktyki i samokrytycyzmu.

0
Remki napisał(a):
debris napisał(a):

PS. Aaa.. i polecam pisanie bez ARC ( http://interfacelab.com/objective-c-memory-management-for-lazy-people/ ). I odradzam Xcode'a 4.6. Debugger działa znacznie gorzej niż w 4.5, i potrafi się nieźle zwiesić ;)

Możesz podać jakikolwiek powód dla którego miałby sam bawić się w zarządzanie pamięcią jeżeli kompilator może robić to za niego?

Po prostu warto znać podstawy. Uważam, że każdy zaczynający pisanie w Objc powinien zaczynać bez ARCa. Jeśli mu nie będzie to odpowiadało, będzie mógł go z powrotem włączyć, ale wcześniej przynajmniej nauczy się paru przydatnych rzeczy.

Poza tym, moim subiektywnym zdaniem, kod bez arca jest po prostu bardziej czytelny (ale to może kwestia przyzwyczajenia).

1 użytkowników online, w tym zalogowanych: 0, gości: 1