Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Mamy na forum jakichś 'otwartych' programistów zaangażowanych w jakimś projekcie? Może ktoś chciałby podzielić się swoimi doświadczeniami z takiego 'wolontariatu'? Albo pomóc mi znaleźć jakiś projekt wart zaczepienia się? Zależy mi na zdobyciu doświadczenia i podszlifowaniu warsztatu, a o ile nie uda mie się znaleźć jakiegoś stażu to będzie to chyba najlepszy sposób na wykazanie się. Gdzie właściwie szukać projektów szukających programistów? :P
Offline
Dobre pytanie. Sam jakiś czas temu się zastanawiałem nad czymś takim. Fakt, że programować się dopiero uczę ale od czegoś trzeba zacząć a im wcześniej się podepnie człowiek do jakiegoś większego projektu tym szybciej będzie doświadczenie.
Offline
Mówiąc o programowaniu warto powiedzieć w jakim języku. Chyba, że programujecie we wszystkim albo w niczym i dopiero chcecie coś wybrać. Więc jak to jest? ;]
Offline
Rzecz w tym, że większość projektów OS nie potrzebuje początkujących. Dam Wam przykład z własnego podwórka: potrzebuję kogoś (jedna lub dwie osoby) do stworzenia w pełni otwartego konkatencyjnego syntezatora mowy (DSP) dla języka polskiego. Wymagania: perfekcyjna znajomość C, znajomość zagadnień związanych z cyfrowym przetwarzaniem dźwięku, dobra orientacja w zagadnieniach syntezy mowy... i najważniejsze: umiejętność pracy ze świadomością, że pierwsze efekty będą słyszalne najwcześniej po kilku miesiącach od rozpoczęcia. I że nie ma co liczyć na laury, co najwyżej na drobną wzmiankę na jakimś tam forum...
Lepiej chyba spróbować napisać coś własnego, nie musi to być od razu hiper-wypaśna aplikacja (np. mój pierwszy program w Pythonie miał kilkanaście linii, a był używany przez wszystkich chyba niewidomych linuksiarzy przez jakiś rok). Zobaczycie co Wam najbardziej pasuje, w czym się dobrze czujecie, co Was definitywnie odrzuca. I wtedy dopiero można się brać za współuczestnictwo w projektach.
Ale to takie moje zdanie...
Offline
[quote=ethanak]Rzecz w tym, że większość projektów OS nie potrzebuje początkujących.[/quote]
I tak, i nie. Czasami trzeba przy projekcie konieczna jest praca u podstaw przy zupełnie trywialnych zadaniach, na które Wielcy Hakerzy nie mają ochoty lub nerwów — w takich sytuacjach początkujący sprawdzają się całkiem nieźle, bo takie trywialne mogą spotkać się z ich ambicjami.
Wiele zespołów w Debianie cierpi na brak zasobów ludzkich (i przynajmniej niektóre potrzebują ludzi również do trywialnych prac). Zawsze możesz zagadać na odpowiedniej liście czy kanale IRC.
Offline
[quote=ethanak]Wymagania: perfekcyjna znajomość C[/quote]
Właśnie napisałeś przykład durnego argumentu. Co znaczy perfekcyjna znajomość? Czyli jak znam każde polecenie w C to już się nadaję nie umiejąc ich wykorzystać? Pierwszym problemem zabijającym projekty jest nieumiejętność formułowania prostych wymagań, czy to od samego projektu, jego struktur czy też od osób potrzebnych. Zgadzam się że warto pisać coś "dla sportu" jeśli myśli się o byciu programistą.
A baza projektów, np. GSC.
Offline
Nie ma sie co rozbijac o sematyke wiadomo ze znajomość jezyka programowania to nie są słowa kluczowe ( bo jest ich chyba tylko 24, jak wiecej to ktos mnie poprawi ;], zawsze mi sie z alfabetem kojarzylo), czy znajomość miliarda bibliotek, skoro czlowiek nie bedzie wiedzial jak wskaźnik dziala ;] . Więc myśle ze rozmowa na ten temat jest bezsensowna ;]
Fakt faktem wiekszosc projektow umiera w fazie projektowania ;] ( informacja z danych statystycznych z przedmiotu inzynieria oprogramowania ;], jak dobrze pamiętam jset no nawet cos kolo 75% ).
Offline
O jakim języku mówisz, który ma tylko 24 słowa kluczowe? Jak w ogóle można coś takiego napisać ;] We wszystkich językach jest "chyba tylko 24" ? Nawet nie wiesz jak bardzo się mylisz ;]
Offline
Chodziło raczej o 24 języki.
Offline
[quote=azhag]Chodziło raczej o 24 języki.[/quote]
Jeśli jest to napisane po polsku to jednak jestem za słowami kluczowymi. A jeśli jednak to języków jest ich jeszcze więcej.
Ostatnio edytowany przez kamikaze (2011-06-01 14:36:59)
Offline
qluk, masz na myśli Google Summer of Code, ja? Dzięki, poszukam czegoś dla siebie.
kamikaze, C++, C#, Java(najczęściej używana), Ruby - najchętniej coś z tego grona - ale, widzisz - w dotychczasowch projektach nie miałem okazji korzystać ze Springa, Hibernate czy JBossa, po prostu nie zachodziła taka potrzeba, były za małe.
ethanak, nie jestem początkującym - cały czas coś piszę, ale zależy mi na zdobyciu doświadczenia w pracy zespołowej, gdzie panuje jakaś organizacja pracy, stosuje się metodologie itd.
Offline
[quote=qluk][quote=ethanak]Wymagania: perfekcyjna znajomość C[/quote]
Właśnie napisałeś przykład durnego argumentu. Co znaczy perfekcyjna znajomość?[/quote]
A... zapomniałem.
Jednym z warunków jest wiedza o tym, co znaczy "perfekcyjna znajomość" danego języka programowania ;)
[quote=Zolnierzu]ethanak, nie jestem początkującym - cały czas coś piszę, ale zależy mi na zdobyciu doświadczenia w pracy zespołowej, gdzie panuje jakaś organizacja pracy, stosuje się metodologie itd.[/quote]
No to na 100% nie mój projekt - ja muszę zatrudnić primadonny i większość czasu musiałbym poświęcić na użeranie się z takowymi. Owszem, jest to też praca zespołowa - ale daj Ci dobry Boże nigdy w takim projekcie nie uczestniczyć :)
Offline
[quote=kamikaze]O jakim języku mówisz, który ma tylko 24 słowa kluczowe? Jak w ogóle można coś takiego napisać ;] We wszystkich językach jest "chyba tylko 24" ? Nawet nie wiesz jak bardzo się mylisz ;][/quote]
[url]http://pl.wikipedia.org/wiki/C_(j%C4%99zyk_programowania)[/url]
38, czyli 150% mojego strzału, chodzi oczywiscie o "C", bo o tym byla mowa.
Ostatnio edytowany przez gindek (2011-06-01 17:11:30)
Offline
[quote=gindek]38, czyli 150% mojego strzału, chodzi oczywiscie o "C", bo o tym byla mowa.[/quote]
A tak z ciekawości (bo w gógielu jakoś znaleźć nie mogę tak na szybko) - ile słów [b]kluczowych[/b] miał Algol 60?
Offline
[quote=azhag][quote=ethanak]Rzecz w tym, że większość projektów OS nie potrzebuje początkujących.[/quote]
I tak, i nie. Czasami trzeba przy projekcie konieczna jest praca u podstaw przy zupełnie trywialnych zadaniach, na które Wielcy Hakerzy nie mają ochoty lub nerwów — w takich sytuacjach początkujący sprawdzają się całkiem nieźle, bo takie trywialne mogą spotkać się z ich ambicjami.[/quote]
Np. LibreOffice ma osobną stronę wiki z prostymi rzeczami wymagającymi odrobiny miłości:
http://wiki.documentfoundation.org/Development/Easy_Hacks
Offline
Witam
Mam i ja pytanie w tym temacie.
Do tego, że do poziom umiejętności w dziedzinie jaką jest programowanie rośnie chyba proporcjonalnie do doświadczenia to już sam doszedłem. Próbowałem się czegoś nauczyć ale takie teoretyczne nauki w moim przypadku zawsze idą w las, gdyż nim dotrę do końca czy to książki czy jakiegoś przewodnika to już zapominam co było na początku.
Ostatnio była próba z [url=http://docs.python.org/tutorial/]pythonem[/url] i aby jakoś wykorzystać tą skromną wiedzę zacząłem nawet czytać djangobook dotarłem do rozdziału nr 4 i odpuściłem dochodząc do wniosku, że to mnie jednak nigdzie nie prowadzi.
W książce [url=http://helion.pl/ksiazki/programowanie-teoria-i-praktyka-z-wykorzystaniem-c-bjarne-stroustrup,pcpptp.htm]Programowanie. Teoria i praktyka z wykorzystaniem C++[/url] Bjarne Stroustrup opisuje proces tworzenia oprogramowania w bardziej ludzki sposób niż np autorzy http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?ie=UTF8&qid=1308345056&sr=8-1 gdzie ktoś w recenzji książki napisał, iż niejednokrotnie drapał się po głowie zastanawiając się o co w tym chodzi (podobnie było w moim przypadku).
Niestety dla mnie jest już zbyt późno aby zastosować się do ->
[url=http://coaching.focus.pl/2010/03/19/wrodzony-talent/]Recepta na sukces Malcolma Gladwella, czyli reguła 10 tys. godzin[/url] ;-)
jak również nie mam tego czegoś aby jak to ładnie zostało powiedziane w filmie [url=http://www.imdb.com/title/tt1285016/quotes]The Social Network[/url]
Harvard undergraduates believe that inventing a job is better than finding a job.[/quote]
Sam skończyłem w robocie, w której niemal chce mi się płakać i ostatnio nawet zacząłem szukać jakiejś alternatywy ale co trafię na jakąś ciekawą ofertę pracy związaną z programowaniem w tych portalach to jest wymóg x lat doświadczenia, więc odpuszczam bo jakim ja niby doświadczeniem mogę się wykazać.
Do pracy dyplomowej pisałem oprogramowanie sterujące μC avr w cyfrowym mierniku (o ile dobrze pamiętam był to atmega 8515) tzw http://pl.wikipedia.org/wiki/System_wbudowany i niemal "cała filozofia"* polegała na studiowaniu karty katalogowej tego urządzenia, kart katalogowych wyświtlacza lcd i zewnętrznego przetwornika a/c.
* [i]nie znaczy to wcale, że była to bułka z masłem bo nie wiem jak wasze uczelnie ale moja uczyła wszystkiego poza rzeczami użytecznymi jednak na jej usprawiedliwienie muszę napisać, że to nie był wydział informatyczny ale "rzeczy" związane z elektrotechniką[/i]
Jak to więc jest z tymi profesjonalnymi programistami? Siadają do klawiatury i klepią kod niczym stenotypistka, czy jednak muszą szukać na bieżąco rozwiązań w postaci algorytmów, nazw bibliotek, które można wykorzystać itp? Zdarzają się takie dni, że nie napiszą więcej niż kilka linii kodu, że trudno im jest coś zrozumieć, że nie muszą "znać się" na wszystkim?
For some reason I'm thinking I'm still 25 but I act like I'm 12.
Offline
[/quote]
Ostatnio edytowany przez sidjestgit (2011-06-18 09:20:50)
[quote=HAL9000]Jak to więc jest z tymi profesjonalnymi programistami? Siadają do klawiatury i klepią kod niczym stenotypistka, czy jednak muszą szukać na bieżąco rozwiązań w postaci algorytmów, nazw bibliotek, które można wykorzystać itp? Zdarzają się takie dni, że nie napiszą więcej niż kilka linii kodu, że trudno im jest coś zrozumieć, że nie muszą "znać się" na wszystkim?[/quote]
Żeby pisać jak stenotypistka trzeba by siedzieć ciągle w jednym temacie, nawet nie w jednym języku. Bo np. klepanie aplikacji webowych różni się bardzo od pisania okienkowych, czy sieciowych itd. Algorytmów warto się uczyć, tak samo wzorców projektowych, są powtarzalne w różnych językach. Więc taka wiedza jest trwała. Nie ma co się rzucać na kilka języków naraz ucząc się i nie oczekiwać, że po przeczytaniu książki będzie się coś umieć. Książka da wiedzę czego należy się nauczyć ;] A nauczyć się można tylko używając w praktyce. Książke można przeczytać, ale potem trzeba dużo pisać i do książki wracać i jakoś to leci. Raczej nie da się osiągnąć stanu typu znam ten język i moge w nim wszystko napisać od ręki, z głowy. Programowanie to ciągła nauka, nowych bibliotek, nowych technik, technologii. Doświadczenie można zdobyć w firmach, które go nie wymagają wielu lat. Ale nawet tam startuąc warto mieć jakiś projekt (lub kilka) do pokazania. Firma nie zatrudni w ciemno, pracownik kosztuje i trzeba mieć jakieś potwierdzenie wiedzy. Na początku jest cięzko, potem jak masz już kilka fajnych firm w CV już leci z górki, czasem nawet nie sprawdzają na rozmowach bo nie ma po co. Polecam też robienie certyfikatów, mających jakąś renomę.
Offline
Mówienie że projekty OS nie potrzebują nawet początkujących programistów jest błędne. Największą bolączką projektów jest brak programistów, lub ich nie wystarczająca ilość. Jeśli słyszał ktoś o projekcie który nie potrzebuję programistów to proszę mi podać jego nazwę. Ja jeszcze się z takim nie spotkałem
Jeśli ktoś chce zaangażować się w coś na polskim podwórku to polecam Kadu. Wystarczy wpaść na forum, irca, czy nawet do mnie się odezwać. Pracy nie zabraknie. Oczywiście trochę czasu trzeba będzie poświęcić na zapoznanie się z kodem, ale wiadomo, ze zaczyna się od małych rzeczy, więc i te fragmenty nie będą takie wielkie. (Ja osobiście będę mógł pomóc nie wcześniej jak za 2 tygodnie)
Jeśli chodzi o metodologie, to chyba żaden projekt OS nie korzysta z typowych metodologii. Jak miałoby to wyglądać? Najczęściej nie ma czasu na stosowanie TDD, czy możliwości aby klepać przy użyciu XP. (o ciężkich metodologiach nie wspomnę). Każdy pracuje w wolnym czasie więc ciezko mówić o jakimś większym planowaniu
Jeśli chodzi o pracę zawodową i X lat doświadczenia to mogę powiedzieć, ze w większości wypadków te wymagania są na wyrost (chyba że to są to oferty na wyższe stanowiska niż normalny klepacz). Zawsze opłaca się wysyłać CV . I tak pierwszy okres w pracy zostanie poświecony na zapoznanie się z kodem, standardami i bibliotekami używanymi w firmach. Jest tak wielka ilość bibliotek i rozwiązań, że nie ma możliwości poznać ich wszystkich i tak jak napisał HAL siąść i klepać. Dokumentacja zawsze jest najlepszym przyjacielem, a obeznanie z technologiami przychodzi z czasem. No i oczywiście po zmianie pracy/projektu znów następuje ten sam okres. Wiec najważniejsza jest umiejętność szybkiej nauki i dostosowania się do wymagań ;)
Jeśli chodzi o kod to wyprodukowanie ogromnej ilości kodu dziennie nie oznacza że jest się dobrym programistą. Najlepiej jest wyprodukować go jak najmniej tak aby spełniał swoje zadanie. Każda łatka usuwająca więcej kodu niż dodająca jest najlepszym zakończeniem dnia ;)
Offline
Odnośnie książek to jest [url=http://www.codinghorror.com/blog/2004/02/recommended-reading-for-developers.html]parę pozycji[/url] polecanych przez bardzo doświadczonego dewelopera.
Offline
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00006 | SET NAMES latin2 |
0.00088 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.189.143.1' WHERE u.id=1 |
0.00063 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.189.143.1', 1732482735) |
0.00040 | SELECT * FROM punbb_online WHERE logged<1732482435 |
0.00065 | SELECT topic_id FROM punbb_posts WHERE id=174332 |
0.00152 | SELECT id FROM punbb_posts WHERE topic_id=19066 ORDER BY posted |
0.00091 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=19066 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00106 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=19066 ORDER BY p.id LIMIT 0,25 |
0.00068 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=19066 |
Total query time: 0.00696 s |