Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zostać zawodowym programistą php
Forum PHP.pl > Inne > Hydepark
kata997
Witam. Zastanawiam się w jaki sposób przejść z programowania " amatorskiego" na zawodowe i powoli zacząć zarabiać pieniądze za coś w czym jestem najlepszy( szkoła nie skończona jeszcze 3 semestry technikum) póki co w klasie jestem najlepszy, wybieram się na praktyki( do betasoft). ryzykuję pewnie dość dużą gotówkę bo mam prawie 200 KM do Chorzowa. Ale mniejsza z tym. Jak przekonać się na jakim poziomie programowania jestem, czego bym się musiał nauczyć, co potrenować. Głównie umiem php+ c++ w konsoli( c++ w szkole wałkujemy więc tego też się uczę)
usb2.0
Cytat
puki
no napewno nie najlepszy z polskiego biggrin.gif

a wracjac do tematu, mozna zalozyc ze robisz to zawodowo jesli pracujesz jako programista i zarabiasz za to hajs, ale chyba nie brakuje przypadkow ze na stanowiskach programistow pracuja osoby ktore niekoniecznie wiedza co robia
daj jakis kod przykladowy najlepiej to kazdy rzuci okiem,

nie zrozum mnie nie zle mam wrazenei ze do bycia "zawodowcem" - to slowo jakos totalnie mi nie pasuje - to Ci jeszcze daleko, ktory zawodowiec chcial by dowiedziec czy nim jest faktycznie ; >
kata997
brakowało mi słowa jakie użyć. Chodzi mi o to kiedy można zacząć myśleć o jakimś zarobki( z początku może być mały )

mam na kompie na którym teraz jestem kod z c++( te języki dość podobne) co chciał nauczyciel.

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <iomanip>
  5. using namespace std;
  6. int main ()
  7. {
  8. int n;
  9. cin>>n;
  10. int tab[25];
  11. for(int i=1;i<25;i++) // pętla zapisuje wartość potęgę 2 liczby i dla 25 liczb
  12. tab[i]=i*i;
  13. int wielkosc;
  14. for(int i=1;i<25;i++) // Pętla sprawdza pomiędzy którymi liczbami z poprzedniej pętli mieśi się liczba n
  15. {
  16. if(tab[i]>n)
  17. {
  18. wielkosc=i;
  19. break;
  20. }
  21. }
  22. wielkosc=wielkosc+6; // ustala w miarę dokładną szerokość i wysokość tablicy
  23. int ciag[wielkosc][wielkosc]; // deklaracja tablicy dwuwymiarowej w której zapisywane będą liczby
  24. int g=wielkosc/2; // ustalanie środka tablicy.
  25. int spr=1; // deklaracja kilku liczb sprawdzajacych stan weza.
  26. int licz=1;
  27. int a=0;
  28. int x=g;
  29. int y=g;
  30. int b=0;
  31. for(int i=0;i<wielkosc;i++) // Zerowanie tablicy
  32. {
  33. for(int j=0;j<wielkosc;j++)
  34. {
  35. ciag[i][j]=0;
  36. }
  37.  
  38.  
  39. }
  40. for(int i=1;i<n+1;i++) // pętla dopisująca liczby dodatnie
  41. {
  42.  
  43. if(spr==1) // Jeśli spr ==1 liczby są zapisywane w prawo
  44. {
  45.  
  46. x++;// przesunięcie liczby o 1 w prawo
  47. ciag[y][x]=i; // przypisanie liczby
  48. a++; // zwiększenie liczniku
  49.  
  50. if(a==licz) // sprawdzanie czy zapisano odpowiednią ilość liczb w prawo. ( "a" to jest licznik a zmienna "licz" to ilość liczb które powinny zostać zapisane w kąkretnym kierunku. Jeśli warunek nie zostanie spełniony kolejne przejście pętli dopiszę liczbe w prawo
  51. {
  52. spr++;
  53. b++; // informacja że został skonczony kierunek
  54. a=0;
  55. if(b==2) // sprwadzanie czy zmienily sie 2 razy kierunki
  56. {
  57. b=0; // zerowanie kierundkow
  58. licz=licz+2; // zwiekszanie liczby powtórzeń przejścia o 2 ( po przejściu tej lini w każdej kolejnej lini pionowej lub poziomej pojawią się 2 liczby więcej.
  59. }
  60. }
  61. }
  62. else if(spr==2) // Jeśli spr ==2 liczby są zapisywane w górę
  63. {
  64.  
  65. y--;// przesunięcie liczby o 1 w góre
  66. ciag[y][x]=i;
  67. a++;
  68. if(a==licz)
  69. {
  70. spr++;
  71. b++;
  72. a=0;
  73. if(b==2)
  74. {
  75. b=0;
  76. licz=licz+2;
  77. }
  78. }
  79. }
  80. else if(spr==3)// Jeśli spr ==3liczby są zapisywane w lewo
  81. {
  82.  
  83. x--;
  84. ciag[y][x]=i;// przesunięcie liczby o 1 w lewo
  85. a++;
  86.  
  87. if(a==licz)
  88. {
  89. spr++;
  90. b++;
  91. a=0;
  92. if(b==2)
  93. {
  94. b=0;
  95. licz=licz+2;
  96. }
  97. }
  98.  
  99. }
  100. else if(spr==4)// Jeśli spr ==4liczby są zapisywane w dół
  101. {
  102.  
  103. y++;
  104. ciag[y][x]=i;// przesunięcie liczby o 1 w dół
  105. a++;
  106.  
  107. if(a==licz)
  108. {
  109. spr=1;
  110. b++;
  111. a=0;
  112. if(b==2)
  113. {
  114. b=0;
  115. licz=licz+2;
  116. }
  117. }
  118. }
  119.  
  120.  
  121.  
  122. }
  123. spr=1; // resetowanie wszystkich liczb mających na ceu sprawdzanie aktualnego stanu weza
  124. licz=1;
  125. a=0;
  126. x=g;
  127. y=g;
  128. b=0;
  129. for(int i=1;i<n+1;i++) // Ta sama pętla tylko że dla liczb ujemnych ( spr=1 to lewo 2 to dół 3 to prawo oraz 4 to góra.)
  130. {
  131.  
  132. if(spr==1)
  133. {
  134.  
  135. x--;
  136. ciag[y][x]=0-i;
  137. a++;
  138.  
  139. if(a==licz)
  140. {
  141. spr++;
  142. b++;
  143. a=0;
  144. if(b==2)
  145. {
  146. b=0;
  147. licz=licz+2;
  148. }
  149. }
  150. }
  151. else if(spr==2)
  152. {
  153.  
  154. y++;
  155. ciag[y][x]=0-i;
  156. a++;
  157.  
  158. if(a==licz)
  159. {
  160. spr++;
  161. b++;
  162. a=0;
  163. if(b==2)
  164. {
  165. b=0;
  166. licz=licz+2;
  167. }
  168. }
  169. }
  170. else if(spr==3)
  171. {
  172.  
  173. x++;
  174. ciag[y][x]=0-i;
  175. a++;
  176.  
  177. if(a==licz)
  178. {
  179. spr++;
  180. b++;
  181. a=0;
  182. if(b==2)
  183. {
  184. b=0;
  185. licz=licz+2;
  186. }
  187. }
  188.  
  189. }
  190. else if(spr==4)
  191. {
  192.  
  193. y--;
  194. ciag[y][x]=0-i;
  195. a++;
  196.  
  197. if(a==licz)
  198. {
  199. spr=1;
  200. b++;
  201. a=0;
  202. if(b==2)
  203. {
  204. b=0;
  205. licz=licz+2;
  206. }
  207. }
  208. }
  209.  
  210.  
  211. }
  212.  
  213.  
  214.  
  215. for(int k=0;k<wielkosc;k++) // wyświetlenie liczb
  216. {
  217. for(int j=0;j<wielkosc;j++)
  218. {
  219. if(ciag[k][j]==0) // nie wyswietlanie zbednych zer.
  220. if(k==g && j==g) // watunek aby wyswietlilo sie zero tylko na środku.
  221. cout<<setw(4)<<ciag[k][j];
  222. else
  223. cout<<setw(4)<<" ";
  224. else
  225. cout<<setw(4)<<ciag[k][j];
  226. }
  227. cout<<endl;
  228. }
  229. getchar();
  230. cin.ignore();
  231. return 0;
  232. }

z php poszukam czegoś ciekawszego. może jakieś zadanie w którym bym się mógł sprawdzić ? smile.gif ?
ohm
Na dobry początek, formatowanie kodu kompletnie leży. Rzeczy typu:
Kod
int a=0;
int x=g;
int y=g;
int b=0;

możesz zapisać po prostu int a, x, y, b = 0;
Nazwy wielu zmiennych kompletnie nic nie mówią.
W logikę nie wchodziłem, ale widzę że powtarza się trochę kod, zapewne da się to mocno uprościć.
Damonsson
Może nie powinienem tego pisać, ale jest tylko jeden sposób, żeby się przekonać, czy możesz już brać pieniądze. To tak jak z tatuażystą, też do końca nie wie, czy może już brać pieniądze, za to co robi. Ten sposób, to po prostu złapać jakieś zlecenie i wziąć za to pieniążki. Zrealizować pracę i rozliczyć się ze zleceniodawcą, jeśli wszystko będzie ok, masz pieniążki i wiedzę, że możesz pomału robić to komercyjnie. Jeśli spieprzysz robotę, oddasz pieniądze, przeprosisz i będziesz się uczył dalej. Jak będziesz się już czuł na siłach, wykonasz ten projekt poprawnie i będziesz wiedział, że możesz pomału zaczynać działać.

Cytat(usb2.0 @ 4.01.2014, 22:32:29 ) *
no napewno nie najlepszy z polskiego biggrin.gif

za to Ty na pewno wink.gif

Klient dla którego masz zacząć pracować, ma w głębokiej ... , czy kod się powtarza, ma formatowanie itp. itd. to co zrobisz ma dobrze działać i ładnie wyglądać, z czasem sam się nauczysz jak pisać optymalnie, by w przypadku rozbudowy czy jakichś zastrzeżeń, nie siedzieć nad poprawkami projektu 10h i kasować za 10h, tylko tak napisać kod, żeby pracować 1h i kasować za 5h.
valkirek
No ale kto wie co umiesz i czego oczekujesz? sprawdzianu? napisz coś swojego w php (bo to forum PHP), daj do oceny to ocenią to inni. Wtedy będziesz wiedział czy jesteś amatorem czy umiesz coś więcej
JohnnyB
jak chcesz się sprawdzić, to weź udział w jakimś konkursie, jest sporo stron, np:
http://coderbyte.com/ - fajny, ma PHP
http://pl.spoj.com/ - polska wersja
http://www.topcoder.com/ - praktyczne problemy, kiedyś nawet kasę dawali

jak chcesz pracować jako programista ... to zatrudnij się i pracuj smile.gif
kata997
próbowałem ostatnio w olimpiadzie informatycznej ale 10 pkt zabrakło do awansu haha.gif
Turson
Olimpiada informatyczna pff na co to komu potrzebne? Ucz się ostro, zatrudnij się gdzieś chociaż na staż i zdobywaj doświadczenie.
Adi32
Ja robiłem tak - stawiałem sobie wyzwania, od wyrażeń regularnych po zrobienie sklepu internetowego. Kiedy nie było już wyzwania jakiemu bym nie podołał (przynajmniej nie potrafiłem takiego wymyślić) poszedłem na staż, potem mnie zatrudnili i jest smile.gif
Radziłbym jeszcze iść w stronę obiektowości.
ano
Cytat(Damonsson @ 4.01.2014, 23:40:11 ) *
Klient dla którego masz zacząć pracować, ma w głębokiej ... , czy kod się powtarza, ma formatowanie itp. itd. to co zrobisz ma dobrze działać i ładnie wyglądać


Natomiast pracodawcę bardzo to interesuje i pokazuje dojrzałość/doświadczenie programisty ;-) 100x lepiej patrzy się jak kandydat w zgłoszeniu wyśle pięknie formatowany kodzik niż bajzel.

@Damonsson - to co zrobisz ma dobrze działać i ładnie wyglądać
A co robisz jako developer? Kod - więc to on ma spełniać te dwa aspekty... :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.