Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C programiranje kako znati da li imam dovoljno iskustva za posao?

[es] :: C/C++ programiranje :: C programiranje kako znati da li imam dovoljno iskustva za posao?

Strane: 1 2 3

[ Pregleda: 9366 | Odgovora: 50 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

unique_
Sabac

Član broj: 339912
Poruke: 8
*.static.madnet.rs.

Sajt: localhost


Profil

icon C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 07:47 - pre 61 meseci
Pozdrav, imam 15 godina i znam dosta jezika, ali najbolje sto sam savladao su C i python. Mislim za C da sam ga veoma dobro savladao znam dosta toga oko sigurnosti (igrao sam dosta CTF challengova),umem da debagujem i umem da ugradim u C skriptu assemblerov kod. Bavim se programiranje od 12 godine. Zanima me kako izgleda posao programera, znam za ono dobijes task od task menagera i ti to treba da uradis. E sad sta ako mi to ne umemo da uradimo i ti zadaci od task menagera da li su teski(kako izgleda za jednog pocetnika na poslu) i kako izgledaju ako moze neko da navede primer?
I da zanima me kako da znamo kada smo spremni za programera i kako krenuti sa tim poslom ako nemam diplomu?
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2679



+690 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 08:24 - pre 61 meseci
Odlično, šta radi funkcija "Q_rsqrt" u sledećem kodu :)

Code:
#include <stdio.h>

int main()
{
        float Q_rsqrt( float number )
    {    
        long i;    
        float x2, y;    
        const float threehalfs = 1.5F;    
        x2 = number * 0.5F;
        y  = number;    
        i  = * ( long * ) &y;
        i  = 0x5f3759df - ( i >> 1 );
        y  = * ( float * ) &i;    
        y  = y * ( threehalfs - ( x2 * y * y ) );
        y  = y * ( threehalfs - ( x2 * y * y ) );
        return -y;
    }
    
    float inputvalue = 2.0;
    float result = Q_rsqrt( inputvalue );
    
    printf( "Rezultat je %f \n", result );

    return 0;
}

Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

Whitewater
dummy workshop

Član broj: 339178
Poruke: 397



+137 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 08:40 - pre 61 meseci
pretvara fahrenheit u celsius ?
I saw a USO last night.
 
Odgovor na temu

looker-on

Član broj: 339519
Poruke: 476



+157 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 08:44 - pre 61 meseci
Citat:
Whitewater: pretvara fahrenheit u celsius ?


 
Odgovor na temu

unique_
Sabac

Član broj: 339912
Poruke: 8
*.static.madnet.rs.

Sajt: localhost


Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 08:47 - pre 61 meseci
https://gist.github.com/gabereiser/8407918
Razumeo sam vecinu tvog koda, ali ne bas sve.
Zapravo me je zanimalo kako se zaposliti kao programer ako nemas diplomu i gde traziti, koja je plata...
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
109.72.51.23



+1064 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 08:53 - pre 61 meseci
Citat:
mjanjic:
Odlično, šta radi funkcija "Q_rsqrt" u sledećem kodu :)

Code:
#include <stdio.h>

int main()
{
        float Q_rsqrt( float number )
    {    
        long i;    
        float x2, y;    
        const float threehalfs = 1.5F;    
        x2 = number * 0.5F;
        y  = number;    
        i  = * ( long * ) &y;
        i  = 0x5f3759df - ( i >> 1 );
        y  = * ( float * ) &i;    
        y  = y * ( threehalfs - ( x2 * y * y ) );
        y  = y * ( threehalfs - ( x2 * y * y ) );
        return -y;
    }
    
    float inputvalue = 2.0;
    float result = Q_rsqrt( inputvalue );
    
    printf( "Rezultat je %f \n", result );

    return 0;
}


Ovo nije C.
edit:
cast u long* pa potom dereferenciranje je undefined behavior, moze proizvesti bilo sta.
 
Odgovor na temu

unique_
Sabac

Član broj: 339912
Poruke: 8
*.static.madnet.rs.

Sajt: localhost


Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 08:54 - pre 61 meseci
printf?
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 871
..ynamic.kabel-deutschland.de.



+148 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 09:08 - pre 61 meseci
Očekivani nivo samostalnosti dosta varira od firme do firme. Moje iskustvo je da u manjim firmama moraš da budeš samostalniji, dok u većim firmama znaju da naprimaju sve i svašta.

Lično sam vidio junior developera koji za 6 mjeseci od kako je primljen još nije napisao niti jednu liniju koda. Firma je velika, pa ako od stotinjak ljudi na projektu jedan zavlači i još je sakriven iza grupe, to nema velikog uticaja. Ne bih sad da debatujem kako je to moguće, samo navodim kao primjer da ako je istina to što pišeš (a nemam razloga da mislim da nije), onda si već u startu u odličnoj poziciji i ne treba da budeš zabrinut.

Kao junior je sasvim razumljivo da neke stvari nećeš znati da uradiš, zato i postoji takva titula. U takvim slučajevima, tu su developeri sa više iskustva koje možeš da pitaš za savjet. Neke firme praktikuju čak i programiranje u parovima sa iskusnijim developerom, jer je tako najlakše da uđeš u cijeli sistem.

Što se samog tehničkog znanja tiče, pored samog programskog jezika, obrati pažnju na okruženje i na neke prateće alate (git). Npr. C sam po sebi nije dovoljan, uglavnom se koristi u nekom okruženju (mikrokontroleri/embedded, ili neki Linux low level/middleware). Ovo je više domensko znanje i firme često prime i one manje iskusne u određenom domenu, ali sa dobrom osnovom.

Sa svojih 15 godina si na odličnom putu za dalje, samo nastavi tako.

 
Odgovor na temu

unique_
Sabac

Član broj: 339912
Poruke: 8
*.static.madnet.rs.

Sajt: localhost


Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 09:12 - pre 61 meseci
@peromalosutra Hvala puno na odgovoru.
 
Odgovor na temu

Whitewater
dummy workshop

Član broj: 339178
Poruke: 397



+137 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 09:21 - pre 61 meseci
sto veca firma veca ladovina i manja kreativnost tako je svugde.

A velike firme generalno primaju dobre kadrove i imaju vecu selekciju. Posle im utrape neki monoton uskospecijalizvan posao. I onda jednog dana pukne velika firma...
I saw a USO last night.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
109.72.51.23



+1064 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 09:29 - pre 61 meseci
E sto volim ovo generalizovanje.
 
Odgovor na temu

Whitewater
dummy workshop

Član broj: 339178
Poruke: 397



+137 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 09:35 - pre 61 meseci
ja bih to nazvao najblizom aproksimacijom realnog stanja kroz sektore
I saw a USO last night.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
109.72.51.23



+1064 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 09:49 - pre 61 meseci
"Zanima me kako izgleda posao programera"

Pa izgleda kao i to sto sad radis. Mozes raditi od kuce mozes iz kanca, zafisi kako se dogovoris. Ako radis od kuce radices mnogo vise nego iz kanca. Tu sad ide od firme do firme da li ces imati slobodnih dana/placeno bolovanje ili ne,
taj da li ce te placati samo efektivno sto radis ili ne. Tu naravno ide i visina zarade koja je veca kad te samo efektivno placaju ili ides ono na radno vreme.
Sve u svemu, posao je tezak, od tebe ce se uvek dosta ocekivati, sto rece veci pritisak i stres ces imati u manjoj firmi, dok u velikoj firmi *mozda* manje, ali uvek to zavisi od sefova. Znaci najbitnije je u kakvom okruzenju radis,
da li je zdravo ili bolesno.
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2679



+690 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 10:46 - pre 61 meseci
Dobar procenat firmi u Srbiji radi outsourcing, praktično se programeri finansiraju prema projektu na kome su angažovani, pa tako i plate variraju. Ima onih koji idu i do 2000€ neto, pa i više (mada su takvi veoma retki), ali ima i onih koji tavore za 30-40k dinara čekajući bolje sutra, jer je bitno da su upali u dobru firmu, ali su trenutno na nekom bezveznom projektu koji nije baš nešto naročito plaćen, a znanja još uvek nemaju da odu u jaču firmu (bar oni sami misle tako).
I onda, posle nekog vremena, kad stekne dobro znanje i više samopouzdanja, takav programer ne želi više da čeka bolje sutra, pošalje CV drugoj firmi, ponude mu preko 1000€ startnu platu, on to kaže svom šefu u prvoj firmi i već sledeći dan dobije povišicu na tu sumu.

Konkretno u 2 firme sam čuo iz prve ruke za takve slučajeve, i to se radi o jednom veoma ozbiljnoj i jakoj firmi, a druga je u zadnjih nekoliko godina maltene udesetostručila broj zaposlenih. Dobre plate će imati samo oni koji su odlični, odgovorni u poslu, poštuju rokove, poštuju način rada u firmi, i teško su zamenjivi (N godina u firmi, rukovode timovima ili čak samim projektom, i sl.). Iako se do takve pozicije može doći za nekoliko godina, većini je to nemoguće iz raznoraznih razloga, ali je prvenstveno problem u nedovoljnom predznanju koje kasnije svugde postaje kamen spoticanja.


Za C programiranje je možda najbolje ići u neku firmu koja se bavi sistemskih i/ili embeded programiranjem, ili eventualno u firmu koja radi neke kontrolere za industriju i sl. kod kojih se koristi C. Naravno, ako se ima iskustvo za to.

U principu, sve se nauči ako se ima razvijena logika, ali na intervjuima često postavljaju pitanja vezana za OOP i to se generalno najviše traži, tako da...


P.S. Što se tiče koda datog u mojoj ranijoj poruci, kod radi kako treba (proverio na online C interpreteru), i u pitanju je šala, ovo gotovo niko ne bi provalio šta radi, osim ako nije čuo za taj primer. U pitanju je implementacija x^(-1/2) funkcije, tj. 1/sqrt(x), a koja je korišćena u Quake 3, ali sam samo dodao negativan znak za povratnu vrednost jer je to greška koja se javlja na 64-bitnim sistemima (u principu, trebalo je koristiti sizeof...), opisano je čak i na srpskoj Wiki strani: https://sr.wikipedia.org/sr-ec/0x5f3759df
mada je dato više detalja na odgovarajućoj engleskoj strani: https://en.wikipedia.org/wiki/Fast_inverse_square_root
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
109.72.51.23



+1064 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 11:05 - pre 61 meseci
".S. Što se tiče koda datog u mojoj ranijoj poruci, kod radi kako treba"

Kod ne radi kako treba.
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2679



+690 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 11:47 - pre 61 meseci
Kao što sam rekao, problem je samo u minusu, tj. treba koristiti "sizeof" kod 64-bitnih sistema, i taj znak treba promeniti u zavisnosti od sistema, čak i kod online servisa mora da se promeni u zavisnosti od znaka rezultata. Ostalo je u redu, a naravno da će se uvek naći kompajler koji će se žaliti, jer sam C kao jezik dozvoljava neke stvari koje možda nisu dobra praksa, ali ovaj kod su napisali ljudi koji su daleko ispred nas po znanju.

Na Wiki je dat originalan kod, pa recite za njega da li radi kako treba ili ne, a taj prepravljen primer koji sam postavio je bio u cilju šale, da se vidi kako i relativno jednostavan kod može da bude nerazumljiv.
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
109.72.51.23



+1064 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 11:57 - pre 61 meseci
Ovaj kod nije C pre svega.

Code:

~/.../bmaxa_data/examples >>> clang -std=c11  bad_code.c -lm                                   
bad_code.c:7:5: error: function definition is not allowed here
    {
    ^
bad_code.c:22:20: warning: implicit declaration of function 'Q_rsqrt' is invalid in C99
      [-Wimplicit-function-declaration]
    float result = Q_rsqrt( inputvalue );
                   ^
1 warning and 1 error generated.


Drugo:

potrazi strict aliasing rule u C standardu.
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 871
..ynamic.kabel-deutschland.de.



+148 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 13:28 - pre 61 meseci
Šta je uopšte poenta pokazivanja takvog koda? Sa stanovišta C jezika (ako uopšte prihvatimo da je ovo C), kod je je izrazito jednostavan, jedina kompleksnost je u domenu koji rješava. Bilo ko od nas može da prekopira neki segment koda usko vezan za domen iz njegovog polja i diviti se neznanju drugih, ali ne vidim šta time postižemo.

Pokazivanje ovakvih stvari početniku može da ima samo efekat zastrašivanja, jer će on misliti da se od njega očekuje da razumije tačno šta taj kod radi, što apsolutno nije tačno.

Citat:

P.S. Što se tiče koda datog u mojoj ranijoj poruci, kod radi kako treba (proverio na online C interpreteru), i u pitanju je šala, ovo gotovo niko ne bi provalio šta radi, osim ako nije čuo za taj primer.


Ok sad vidim ovu poruku i to je ono na šta sam i ciljao sa ovim odgovorom. Neko ko nema iskustva ovakvu šalu može shvatiti ozbiljno.

 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
109.72.51.23



+1064 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 13:31 - pre 61 meseci
Pocetnik treba da zna da su ovakav kod pisali pocetnici, tj ljudi koji ne poznaju dobro C jezik.
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2679



+690 Profil

icon Re: C programiranje kako znati da li imam dovoljno iskustva za posao?02.03.2019. u 17:39 - pre 61 meseci
Znam profesora koji u malom prstu ima sve standarde iz oblasti IT-a, ima u malo prstu sve standarde vezane za projektovanje informacionih sistema i ko zna šta sve, a u životu nije napisao liniju koda niti je projektovao neki informacioni sistem.

Ako se sve radi po standardu, neke stvari nikada ne bi bile napravljene, što ne znači da standarde treba uvek zaobilaziti, već samo u nekim slučajevima.

Ni ja nisam razumeo šta kod radi, jer se radi o matematičkom algoritmu, ali je dati kod primer relativno jednostavnog koda koji običnom programeru nije razumljiv, a cilj je bio da se malo našalimo, ne da ja ispadnem pametniji od nekog drugog.


Može se navesti i primer koda koji računa neku funkciju koristeći Tejlorov ili Maklorenov red, opet većina neće ukapirati šta tačno taj kod radi (u smislu šta izračunava).

_________________________________


Nego da se vratimo pitanju.

Par firmi u kojima znam neke zaposlene, rade po agilnim metodama, uglavnom Scrum - jedan sprint je 2 ili 4 sedmice, definiše se šta treba uraditi za taj jedan sprint i podele se poslovi. To šta će se uraditi odlučuje se na osnovu prioriteta koje je zadao klijent, a specifična težina pojedinih taskova se određuje posebnim metodama (Fibonačijev niz ili neki drugi način).
Naravno, za sve se koristi odgovarajući softver (u jednoj od tih firmi koriste Jira alat za task management), Scrum master redovno prati aktivnosti ostalih članova tima, svako jutro je kratak sastanak, sedmično je duži sastanak po 1-2 sata, itd.
Kod nekih projekata i klijent (tj. zastupnik ili predstavnik klijenta) prati razvoj koda i aktivnosti svako člana tima, a u nekim slučajevima i sam klijent radi testiranje koda (u principu, samo izvršava testove na svom serveru).


Ako neko radi u manjem timu 5-7 osoba, neka iznese konkretnija iskustva.
Pretpostavljam da autora teme zanima kako se to tačno određuje ko šta radi, u smislu npr. kako kod OOP jezika znaju kako će koja klasa da se zove, kako se dogovore oko naziva metoda i sl.

Ja znam za neke jednostavnije primere (u strukturnom smislu), npr. kod troslojne arhitekture svaki član tima radi po jedan sloj, tako da tu
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C programiranje kako znati da li imam dovoljno iskustva za posao?

Strane: 1 2 3

[ Pregleda: 9366 | Odgovora: 50 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.