Kolejny temat o poszukiwaniu pierwszej pracy; dylematy nad projektem, kształtem cv itd.

0

Witam,

// standardowy boilderplate w tego typu tematach omitted

głównym problemem, który wstrzymuje mnie przed wysyłaniem papierów w celu znalezienia pierwszej pracy/stażu, jest projekt, który wykonałem. Standardowo jest to prosty CRUD, który zacząłem klepać jeszcze w mojej byłem pracy - kancelarii komorniczej. Jak łatwo się domyślić praca w kancelarii nie przypomina w niczym dzikiego zachodu, który odmalowuje dla nas telewizja, jest tam masa dokumentów do ogarnięcia, terminów itp. itd. Po przeklepaniu kursu programowania (JAVA, SPRING) postanowiłem napisać CRUDA, który w jakiś sposób mógłby ułatwić kancelaryjne życie. Podczas pisania okazało się, że nie wiem jak wykonać to i owo - bo na kursie tego nie było - więc douczałem się z różnych źródeł, przy okazji utrudniając sobie zadanie wymyślaniem nowych beanów/funkcjonalności.

Żeby nie przedłużać wymienię moje wątpliwości związane z projektem:

  1. Konfigurację mam w 100% XMLowską, wynika to z tego, iż kurs, który przerabiałem konfigurował wszystko w XMLu właśnie. Konfigurację javowską odkryłem na dobre dopiero ze "Spring in Action" Wallsa, zastanawiam się, czy to nie powinienem jej przeklepać, czy też wystarczy, że radzę sobie z java-config?

  2. Wrzuciłem do projektu zupełnie z czapy klienta RESTowego, tylko po to, żeby za "experience with REST web services" coś stało. Zdaję sobie sprawę, że tematycznie jest on tam przyszyty, zostawić go, jako dowód "biegłości", czy też wywalić chwasta?

  3. Jeśli chodzi o Spring Security i moje webserwisy to zdecydowałem się iść wybitnie na skróty i onaczyłem je "security=none", będzie to bardzo źle wyglądało?

  4. Czy to źle, że wybiórczo zaimplementowałem web serwisy? Idzie o to, że dla niektórych beanów napisałem osobne kontrollery RESTowe, a dla pozostałych nie, nie dlatego, żebym nie potrafił tego zrobić, motywacja była wyłącznie taka, żeby się nauczyć/pokazać, że wiem na czym to mniej więcej polega.

  5. Podobnej treści uwagę mam do moich testów - o ile kontrollery przetestowałem chyba wszystkie - RESTowe i zwykłe, tak już serwisy wyłącznie z jednego beana - piszę o tych nie mockowanych serwisach, jest to problem? Powinienem dopisać resztę testów wyłącznie ze względu na kompletność testów?

  6. Ma taki projekt w ogóle sens, czy też jest on zbyt prosty i należałoby go poprawić - tutaj mam na myśli zarówno kompletność powyższych rzeczy - dopisać "brakujące" testy, serwisy itd. ale również to, czy sam projekt w tej formie nie jest zbyt ubogi i należałoby go ubogacić?

Tutaj projekt: https://github.com/bugielmarek/rep_one - muszę go jeszcze podczyścić, dodać min. tłumaczenie na angielski, bo dodałem możliwość wyboru wersji językowej, co również samo w sobie jako funkcjonalność w tak pomyślanej aplikacji nie ma najmniejszego sensu, jednak uznałem, że skoro wiem jak to robić, to wrzucę to w projekt. Czy takie podejście nie zaśmieca projektu?

Kilka wątpliwości odnośnie kształtu CV:

  • większość mojej wiedzy odnośnie JAVY i technologii okołojavowych nazwijmy to ogólnie, zawiera się w tym projekcie. Mógłbym więc napisać, że mam basic java knowledge, że mam doświadczenie z: Spring, Hibernate, MySQL, Tomcat, SQL, web services (REST i SOAP), Junit, Mockito, CSS, Git, SmartGit, Eclipse, że znam HTML, regualarne wyrażenia i jeszcze pewnie coś by się znalazło, jednak mówimy tutaj wyłącznie o doświadczeniu z tymi technologiami. Nie jestem biegły w żadnej z nich, stąd sądzę, że uczciwszym podejście jest napisanie, że mam doświadczenie z nimi, aniżeli, że je znam. Bo np. dość słabo znam springowskie aspekty, albo wsparcie springa do cashowania itp. itd. Podobnie wygląda stuacja choćby ze wzorcami projektowymi, znam choćby MVC czy też buildiera, którego mam w projekcie, znam również inne, ale bardziej teoretycznie, tzn. znam ich zrąb i ideę za nimi stojąca (dopiero zabieram się za książkę GoF) jednak z racji tego, że miałem z nimi tyle do czynienia, ile napisałem prościutkie konsolowe apki żeby wiedzieć z czym to się je, czy wobec tego powinienem się w ogóle "chwalić" znajomością wzorców projektowych?

Jak łatwo się domyślić nie mam znajomego programisty, jakiś czas temu wymyśliłem sobie, że zacznę programować, że będzie to java i jakoś tak się stało, że coś tam umiem, jednak nie mam pojęcia jak przekłada się to na realne wymagania juniora. Za feedback serdecznie dziękuję, na pytania chętnie odpowiem.

0

Kilka luźno rzuconych myśli odnośnie Twojego posta:

  • ad 2.: Do dowodu "biegłości" jeszcze daleko. Tym pokazałeś zacięcie i chęć robienia czegoś z własnej woli. Biegłość przyjdzie z czasem,
  • ad 3.: Ogólnie pojęte bezpieczeństwo to rozległy temat, jego znajomość jest bardzo przydatna. Dobrze jest zrozumieć mechanizmy, które stoją za "security" ogarnianym przez Springa,
  • ad 4.: Aplikacja ma spełniać wymagania, jeśli je spełnia nie ma potrzeby tworznia nowego kodu tylko po to żeby go nadziubać,
  • ad 5.: Odpowiadając jednym zdaniem: dopisanie kilku dodatkowych testów, które rzeczywiście coś testują nie zaszkodzi,
  • ad 6.: Podobnie jak w 4. Aplikacja ma być użyteczna i spełniać wymagania, wdróż ją w firmie i zacznijcie jej używać. Jeśli apka się sprawdzi to podejrzewam, że będziesz "nie do zastąpienai" w firmie ;)
  • ad lokalizacja: dla nauki ma to sens, w projektach produkcyjnych kod powinno się raczej wyrzucać niż radośnie dodawać ;),
  • ad CV: W rozsądnych firmach nikt nie będzie oczekiwał cudów od juniora, napiszesz o podstawowej znajomości a resztę zweryfikuje rozmowa. Na pewno nie pisz o tym, że jesteś biegły w którejkolwiek z nich. Do tego potrzebujesz więcej doświadczenia,

Jeśli chodzi o projekt:

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