Skip to main content

Java lub ...

Jakiś czas temu przeczytałem post chlebik.wordpress.com do którego chciałem się jakoś odnieść ale nie mogłem się za to zabrać.

Głównie uderzyło mnie podobieństwo mojej obecnej sytuacji, a więc niedawno rozpocząłem pracę także jako młodszy programista PHP(ponownie) tym razem w Interia.pl. Co prawda jest to okres próbny ale w perspektywie jest praca stała, ale do rzeczy...

Kolejny etap szukania pracy i nadal nic z tego, jeśli chodzi o Javę to po serii rozmów kwalifikacyjnych doszedłem do wniosku że gdybym się uczył Javy w czasie studiów(ale tylko Javy) to pewnie dał bym radę mieć to wszystko na bieżąco. Na niektórych rozmowach miałem pytania z samego języka (trzeba mieć w jednym palcu Thinking in Java), albo pytanie z bibliotek/frameworków/technologii jak Spring/Struts/JPA/Hibernate itd. Tutaj trzeba by przeczytać przynajmniej po jednaj książce więc tak około 5 książek. Biorąc średnią długość takiej książki na 500 stron i jakieś 30 stron dziennie średnio jakie mogę przeczytać to daje jakieś100 dni czytania. Teoretycznie to jakieś 3 miesiące, jednak realnie wychodzi to około 1 książki miesięcznie, tak więc 6 książek to pół roku. Nie wiem jak inni ale po pół roku to ja tą pierwszą książkę będę raczej pamiętał dość mgliście - tzn raczej na zasadzie wiem gdzie coś było, albo wiem o co chodzi tylko kwestia to np znaleźć w google i rusza się dalej. Nie mogę powiedzieć żeby rekrutacje na których byłem brały to pod uwagę... albo się wie albo nie. Potrafię zrozumieć takie podejście ale coś takiego jest dla mnie raczej nie do przejścia.
Nie umiem sobie wyobrazić ilości czasu jaką musiał bym poświęcić na to realnie pracując i mając jakiekolwiek życie osobiste. Tym bardziej, że za coś trzeba żyć a jak na razie realną pracę i pieniądze daje mi właśnie PHP.

Przypomniało mi się jak czytałem biografię Ursuli K. Le Guin (polecam każdą z jej książek ;) która gdy zapytano ją dlaczego pisze fantastykę odpowiedziała że początkowo wysłała do wydawnictwa jedną książkę fantasy i drugą ekhm...(nie pamiętam dokładnie ale chyba kryminał), w każdym bądź razie za tą pierwszą jej zapłacili i książka została wydana.

Chciał bym to jakoś podsumować ale mam jedynie w głowie pytania na które sam sobie jeszcze nie udzieliłem odpowiedzi...
Czy nadal poświęcać czas Javie? A jeśli tak to tak naprawdę czym się zająć?
Czy istnieje realna szansa by pracować w Javie? Już chyba przestaję w to wierzyć...
Początkowo postanowiłem nic specjalnie nie zmieniać w swoim życiu, potraktować Javę jako hobby, jednak mój czas jest przecież ograniczony a jest tyle innych języków których mógł bym się pouczyć. Mam tu na myśli głównie Pythona, Ruby, Scalę oraz być może C# ale jakoś wolę rozwiązania nie Microsoft(być może Mono jest jakimś rozwiązaniem ale w czy w praktyce ktokolwiek tego używa? )

Nie można stać w miejscu gdyż wtedy tak naprawdę się cofamy dlatego postanowiłem ostatnio pouczyć się Joomla!, plus z tego taki że można będzie sobie kiedyś zrobić prostą stronkę w oparciu o ten CMS nawet dopisać jakiś komponent czy moduł. Sądzę że może być przydatne.
Z jezyków o jakich pisałem zacząłem się uczyć Pythona, dlaczego? miał po prostu szczęście. Tak naprawdę od czegoś po prostu musiałem zacząć. Na pewno podoba mi się konsola oraz testy w dokumentacji(kurs jest dostępny w Software Development Journal) oraz na stronie pl.wikibooks.org.
Za Rubym przemawiał Rails i to wszystko, albo aż wszystko. Miałem kilka doświadczeń z CakePHP i jestem w stanie sobie wyobrazić jak szybko można pisać aplikacje w RoR. Wydaje mi się że o podobną produktywność chodzi twórcom Spring Roo, co prawda nie pisałem w tym nic większego poza helloworld jednak bardzo przyjemnie przeszedłem przez 3 tutoriale i muszę przyznać że bardzo ułatwia pisanie zarówno w Javie jak i w Eclipse(pomijając problemy w wersji deweloperskiej z zależnościami). Moim zdaniem jest to projekt godzien uwagi i jeśli będę nadal miał czas i chęci dla świata Javy to będzie to najprawdopodobniej Roo.

Jeśli chodzi o Pythona to można w nim pisać aplikacje okienkowe i wydaje mi się że Python powinien się raczej sprawdzać w roli języka do pisania GUI, sam nie wiem może powinienem wrócić do C/C++ po prostu. Generalnie dam sobie i Pythonowi szansę na 'dogadanie się'. Pożyjemy zobaczymy, zresztą i tak największy priorytet ma dla mnie PHP na chwilę obecną, zbyt długo traktowałem ten język po macoszemu.

Spróbuję podsumować:

  1. PHP: a obecnie Joomla! Po prostu priorytet. Zresztą to podstawa jeśli chodzi o www.
  2. Python: Spróbuję i przekonam się na ile mi ten język odpowiada. Może GUI i skrypty?
  3. Java: tak jako hobby ale z małym priorytetem, jeśli już to może Swing albo Roo.


Moim zdaniem jeśli chodzi o tworzenie stron www to najlepszy jest PHP... najlepszy, no może mam z nim po prostu najwięcej doświadczenia, jednak pozwala (mi) pisać strony szybciej niż Java, (Pythona jeszcze nie próbowałem w realnych zastosowaniach więc nie wiem).

Dobra dość tego narzekania, mamy piękny dzień za oknem a w perspektywie kilku godzin przeprowadzka na Nową Hutę... cieszy mnie większa przestrzeń życiowa i tylko 10-15 minutowy spacerek by dojść do pracy albo z niej wrócić :)

Comments

  1. http://www.blackbeltfactory.com/
    Porozwiązuj sobie tutaj testy i będzie lepiej ;-)
    Poza tym na Javie się lepiej zarabia podobno, więc warto się szkolić.

    Dobrą drogą jest też Ruby i Python, ciągle mało ludzi od tego jest na rynku. No i też szybciej można się nauczyć, bo nie ma do nich tysiąca frameworków które trzeba obowiązkowo znać.

    Powodzenia ;)

    ReplyDelete
  2. Dzięki za komentarz :)
    Priorytetem na pewno w tej chwili jest i musi być PHP, w końcu z tego żyję ;) Jednak jeśli chodzi o Javę, Pythona, Ruby to wydaje mi się że maksymalnie dwojgiem z nich mogę się realnie zająć. Java - chyba już z samego rozpędu będę się jej nadal uczył, choćby dlatego że szkoda mi czasu jaki już jej poświęciłem. Jeszcze za mało poznałem Pythona ale na razie jakoś średnio mi się spodobał(ból przestawiania się na myślenie funkcyjne?), zastanawiam się więc nad Rubym, choćby po to by porównać go z Pythonem.
    Co do Javy jeszcze to dzięki za linka :)

    ReplyDelete

Post a Comment

Comments:

Popular posts from this blog

Course Review: The Bitfountain iOS 8 with Swift Immersive

This is second big iOS learning project. For first one read iOS Programming book review. As I only have two of them done I have to compare them somehow.

I am mindful that it took me a really long time to finish it (since last autumn). For a couple of months this year I didn't even have the internet to learn it, so it could not be helped. But last half of the June I've spent watching the videos every day and managed to finish it before any new internet problems.

So how was it?
In my opinion, it's great if you're starting out. There are a lot of basics, and seeing how to do things in XCode just makes your learning much easier than looking at the photos in the book. On the other hand, learning is more shallow and it is much easier to just follow the videos and learn only the basics without bigger picture about iOS SDK. I somehow missed more challenging exercises (even though I don't like to do them ;)

Length:
Course it pretty long but many videos are quite short (1-2…

How to Learn when Life is Short

I haven't really think this through but I have read really interesting articles recently and I just wanted to write for myself later.

Life is Short by Paul Graham

It's just that, learn from people older that you what is most important, and that life actually is short...

Instead of Goals or Resolutions, Try Creating Rules by Leo Babuta

In the time of New Year Resolutions, it's good to read something that is proposing different way of achieving things. Still I see much more value in habits than setting goals. But...

The Easy Way To Learn Hard Stuff by Per Harald Borgen
It's something that I read from time to time and I know it works sometimes for me. The things I learn then are really learned and something Jakub Wasilewski  has told me many times to do. Still it's uncomfortable and for some reason, I have failed to use this method more than once or twice. Writing it here so maybe I can think about it more and figure out how to do that more often.

Towards an understandin…

Hero's Journey in Presentations

Artur Skowroński recommended me: Want a Better Pitch? Watch This. by Andy Raskin and I think it is so great and applicable to all kinds of talks that I want to help it get more popular.
So the plan of presentation is going to follow these steps: Enemy - ProblemWhy now? - call to actionShow how the world will look like without the problemProblemsEvidence that you fixed the problem The image at the top is because it reminds me of Hero's Jurney. It has fewer steps but there is a lot of similarities. Especially #3 made me realize that grand vision of the future is something that I should have used in my talks.  The result at the start of the presentation makes a lot of sense actually. Everyone already knows that I speak about something because I probably fixed it and if you tell about it at the end then it might be hard for some people to see the bigger picture in the solution you're going to present.