W czym programować by szybko znaleźć pracę

W czym programować by szybko znaleźć pracę
VO
  • Rejestracja:około 5 lat
  • Ostatnio:około 3 lata
  • Postów:9
0

Witam,
Mam takie pytanie ponieważ w Javie szukam pracy około pół roku byłem w tym czasie na stażu Angular i mam pytanie za co radzilibyście się zabrać żeby znaleźć pracę. Skończyłem 1 rok studiów i rzuciłem studia. Łatwiej mi będzie znaleźć pracę w Lublinie czy lepiej wyjechać do Warszawy. Znam Javę Spring REST i MVC podstawy Hibernate i trochę Junita, a do tego trochę angular i typescript.I oczywiście radzę sobie z sql. Jakie są wasze doświadczenia. Pozdrawiam

edytowany 1x, ostatnio: voltekk
E2
fajne kryterium wyboru języka :D
QuantumComp
QuantumComp
Cierpliwości brakło na studia czy jak? Bo fajnie mieć tego inżyniera, ba nawet magistra, bo masz więcej opcji w przyszłości 😀
OJ
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 2 lata
  • Postów:15
2

W tym co sprawia Ci przyjemność

VO
Dzięki za konkrety :)
NS
  • Rejestracja:ponad 7 lat
  • Ostatnio:6 dni
  • Postów:455
3

Chodzą słuchy, że dostać się na juniora w Javie to Mount Everest. I ten stack co opisałeś to musisz znać tip top, żeby się przebić.
Ja dostałem w takim stacku pracę jak umiałem:

  • Java 8, 11 w stopniu umożliwiającym płynne pisanie bez zastanawiania się nad składnią etc.
  • Spring: Boot, Data, Security, elementy Cloud
  • Jenkins, Docker
  • Solidna wiedza z systemów linux
  • Wzorce projektowe - nie na pamięć, ale wiedziałem z czym się je i jakie problemy rozwiązują
  • SQL, i znajomość koncepcji ORM czyli jakaś implementacja JPA (Hibernate jest pod spodem w Spring Data)
  • Czysty kod i dobre praktyki: Wszystkie najważniejsze książki R. Martina + Java, efektywne programowanie - to podstawa
  • RabbitMQ - wiedzieć jak się pracuje z kolejkami, po co je stosować i co pomagają rozwiązać
  • Intellij idea, podstawy maven, gradle
  • Testowanie jednostkowe i integracyjne - Junit4 lub 5
  • Git - ale nie pull push, tylko umiejętność faktycznej pracy z tym - rebase, merge, reset, revert, status, log i ogólnie nabrać obycia z gitem to konieczność.
  • Projekt wrzucony na Github - nie żaden żenujący CRUD z czterema metodami, ale solidna aplikacja, złożona najlepiej z kilku mikrosewisów, dopracowana, otestowana, masz się móc nią pochwalić i o niej porozmawiać.

Bez tych umiejętności szczerze wątpię, że Ci się uda, bo ja długo się bujałem mimo już takiej wiedzy jak powyżej oraz wiele więcej z różnych innym pokrewnych technologii jak HTML, CSS, SASS, Angular 8, Typescript, GraphQL, websockets, Redis, Ansible etc.

Najłatwiej to chyba na testera by Ci było, nie wiem.

GK
Jak to są wymagania na juniora to polecam szukać pracy jako mid. Umiem może połowę z tej listy, a nie mam problemów ze znalezieniem
AM
Sporo aplikantów na seniora nie ma tych umiejętności. Nie wiem co znaczy solidna wiedza z systemów linux, zgadując z d**y pewnie 99% programistów java jej nie ma.
CZ
serio? I ile zarabiałeś, bo to wiedza na mida a jak podobne wymagania są na juniorskie stanowisko to nic innego jak firma szuka jeleni, którzy będą robić za grosze.
anckor
Jak harujesz z tymi skillami w Warszawie albo innym Krakowie za 4-5k netto to śmiechłem grubo xD A niby programista to ogarnięty człowiek xD
AM
Spoko nie oszukujmy się wypisanie rzeczy które się umie wcale nie oznacza, że się je umie :)
N0
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Gdańsk
  • Postów:647
1

solidna aplikacja, złożona najlepiej z kilku mikrosewisów, dopracowana, otestowana, masz się móc nią pochwalić i o niej porozmawiać.
@NeutrinoSpinZero: Jak to są wymagania na juniora, to jakie są na regulara? o_O

NS
  • Rejestracja:ponad 7 lat
  • Ostatnio:6 dni
  • Postów:455
0

@nobody01: no nie wiem, ja Wam tylko napisałem, jaką drogę przebyłem do złapania pracy jako junior. Także mój post jest mega obiektywny, bo szukałem pracy, ale dostałem dopiero wówczas gdy umiałem to co umiem.

BU
Ja wyznaczyłem sobie podobne cele, ale w .NET. Nie szukałem pracy dopóki nie osiągnąłem wszystkich punktów z mojej listy, a po rozpoczęciu szukania szybko dostałem kilka pozytywnych odpowiedzi.
N0
Ale mikroserwisy na juniora? o_O Pewnie jeszcze DDD.
BU
Podczas nauki kupiłem dwie książki o DDD, ale to był błąd i zrezygnowałem. Do tej pory ich nie ruszyłem :O
LukeJL
DDD to nie jest coś, w co się warto pakować na początek, ponieważ zawiera to wiele abstrakcji, do których trzeba podchodzić z dystansem i ze zrozumieniem "po co". Natomiast wiele osób nie rozumie tego, łapie za książkę o DDD i potem ładuje na siłę wszystkie abstrakcje z książki, bezmyślnie (choć to "bezmyślnie" jest uzasadnione brakiem doświadczenia i brakiem umiejętności ogarnięcia, po co są te abstrakcje).
DA
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:3
0

Latwiej bedzie w Warszawa.

Aby dostac sie na juniora, wystarczy znajomosc javy, OOP, umiejetnosc pisania testow oraz dobre praktyki + podstawy springa i hibernate. Masz jakies swoje projekty? MOzes je tu wrzucic jako code review, bo to ze mowisz ze znasz jave i springa etc. nie wiele mowi. Znajomosc syntaxu jezyka programowania to jest dopiero poczatek.

edytowany 1x, ostatnio: dadad
VO
  • Rejestracja:około 5 lat
  • Ostatnio:około 3 lata
  • Postów:9
0

a jak będę zapytany ile bym chciał zarabiać to ile powiedzieć. Za mało powiedzieć też źle??

Crowstorm
Powiedz milion i leć w dół podczas negocjacji
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 2 godziny
  • Postów:5105
2

@NeutrinoSpinZero:

Ja dostałem w takim stacku pracę jak umiałem:

Java 8, 11 w stopniu umożliwiającym płynne pisanie bez zastanawiania się nad składnią etc.
Spring: Boot, Data, Security, elementy Cloud
Jenkins, Docker
Solidna wiedza z systemów linux
Wzorce projektowe - nie na pamięć, ale wiedziałem z czym się je i jakie problemy rozwiązują
SQL, i znajomość koncepcji ORM czyli jakaś implementacja JPA (Hibernate jest pod spodem w Spring Data)
Czysty kod i dobre praktyki: Wszystkie najważniejsze książki R. Martina + Java, efektywne programowanie - to podstawa
RabbitMQ - wiedzieć jak się pracuje z kolejkami, po co je stosować i co pomagają rozwiązać
Intellij idea, podstawy maven, gradle
Testowanie jednostkowe i integracyjne - Junit4 lub 5
Git - ale nie pull push, tylko umiejętność faktycznej pracy z tym - rebase, merge, reset, revert, status, log i ogólnie nabrać obycia z gitem to konieczność.
Projekt wrzucony na Github - nie żaden żenujący CRUD z czterema metodami, ale solidna aplikacja, złożona najlepiej z kilku mikrosewisów, dopracowana, otestowana, masz się móc nią pochwalić i o niej porozmawiać.

tytuł juniora to tam nic, ale stawka też? :D psuje_rynek.jpg haha

edytowany 1x, ostatnio: WeiXiao
sugar_hiccup
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 2 lata
  • Postów:176
0

EDIT: chyba odpowiedziałem na usunięty post. No ale niech zostanie.

No przede wszystkim to pokazuje on nieznajomość gita (After unziping change the folder name(delete "-master")). Że robiłeś jakieś zadania skądś (Zadanie3).

Że hardkodujesz ścieżki i zostawiasz nierozwiązane problemy:

Kopiuj
 File f=new File(dir+"//ImieNazwiskoOutput.txt"); //I had problem with access to the directory

Że robisz wzorki z komentarzy

Kopiuj
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Że źle importujesz w pythonie

Kopiuj
from tkinter import *
from collections import *
from sys import *
from datetime import *
from time import *
from random import *
from tkinter.messagebox import *
from threading import *

No a przede wszystkim, że nie ma (lub ciężko znaleźć) jeden porządny, otestowany i rozbudowany projekt, którym mógłbyś się pochwalić. Za to jest masa jakichś playgroundów zostawionych w połowie.


My to na arm napiszemy wszystko i zrobimy co chcemy tyle że 90% kodu to biblioteki z netu albo robota kompilatora Zdajesz sobie sprawę że tak na prawdę wyższy poziom języka może świadczyć jedynie o tym jak niskim poziomem wiedzy może dysponować bałwan,który nazwie się w rezultacie programistą i napisze działający program wciskając zleceniodawcy że tam to akurat musi być 100MHz ARM z 1M pamięci bo tak na prawdę jego pusta łepetyna nie potrafi zrealizować czegoś na innym słabszym mikrokontrolerze
edytowany 2x, ostatnio: sugar_hiccup
Zobacz pozostały 1 komentarz
BU
Chyba przypadkiem wrzuciłeś kawałek kodu z jego imieniem i nazwiskiem :P
sugar_hiccup
proszę uprzejmie, uważaj na takie rzeczy i nie pchaj ich do repo, bo mogą wyjść właśnie takie fakapy
VO
no ale na juniora to to wystarczy?Czy czegoś się jeszcze polecacie douczyć
DA
nie wystarczy. dodaj to tego brak testow, brak enkapsulacji, brak dobrych praktyk, brak czytelnosci kodu, co to ejst element1, element2 ...? Springa,gita tez nie ogarniasz, patrzac na ten kod,
siloam
Importuj tylko to co potrzebujesz, ewentualnie cały moduł, bo inaczej syfu narobisz, funkcje mogą nazywać się tak samo w różnych modułach.
NS
  • Rejestracja:ponad 7 lat
  • Ostatnio:6 dni
  • Postów:455
0

Masz taki kod:

Kopiuj
@Service
public class ImageService {
	static Image image=new Image();
	List<Integer> imageNumbers;
	public Image returnImage() {
		return image;
	}
	public void incrementCounter() {
		image.incrementImagesCounter();
	}
	public int getImagesCounter() {
		return image.getImagesCounter();
	}
	public List<Integer> generateImagesNumberList(){
		imageNumbers=new ArrayList<Integer>();
		for(Integer i=0;i<getImagesCounter();i++) {
			imageNumbers.add(i,new Integer(i));
		}		
		return imageNumbers;
	}
	

}
  1. Statyczny zainicjalizowany obiekt Image?
  2. Lista numerów obrazów trzymana w zmiennej serwisu? No way. Coś mi się wydaje, że to jakiś idik bazodanowy.
  3. To nie jest właściwie serwis, a zwykły statyczny utils

Btw. prawie nic nie wrzucasz na githuba, rzadko kiedy wrzucisz jakieś strzępki. Weź się za robotę chłopie, jak chcesz coś podziałać w tej branży.

VO
Dzięki jakieś sugestie co np zrobić teraz?
superdurszlak
no nie wiem, na przykład Weź się za robotę chłopie
DA
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:3
0

juz czytajac readme mozna sie natknac na

To load page firstly you need to select pagination otherwise it will not be loaded

no to za dobrze o Twoich umiejetnosciach nie swiadczy.

VO
  • Rejestracja:około 5 lat
  • Ostatnio:około 3 lata
  • Postów:9
0

Dobra wystarczy przyjąłem do wiadomości ale zrozumcie że to pisałem sam i nie miałem koło siebie nikogo kto by powiedział jest w porządku? nie to jest nie w porządku i tamto też do poprawy. Teraz pytanie ile powiedzieć kasy na ewentualnej rozmowie?

BU
VO
w Warszawie 3000 netto jest w porządku?
BU
Właściwie nie wiem, ale jak mówiłem więcej, gdy zaczynałem kilka lat temu we Wrocławiu, to najczęściej firmy schodziły do 3000 zł z obietnicą podwyżek. Nie przejmowałbym się niską kwotą, bo jeśli jesteś dobry, to Twoje zarobki szybko wzrosną
P5
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 godziny
  • Postów:950
0
voltekk napisał(a):

Teraz pytanie ile powiedzieć kasy na ewentualnej rozmowie?

To wszystko zależy, jakie miasto, jaka firma, no i przede wszystkim na ile się cenisz


Sieciowiec, który przez pomyłkę założył konto na forum dla programistów ¯\_(ツ)_/¯
NS
  • Rejestracja:ponad 7 lat
  • Ostatnio:6 dni
  • Postów:455
5

@voltekk: uczciwie: nie chciałbym Cię w zespole na ten moment. Ale to nie znaczy, że jeśli się weźmiesz do pilnej pracy to za 3 miesiące nie zmieniłbym zdania.

Oto moja rada:

  1. Załóż konto na trello i opisz tam projekt, który chcesz zrealizować. Ma to być zajebiście dokładny plan. Zrób sobie stronę do obsługi zasobów muzealnych na przykład.
    Backend w Javie i frontend w Angularze.
    Funkcjonalności:
    • konto użytkownika z podziałami na role, uprawnienia itd. Nie każdy może wszystko i tak dalej. Niech będzie metoda autentykacji jako BasicAuth.
    • Operacje CRUD na encji MuseumObject - czyli obiekt muzealny, który może być obrazem, rzeźbą, albo książką. Podziel to odpowiednio!
    • Możliwość zamówień od innych muzeów w celu wypożyczenia obiektu muzealnego
    • CRUD na fotografii zbioru
    • Zrób statystyki, co mamy w magazynie ile rzeźb, ile obrazów, ile dywanów etc.
    • Elektroniczne zamawianie biletów - i tu już w późniejszej fazie masz pole do popisu!
      Wymaganie biznesowe:
      Możemy zamawiać bilety przez internet. Cena powinna być ustalana przez użytkownika z odpowiednią rolą (Spring Security)
      Nie możemy sprzedać więcej biletów niż możemy! Jedna grupa zwiedzających to max 20 osób, a grup dziennie może wejść max 10.
    • Statystyki zarobków - sprawdź ile muzeum zarabia na biletach
    • mailingowy newsletter dla zarejestrowanych pracowników o spotkaniach, skoleniach etc.

Napisałem Ci gotowy projekt, siadaj, inicjalizuj projekt i do boju chłopie i na Wielkanoc będziesz miał argument dla rekrutacji, a twoja wiedza skoczy w górę niebagatelnie.
Mogę Ci robić review, nie ma problemu. Najpierw naucz się gita, żeby nie robić syfilisu w projekcie, a normalne, rzeczowe commity.
Dodaj TravisCI koniecznie! Poczytaj jak to zrobić i nie merguj nigdy zmiany, która się nie buduje.
Pisz do wszystkiego testy jednostkowe i integracyjne! Pisz integracyjne, bo potem z łatwością zaimplementujesz frontend.

NS
PS: Zależy od Ciebie czy Ci się chce czy też nie.
WeiXiao
autentykacji na nasz język to będzie uwierzytelnienia
anckor
@NeutrinoSpinZero: ile już masz doświadczenia komercyjnego jako Java developer?
C.mind
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Warszawa
  • Postów:95
1
voltekk napisał(a):

W czym programować by szybko znaleźć pracę

Skończyłem 1 rok studiów i rzuciłem studia.

a jak będę zapytany ile bym chciał zarabiać to ile powiedzieć

Dobra wystarczy przyjąłem do wiadomości (...) Teraz pytanie ile powiedzieć kasy na ewentualnej rozmowie?

Same te cytaty świadczą o tym, że jesteś średnio zainteresowany jakością tego, co robisz. Sam tytuł wątku wiele mówi.
Inne osoby tłumaczą Ci, że robisz podstawowe błędy, a Ty się bronisz tym, że pisałeś sam i nikt Cię nie naprowadzał. Następnie pytasz o stawkę. Słabo to wygląda.

Moja rada: zwolnij trochę. Naucz się porządnie, od podstaw. Jeśli będziesz przerabiał wszystko po łebkach, to do niczego to nie prowadzi. Pierwsza odpowiedź w tym wątku brzmiała W tym co sprawia Ci przyjemność i to chyba najlepsza rada, jaką mogłeś dostać.

edytowany 1x, ostatnio: C.mind
littleboy66
littleboy66
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 5 lat
  • Postów:25
5
NeutrinoSpinZero napisał(a):

Chodzą słuchy, że dostać się na juniora w Javie to Mount Everest. I ten stack co opisałeś to musisz znać tip top, żeby się przebić.
Ja dostałem w takim stacku pracę jak umiałem:

  • Java 8, 11 w stopniu umożliwiającym płynne pisanie bez zastanawiania się nad składnią etc.
  • Spring: Boot, Data, Security, elementy Cloud
  • Jenkins, Docker
  • Solidna wiedza z systemów linux
  • Wzorce projektowe - nie na pamięć, ale wiedziałem z czym się je i jakie problemy rozwiązują
  • SQL, i znajomość koncepcji ORM czyli jakaś implementacja JPA (Hibernate jest pod spodem w Spring Data)
  • Czysty kod i dobre praktyki: Wszystkie najważniejsze książki R. Martina + Java, efektywne programowanie - to podstawa
  • RabbitMQ - wiedzieć jak się pracuje z kolejkami, po co je stosować i co pomagają rozwiązać
  • Intellij idea, podstawy maven, gradle
  • Testowanie jednostkowe i integracyjne - Junit4 lub 5
  • Git - ale nie pull push, tylko umiejętność faktycznej pracy z tym - rebase, merge, reset, revert, status, log i ogólnie nabrać obycia z gitem to konieczność.
  • Projekt wrzucony na Github - nie żaden żenujący CRUD z czterema metodami, ale solidna aplikacja, złożona najlepiej z kilku mikrosewisów, dopracowana, otestowana, masz się móc nią pochwalić i o niej porozmawiać.

Bez tych umiejętności szczerze wątpię, że Ci się uda, bo ja długo się bujałem mimo już takiej wiedzy jak powyżej oraz wiele więcej z różnych innym pokrewnych technologii jak HTML, CSS, SASS, Angular 8, Typescript, GraphQL, websockets, Redis, Ansible etc.

Najłatwiej to chyba na testera by Ci było, nie wiem.

Jak to są wymagania na Juniora w Javie, gdzie początkowe pensje masz chyba z zakresu 2.5k-4k to chyba czas zrobić porządny rozbieg z baranka w ścianę. Za te rzeczy co wypisałeś to połowa Seniorów nie wie. Może jeszcze powinien siedzieć na chacie i dwa lata zakuwać algorytmny z książki Cormena i jeszcze Scali się nauczyć?

Przez takie myślenie co masz w Polsce zaczyna się robić z Java Developerów tanią siłę roboczą od wszystkiego za jak najmniejszy hajs i już widać tego pokłosie.

edytowany 11x, ostatnio: cerrato
anckor
Tak samo pomyślałem. Ja właściwie ogarniam te rzeczy, które napisał (z wyjątkiem "Solidna wiedza z systemów linux" xD) ale tyram już 2 lata w tej branży. Jak wchodziłem to ode mnie tylko Javy, Springa, SQLa i myślenia wymagali, a już wtedy był boom na programowanie więc żadne tam zamierzchłe czasy.
NS
  • Rejestracja:ponad 7 lat
  • Ostatnio:6 dni
  • Postów:455
0

@littleboy66: ale serio, wysyłałem CV nie mając doświadczenia w jako stricte programista, i nie miałem zbyt dobrego odzewu. Może po jakimś roku doświadczenia się to zmieni.

WeiXiao
ale to wcale nie oznacza, że był problem ze skillami czy know how itd. :D
littleboy66
littleboy66
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 5 lat
  • Postów:25
0

Jeżeli to prawda, a nie jest to trolling to niezłe zaniżenie "grade" w stosunku do znajomości technologi/wiedzy, pensji. Staram się to zrozumieć, że dużo chętnych itd, ale moim zdaniem to już przesada. Tym bardziej że do programowania komercyjnego w Polsce potrzeba około 6 miesięcy i lekkiej znajomości Javy/Springa, jak nie wierzysz to zobacz ile firm prosperuje bardzo dobrze, a oferują szkolenia z Java Deva w 6 msc na tzw. "junior/entry lvl"

edytowany 7x, ostatnio: littleboy66
VE
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 16 godzin
  • Postów:362
0

Tym bardziej że do programowania komercyjnego w Polsce potrzeba około 6 miesięcy i lekkiej znajomości Javy/Springa, jak nie wierzysz to zobacz ile firm prosperuje bardzo dobrze, a oferują szkolenia z Java Deva w 6 msc na tzw. "junior/entry lvl"

To potem zobacz ile osób płacze, bo nie ma pracy i jest kilkaset osób na miejsce. Potem biorą się takie wymagania jak ta lista wyżej na juniora.

edytowany 1x, ostatnio: vendie
LA
  • Rejestracja:ponad 5 lat
  • Ostatnio:8 miesięcy
  • Postów:112
1

Z tą pracą na juniora (szczególnie w Javie) to jest dość trudny temat. Jak ja szukałem pracy to tak jak pisał @NeutrinoSpinZero miałem praktycznie wszystko może z wyjątkiem Jenkinsa (samo CD/Ci w miarę ogarnialem po udziale w projekcie open source), solidnej znajomości Linuxa (która i tak nie była potrzebna) i projektu z mikroserwisami na GH. Kolejki etc. też rozumiałem od strony teoretycznej. Resztę posiadałem na różnym poziomie - np. z docker'a podstawy typu Dockerfile, compose etc., a i tak początkowo miałem problemy ze znalezieniem pracy. Natomiast po jakimś czasie osoby, które obecnie składają papiery do naszej firmy często nie znają nawet jakichś podstaw Springa, a i tak są rozpatrywane jako potencjalne osoby na staż, bo jest obecnie dość mało osób (paradoksalnie).

edytowany 1x, ostatnio: lavoholic
MA
  • Rejestracja:około 12 lat
  • Ostatnio:2 dni
  • Postów:217
0
NeutrinoSpinZero napisał(a):

Ja dostałem w takim stacku pracę jak umiałem:

  • Java 8, 11 w stopniu umożliwiającym płynne pisanie bez zastanawiania się nad składnią etc.
  • Spring: Boot, Data, Security, elementy Cloud
  • Jenkins, Docker
  • Solidna wiedza z systemów linux
  • Wzorce projektowe - nie na pamięć, ale wiedziałem z czym się je i jakie problemy rozwiązują
  • SQL, i znajomość koncepcji ORM czyli jakaś implementacja JPA (Hibernate jest pod spodem w Spring Data)
  • Czysty kod i dobre praktyki: Wszystkie najważniejsze książki R. Martina + Java, efektywne programowanie - to podstawa
  • RabbitMQ - wiedzieć jak się pracuje z kolejkami, po co je stosować i co pomagają rozwiązać
  • Intellij idea, podstawy maven, gradle
  • Testowanie jednostkowe i integracyjne - Junit4 lub 5
  • Git - ale nie pull push, tylko umiejętność faktycznej pracy z tym - rebase, merge, reset, revert, status, log i ogólnie nabrać obycia z gitem to konieczność.
  • Projekt wrzucony na Github - nie żaden żenujący CRUD z czterema metodami, ale solidna aplikacja, złożona najlepiej z kilku mikrosewisów, dopracowana, otestowana, masz się móc nią pochwalić i o niej porozmawiać.

...

NeutrinoSpinZero napisał(a):

@littleboy66: ale serio, wysyłałem CV nie mając doświadczenia w jako stricte programista, i nie miałem zbyt dobrego odzewu. Może po jakimś roku doświadczenia się to zmieni.

Najprawdopodobniej jak wysyłałeś CV to wcale nie umiałeś tych rzeczy, które wypisałeś, tylko tak Ci się zdawało.
Niby skąd u Ciebie "Umiejętność faktycznej pracy" i "obycie" z Git, jak nigdy nie pracowałeś w zespole? To trochę jak pisać, że masz płynny Hiszpański, podczas gdy uczyłeś się go z jakiejś książki i nigdy z nikim nie rozmawiałeś w tym języku.
Podobnie z "Czysty kod" - bardzo fajnie, że coś tam liznąłeś, ale różnica w utrzymaniem czystości kodu w domowym projekcie i dużym zespole jest kolosalna.
To samo tyczy się wzorców projektowych i do pewnego stopnia innych pozycji z Twojej listy.

edytowany 5x, ostatnio: macok
Zobacz pozostałe 4 komentarze
LA
Ot wyglądało to jak taki atak z lekka w stronę @NeutrinoSpinZero i pośrednio mojego postu, że umiesz, ale tak naprawdę to nie
MA
No bo tak, uważam, że uczycie się technologii / wzorców / narzędzi żeby móc je wpisać w CV, a nie wtedy, kiedy na prawdę są wam potrzebne do rozwiązania konkretnego problemu. Moim zdaniem to błąd. Ale nie nazwałbym tego "atakiem", sam tak kiedyś robiłem.
LA
Hm, to jest na pewno błąd, ale poznanie teorii narzędzi / wzorców / technologii najważniejszych/najczęściej używanych w obecnym czasie nie oznacza, że w każde miejsce tą poznają rzecz wpychamy na siłę - a chyba to jest największy błąd, prawda? Nie uczę się np. wzorca strategii po to by go wpisać w CV tylko po to, że wiem że takie coś istnieje i mogę tego użyć, a nawet jeśli nie wiem jak użyć to mogę odnaleźć dokładniejsze info na ten temat w internecie. Miałem tak np. gdy dostałem zadanie gdzie miałem napisać parser csv i XML, wtedy mogłem umiejętnie zastosować strategie.
MA
Ok racja, warto liznąć różnych rzeczy. Esencją mojego posta było to, że wymagania na Juniora, które podał NeutrinoSpinZero to ostre przegięcie - nie trzeba wiedzieć tak dużo.
LA
Zgadzam się, jestem tego samego zdania.
NS
  • Rejestracja:ponad 7 lat
  • Ostatnio:6 dni
  • Postów:455
1

Każdy powyżej ma rację. Nie mówię, że umiem te rzeczy dobrze, nie mówię też, że mam obycie w dużym komercyjnym zespole.
O wzorcach miałem długie dyskusje z kolegą programistą. Przeczytałem Gang of four, ale nie zbyt zrozumiałem, potem przeczytałem Rusz Głową Wzorce projektowe i eureka, jakie to proste i przydatne. Umiem stosować wzorce, nie pcham im wszędzie, tylko dlatego, że umiem, ale wiem kiedy wniosą coś pozytywnego, a kiedy mogą zbytnio i niepotrzebnie zagmatwać.

W domowych projektach celowo symulowałem pracę jak firmie:

  • ticket na trello
  • commit do sforkowanego repo, feature per branch
  • pull request
  • jeśli travis zbudował to to code review
  • ewentualne popraki
  • rebase pull requestu do mastera

Jeśli chodzi o czysty kod, to potrafię taki kod pisać zdecydowanie, ale na np. zasadzie podstawiania liskov z SOLID, zawsze się wykładam, bo nie mogę tego zapamiętać xd

Linux stanowi dla mnie taki punkt gdzie chcę się rozwijać w pierwszej kolejności, ponieważ uważam, że ta umiejętność nie zmiennie przetrwa jeszcze grube lata, a poza tym lubię. Nie wyobrażam sobie programowania bez zarządzania procesami, sterowania systemd, dziennikami systemu, już nie wspominając o narzędziach sieciowych jak: nmap, netstat, curl, netcut etc.

Nie wyobrażam sobie pracy bez znajomości basha - serio. Znam też Pythona więc zamieniam sobie czasem te dwa języki do napisania skryptów, które przeszukują logi, deployują aplikacje czy inne tego typu rzeczy. Mam zbudowaną domową sieć złożoną z 6 VMek, więc też nauczyłem się korzystać z Ansible, żeby nie bawić się z osobna w konfigurację maszyn pod mikroserwisy mojego projektu.

Co do Rabbita i Reddisa, faktycznie nie mam jakiejś wiedzy jak to konfigurować i optymalizować, po prostu walę event na rabbita, inny serwis to konsumuje asynchronicznie i tyle. W reddisie cachuje jakieś dane, które często wyciągane są z bazy danych, a są inmutable.

Kodu w Javie napisałem już tyle, że chyba z zamkniętymi oczami mógłbym pisać. Jeżeli chodzi o bibliotekę standardową to znam dobrze Collections framework, Stream API.
Lubię programowanie reaktywne, bo jest proste i bardzo szybkie, a do tego oszczędza masę błędów typu ArrayOutOfBounds co sprawia, że development jest szybszy. Nie używam RxJava, a wolę zdecydowanie Reactora od Pivotala. Polecam.

Co do baz danych, to znam jednak ten temat dość średnio, bo hibernate nigdy nie używałem czystego, ale JDBC już tak. Ale czysty SQL znam spoko, choć często nie jest lekko, mam braki.

Sam Spring, no to co tu znać. Przerobić uważnie książkę "Spring in Action 5" i się tego Springa zna na tyle, że normalnie się .w nim pisze, do tego jest masa postów na SO, Baeldung jest spoko, czy też dokumentacja.

Jenkinsa nauczy się każdy, kto napisze aplikację w mikroserwisach.
Jak będą drobne zmianki, będzie trzeba wrzucać wszystko scp, ubić proces, restart systemd i tak w koło macieju, aż zadziała, no to szybko się skapniesz, że aż się prosi o automatyzację tego. Skąd Jenkins as a code się wziął u mnie, dlaczego nie klikane Joby?

Jak zrobicie format systemu i nie skopiujecie sobie Jobów, no to zrozumiesz. Wszystko jest teraz w repozytorium i odtworzenie pipeline z Jenkinsfile trwa 10 sekund. Postawienie nowego Jenkinsa z całą konfiguracją, kluczami etc. też robi to playbook, więc też powiem szczerze, że cieszę się, że tego się nauczyłem.

Mam nadzieję, że trochę wyjaśniłem. Jak ktoś mówi, że to za dużo na juniora, to pewnie ma rację, ale ja opisałem tu tylko swoją drogę, jednostkowo, więc proszę nie przykładać mnie do ogółu. Poza tym, może mam okropną twarz i dlatego mnie HRki olewały xd

CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:około miesiąc
  • Postów:2284
0

w c++ imo najłatwiej, bo większość korpo Cię przyjmie. Później robisz już co chcesz, bo i tak masz obycie z komercyjnym kodem.

Zobacz pozostałe 5 komentarzy
CZ
nie ma sensu uczyć się nowych standardów w Polsce coś Ty. Sam tak robiłem i fajnie jest to znać, ale ani razu jeszcze w pracy nie użyłem czegoś z c++17 xDDDDD. Ucz się c++11/14 oraz boosta oraz STL-a. c++17 to nadal egzotyka w wielu miejscach. Znajomość wzorców projektowych jest też przydatna.
Sunnydev
eh. To znajomością nowoczesnych standardów będę mógł się pochwalić w projektach na githubie jeśli jakiś rekruter raczy rzucić okiem. Lipton z deka, ale co robić? W ogóle nie wiem czy jest sens się męczyć z jakimiś wypasionymi projektami robionymi pod rekrutację skoro rzadko kto na nie patrzy. Szkoda czasu, bo można by było się doszkolić z jakiegoś innego języka czy ćwiczyć jakąś teorię.
NS
Projekt da Ci to czego w książkach nie przeczytasz. Ja 80% wszystkiego nauczyłem się tworząc projekt.
Sunnydev
@NeutrinoSpinZero: ile loc miał ten Twój projekt? też się przymierzam do napisania czegoś większego, ale ciężko mi zdefiniować co jest już większe od zwykłych projektów. Każdy mówi co innego.
NS
Nieistotne, ważne żeby projekt miał poważne funkcjonalności
B2
  • Rejestracja:około 6 lat
  • Ostatnio:10 dni
  • Postów:100
0

Pytanie czy warto sie pchac w c++ w dziejszych czasach ??

BC
tylko rust! oczywiście, że warto iść w cpp... programowanie nie kończy się na webie i mobilkach
B2
jak to nie ? teraz wszystko idzie w web
littleboy66
littleboy66
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 5 lat
  • Postów:25
0

Masz fajne technologie niszowe typu Clojure, Haskell, Erlang, Ruby,

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)