Początki a portfolio

Początki a portfolio
0

Cześć! Przez jakiś czas uczę się programować w różnych językach: ruby, python, java (na razie to początki więc jeszcze nie mam sprecyzowanej jakiejś konkretnej drogi ale raczej preferowałbym back-end). Chciałbym poświęcić jakieś najbliższe pół roku na naukę (niestety dużo pracuję dlatego nie mam wiele wolnego czasu).
Później chciałbym poszukać gdzieś jakiegoś stażu. Z tego co czytałem najpierw i tak byłby on prawdopodobnie bezpłatny bo wiadomo, małe szanse na to, że ktoś będzie chciał płacić komuś kto nadal będzie się uczył.

Rozumiem, że wypadałoby mieć jakieś portfolio, własne projekty itd. Co by to mogło być? Myślę o czymś w stylu sklep internetowy, jakiś blog ale to wydają się niezbyt skomplikowane rzeczy. Jakiego typu aplikacje możnaby stworzyć aby nie wyglądały źle w takim portfolio?

I przy okazji widzę takie strony jak na przykład https://www.djangopackages.com/. Czy lepiej tworzyć coś od nowa czy korzystać właśnie z tego co dostępne na tej stronie i to jakoś edytować/rozwinąć?

KA
walkujcie pakol tv
2

ktoś będzie chciał płacić komuś kto nadal będzie się uczył.

o.0 Uwaga - szoking mode on - programiści powinni się cały czas uczyć :)

czysteskarpety
czysteskarpety
uczyć ? no wiesz ? może jeszcze programować co ? :D
KA
xddddd
Wizjonero
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 2 miesiące
  • Postów:41
1

Jeśli uważasz, że sklep internetowy i blog to coś prostego, to zauważ że na rynku od lat funkcjonują system przy których pracuje mnóstwo ludzi (WordPress, Magento, czy Shopify ostatnio), a wciąż nie są doskonałe i wciąż jest luka na rynku.

Przede wszystkim wykonuj projekty. Dzięki temu Twój kod powinien naturalnie ulegać poprawie. Po jakimś czasie sam uznasz co warto pokazać, a co nie.

Liczy się jakość kodu i praktyczność wykonanych projektów.

Gynvael Coldwind
  • Rejestracja:ponad 21 lat
  • Ostatnio:16 dni
  • Lokalizacja:Zurich, Switzerland
  • Postów:457
2

Nie do końca na temat, ale...

Kiedyś tam zrobiłem (wspólnie z czytelnikami mojego bloga) dość długą listę rzeczy, którą programiści (i ludzie od sec) mogą wrzucić w swoje CV:
http://gynvael.coldwind.pl/?id=338

Rzuć okiem, może znajdziesz coś ciekawego na tej liście - nie ma tam przykładów projektów, bardziej są rodzaje rzeczy które można wrzucić.

Z mojego punktu widzenia - nie jest istotne jakiego rodzaju projekt jest w CV na tym poziomie, ale czym lepiej pokazuje Twoją biegłość tym lepiej (tj. czym bardziej skomplikowany pod jakimś względem, tym lepiej).


peace,
gynvael.coldwind//vx "Imagination is more important than knowledge..." Albert Einstein
0

Dziękuję wam za pomoc, i odnośnie waszych odpowiedzi - robiąc projekty bardziej skupić się na tym, żeby umieć jak najwięcej zrobić z pomocą internetu czy jednak zatrzymywać się na dłużej w trakcie tworzenia kodu i uczyć się tego co napisałem (oczywiście nie na pamięć) bo podczas takiej rozmowy kwalifikacyjnej będzie wymagane ode mnie np. napisanie jakiegoś fragmentu kodu z mojego projektu ale tylko z pomocą tego co ja umiem bez szukania w internecie?

Zdaję sobie sprawę, że obie kwestie są powiązane bo im więcej będę pisał tym więcej będę potrafił sam stworzyć i może po prostu teraz za bardzo kombinuję. :)

Gynvael Coldwind
  • Rejestracja:ponad 21 lat
  • Ostatnio:16 dni
  • Lokalizacja:Zurich, Switzerland
  • Postów:457
0

Odpowiem trochę na opak - firmu szukające dobrych programistów sprawdzają czy kandydat umie programować „by heart”. Tj. spodziewaj się, że podczas rozmowy będziesz poproszony o napisanie kodu na karte lub na tablicy*.
Zazwyczaj nie jest wymagana znajomość każdej funkcji czy biblioteki na pamięć (od tego ma się dokumentacje, nagłówki, internet, źródła) - jeśli nie będziesz mógł sobie przypomnieć nazwy danej funkcji, kolejności jej argumentów, etc, to możesz wymyślić własną na poczekaniu i powiedzieć, że zakładasz, że taka i taka funkcja istnieje w bibliotece, ale nie pamiętasz jej nazwy, więc założysz, że nazywa się tak i tak i przyjmuje takie i takie parametry, w takiej kolejności. Oczywiście taki skrót można stosować tylko w przypadku jeśli znajomość nazwy/parametrów danej funkcji jest ostatecznie nieistotna.

Co do normalnego pisania - szczerze, to ja mam cały czas jakieś man'y, MSDNy i inne specyfikacje otwarte. Nawet jeśli się zna nazwę funkcji, jej parametry, etc, to czasem są jakieś drobne detale, które są istotne przy kodzie jakości produkcyjnej i których się raczej nie pamięta (warto pamiętać/wiedzieć że istnieją i gdzie ich szukać ;>). Natomiast to dotyczy szczegółów ekosystemu - rzeczy związane z samym językiem (składnia, etc) oraz programowaniem (tj. tlumaczeniem myśli na kod) w zasadzie powinno się znać „by heart” (co sprowadza się do „na pamięć”) - ale jak napisałeś, to przyjdzie z czasem.

    • Kojarzę, że niektórzy studenci/kandydaci często się irytują, jak ćwiczeniowiec/wykładowca/rekruter/interviewer każe im napisać kod na kartce, ale szczerze, to trudno mi sobie wyobrazić by dobry programista miał z tym problem ;) Sry ;)

peace,
gynvael.coldwind//vx "Imagination is more important than knowledge..." Albert Einstein
edytowany 3x, ostatnio: Gynvael Coldwind
Zobacz pozostały 1 komentarz
Gynvael Coldwind
@somekind: Zgoda! Chodziło mi o ideę. Czepianie się braku średnika brzmi jak przesada (ale np. to nie dotyczy już brakujących rzutowań, etc).
satirev
@Gynvael Coldwind s/kartka/vim/g i będzie git ; > Chociaż nadal nie potrafię sobie wyobrazić, żeby ktoś bez wspomagaczy napisał np. poprawny perfect forwarding setter dlatemplate template parameter ; p Z rzutowaniem też nie jest taka prosta sprawa, bo od C++14 można w sumie rozróżnić 6 sposobów type deduction i reguły są "trudne" do zrozumienia ; D
Gynvael Coldwind
@Satirev: +1 :) Raczej chodziło mi o zaimplementowanie algorytmu / pomysłu w stosunkowo prostym kodzie, niż o maglowanie z technicznych detali dotyczących zakamarków standardu danego języka. No chyba, że ktoś idzie na stanowisko „C++ megaexpert”, albo wpisał w CV „C++ poziom ekspercki” (uzasadnionym jest zweryfikowanie informacji podanych w CV) :) (swoją drogą, ktoś kiedyś powiedział, że wpisanie „C++ ekspert” w CV jest jak wlanie wiadra krwi do basenu pełnego rekinów chwilę przed kąpielą)
satirev
@Gynvael Coldwind niejednokrotnie zdarzyło mi się, że podczas rozmowy o pracę rekrutujący pytali mnie o output programu, który zawierał undefined albo unspecified behaviour albo o jakiś rzadko stosowany trik/idiom. Pytanie o kruczki C++ to nic dziwnego. Na pytanie na ile oceniam swoją znajomość C++ zawsze odpowiadam, że skoro Stroustrup wycenił swoją znajomość C++ na mniej więcej 6-7/10 to ja realnie ogarniam około 3/10. Po tej odpowiedzi rekrutujący przeważnie są zawiedzeni, a po kilku pytaniach stwierdzają, że "o C++ już nie ma sensu pytać, bo widać, że ogarniasz" ; D
Gynvael Coldwind
@Satirev: Świetna odpowiedź na to pytanie :)
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około 6 godzin
  • Postów:8407
0

bo podczas takiej rozmowy kwalifikacyjnej będzie wymagane ode mnie np. napisanie jakiegoś fragmentu kodu z mojego projektu ale tylko z pomocą tego co ja umiem bez szukania w internecie?

na jakim jesteś etapie? Jeśli umiesz już coś, to ja bym wysyłał CV i poszedł na jakąś rozmowę. Może się nie dostaniesz, ale przynajmniej zobaczysz jak to wygląda (nie wiem jak ty, ale dla mnie pierwsze rozmowy to był straszny stres - a widzę, że teraz spekulujesz jakieś dziwne rzeczy, zamiast sprawdzić w praktyce jak wygląda rozmowa o pracę dla programisty).

Rozumiem, że wypadałoby mieć jakieś portfolio, własne projekty itd. Co by to mogło być? Myślę o czymś w stylu sklep internetowy, jakiś blog ale to wydają się niezbyt skomplikowane rzeczy.

Wiele rzeczy zwykle się wydaje proste, dopóki ich nie spróbujemy sami zrobić.

Rozumiem, że wypadałoby mieć jakieś portfolio, własne projekty itd. Co by to mogło być?

Nie rozumiem jak można się interesować programowaniem i nie mieć inwencji na zrobienie czegoś własnego.

Jakiego typu aplikacje możnaby stworzyć aby nie wyglądały źle w takim portfolio?

Jakiekolwiek. Kiedyś zrobiłem dobre wrażenie na rekruterze grą platformową 2D ze skaczącym kotem, którą zrobiłem.


edytowany 1x, ostatnio: LukeJL
somekind
Grą z kotem przejdziesz każdą rekrutację. ;)
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
1
catkot napisał(a):

Rozumiem, że wypadałoby mieć jakieś portfolio, własne projekty itd. Co by to mogło być? Myślę o czymś w stylu sklep internetowy, jakiś blog ale to wydają się niezbyt skomplikowane rzeczy. Jakiego typu aplikacje możnaby stworzyć aby nie wyglądały źle w takim portfolio?

Żeby taki projekt miał sens musisz w niego wierzyć, mieć osobiste zaangażowanie, musi wypływać z Twoich potrzeb.
Myślę tu o projekcie nie do pokazania a do uczenia się.
Gdy będzie to projekt wypływający z rzeczywistych porzeb to będziesz w nim dorabiał realne rzeczy więc się szybciej nauczysz.
Książkowe projekty są pod tym względem bardzo ograniczone.

Jeśli chodzi o blog to powinien on prezentować Twoją wiedzę ekspercką a nie kroki w nauce (czyli nie "dziś nauczyłem się zapisywać wskaźnik na funkcję" tylko raczej "właśnie skończyłem implementację kolejnego sklepu, efekt pod adresem: x".

Skoro dużo pracujesz to musisz wybrać konkretną technologię i konkretne dla niej frameworki.
Inaczej będziesz za bardzo się rozpraszał.

Przejrzyj oferty pracy i zbierz statystyki czego warto się uczyć w rejonie w którym chcesz pracować.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)