Jump to content

Kas apgūstams, lai tiktu pie kādas haltūras .NET vidē?


askepott
 Share

Recommended Posts

Pēc nu jau 5+ nostrādātiem gadiem IT support'ā un nelielas IT izstrādes projektu vadības (asistēšanas) pieredzes radās sapratne, ka gribētos pārkvalificēties uz back-end izstrādi. Sāku knibināties ar Python online vietnēs, uztaisīju primitīvu pong spēļuku Javascript, izgāju web izstrādes kursus (Python priekš back-end) un iepatikās tieši C#, ar ko ņemos privātām vajadzībām nu jau pusgadu.

 

Būtu feini, ja nozares spečuki varētu dot kādu padomu par to, kādas tehnoloģijas ir "a must", lai kāds uzņēmējs vispār apsvērtu entry-level vakancei vai gabaldarbam. Ir izpratne par OOB principiem, agile (scrum), biznesa analīzi/prasību izstrādi, UML, MVC/MVVM (MVC ar Winforms, MVVM ar UWP), testēšanu, Git.

 

Mācos pašrocīgi ārpus pilna laika darba, esmu pieteicies šur tur junior pozīcijās (gatavs strādāt par krietni mazāku ciparu nekā līdz šim, lai tik iegūtu pieredzi), bet bez rezultātiem - visur gaida vismaz gada vai divu pieredzi nozarē.

 

Paldies iepriekš!

Link to comment
Share on other sites

Anonīms Alkoholiķis

Tad jau accenture vasaras/ziemas palīgskola, pēc kuras uzreiz piedāvā darbu fabrikā pie konvejiera.

Link to comment
Share on other sites

Pamati jau zināmi, tā kā neredzu jēgu tos vēlreiz mācīties. Pie tam, Accenture pārsvarā strādā ar Java (esmu bijis pie viņiem uz interviju), tā kā gan jau to pašu bootcamp māca. Esmu bijis arī Ctco, bet nu tur pilns ar ukraiņiem un baltkrieviem, tāpēc apmācības un darbs krievu mēlē par spīti tam, ka oficiālā uzņēmuma valoda ingliš.

Link to comment
Share on other sites

Back-endā C#, PHP un Java vēl arvien ir pamata valodas.  Tajos projektos, ar ko es esmu saskāries 10 gadu laikā, C# un Java vairāk izmantoja lielās enterprise līmeņa sistēmās. Java vairāk bija esošu pavecu sistēmu uzturēšanā un C# bija jaunu projektu uzsākšanā, bet nu tas ir loģiski - C# tomēr ir jaunāka valoda.

 

PHP (komplektā ar daudzām bezmaksas open source bibliotēkām vai Wordpress / Joomla / Drupal) vairāk izvēlas dažādi start-upi un nelieli uzņēmumi. Šur tur ienāk arī Python, Ruby un Scala, kaut gan es personīgi kaut kā negribētu uzsākt jaunu projektu šajās valodās. Tās prasa pamatīgu pierašanu un dažos gadījumos arī "akadēmiski abstraktu domāšanu" un nav ērtas cilvēkiem, kas ikdienā spiesti mētāties starp vairākām C-līdzīgām valodām.

 

Man personīgi arī patīk C#, jo kā jauna valoda tas ir daudz mācījies no priekšgājēju kļūdām un daudz kas ir jau no sākuma izveidots ērti, bez dažādiem zemūdens akmeņiem un atpakaļsavietojamības kruķiem. Taču dzīve piespiež mētāties arī uz PHP vai reizēm pat uzrakstīt Objective-C / C++ hibrīdkodu, lai sajūdz iPhone ar kādu eksotisku ārēju ierīci caur Bluetooth LE. Tas projekts man likās tiešām interesants (ārpus ierastās "uzskaites sistēmu uzskaites sistēma" rutīnas), kaut gan piņķerīgs, daudz multithreading un socketu apstrādes un BLE dokumentācijas studēšanas (plus Aple mīlēja šo to salauzt starp iOS versijām, jo BLE vēl arvien attīstās), taču veidoju visu pats no nulles saviem spēkiem un tāpēc biju mazliet lepns par rezultātu, jo viss darbojās stabili. Tādi eksotiski projekti gan gadās reti, tāpēc diemžēl secināju, ka smadzenes sāk mazliet atrofēties. Protams, attīstās domāšana plašumā, taču zūd izpratnes dziļums par kādu konkrētu tehnoloģiju, jo tam vienkārši ir par maz laika.

 

Par to, kā dabūt haltūras - zinu dažus, kas atzinīgi izsakās par freelance portāliem, bet pats neesmu mēģinājis. Es darbu dabūju pēc mācību prakses augstskolā, bet ne Rīgā. Firma mums neliela, bet esam tādi diezgan saliedēti lokālpatrioti un turamies kopā un pamazām augam, kaut gan savu veiksmīgu produktu vēl arvien tā īsti nav, un tā daudziem ir galvenā sāpe - nepatīkami strādāt outsource vai priekš klientiem, kas nāk un iet; gribas kaut ko, kas būtu pilnā mērā pašu izveidots, izsāpēts un uzturēts veiksmīgs produkts. Var jau būt, kaut kad izspiedīsim, vai arī aiziešu pensijā nesagaidījis :D  Bet darba vietu pagaidām mainīt negribu dažādu iemeslu dēļ (neciešu lielas pilsētas, patīk strādāt no mājām, ir specifiskas veselības problēmas utt.).

  • Patīk 2
Link to comment
Share on other sites

Pirms 55 minūtēm , midix teica:

Šur tur ienāk arī Python, Ruby un Scala, kaut gan es personīgi kaut kā negribētu uzsākt jaunu projektu šajās valodās. Tās prasa pamatīgu pierašanu un dažos gadījumos arī "akadēmiski abstraktu domāšanu" un nav ērtas cilvēkiem, kas ikdienā spiesti mētāties starp vairākām C-līdzīgām valodām. 

Par Ruby un Scala nemācēšu teikt, bet Python ir pat ļoti ērta - jo īpaši tiem, kas mētājas starp C-veidīgajām valodām, jo ar to C-veidīgo valodu jau nekas nebeidzas. Visādiem sīkiem cross-platform rīkiem Python kā reiz var būt pareizais risinājums, un kārtīgos C-veidīgās valodās rakstītos projektos to rīku netrūkst.

Link to comment
Share on other sites

Es priekš cross-platform rīkiem vairāk izmantoju nodejs - tas tomēr ir "C"-īgāks nekā Pitons :D  

 

Vēl ar back-end saistīta interesanta tēma ir procesu automatizācija (continuous integration, continuous deployment). Viena ilgstoša mūsu web projekta vajadzībām ar nodejs uzcepu automatizētos Laravel websaitu "kompilēšanas" un publicēšanas skriptus, ko ielādējām TeamCity. Varēja jau Jenkins, bet TeamCity tai brīdī šķita vieglāk salikt kopā visu vajadzīgo. Tomēr veidoju skriptus tā, lai nekas nebūtu specifisks TeamCity un lai varētu vienkārši pārcelt uz Jenkins, ja gadījumā projekts izplestos ārpus TeamCity bezmaksas licences limitiem.

 

Rezultātā dabūjām automatizētu procesu, kas ar vienu klikšķi (vai regulāri pēc pulksteņa) savāc kodu no Git repozitorija, pievieno mērķa videi specifiskus konfigurācijas failus (glabājas atsevišķā Git repozitorijā, pie kura tiek tikai izredzētie, lai nevajadzētu lieki mētāt apkārt DB piekļuves datus utml.), sakompilē SCSS -> CSS un JS failus, tad to visu sazipo un ielādē serverī (vai arī iestumj pa Git uz servera, kas atbalsta Git deployment) un pēc izpakošanas serverī izsauc HTTP uz paša servera, lai pabeigtu Laravel specifiskus pēcinstalācijas darbus (palaiž DB migrācijas, atjaunina konfigurācijas kešu). Process darbojās gan Azure (kādu laiku kā startups izmantojām BizSpark programmu saviem projektiem), gan pašu serveros trīs vidēs - dev, test, production. Rezultātā ietaupās apmēram pusstunda manuāla cilvēku darba (skripti nostrādā apmēram 5 - 10 minūtēs) un samazinās cilvēku riska faktors (ka nejauši publicēs nepareizu būvējuma versiju nepareizā vidē).

 

Protams, lai to visu saregulētu, vajadzēja kādu nedēļu darba, kuram neviens sākumā neredzēja augļus. Back-end vispār ir mazliet nepateicīgs šajā ziņā. Dizaineri un frontendisti var labi parādīt savu lietderību, demonstrējot prototipus, formas utt., bet back-endistam ir pagrūti attaisnot sava darba lietderīgumu ar arhitektūras un procesu diagrammām - nākas vienmēr paļauties uz to, ka kolēģi, kas izmanto back-enda saražoto, aizliks kādu labu vārdu pie priekšniecības.

Link to comment
Share on other sites

pirms 6 stundām , midix teica:

procesu automatizācija (continuous integration, continuous deployment). (..) Varēja jau Jenkins, (..)

Savulaik ~5 gadus sanāca tā nopietnāk pastrādāt ar Jenkins. Jobu skaits mērāms vismaz simtos.

Kad pienāca laiks tā pa īstam automatizēt šo to, tad nolēmām to darbu tomēr neuzticēt Jenkinsam - pārāk jau nu nestabila tā sistēma. Bet nu vienkāršiem, nekritiskiem "internal" uzdevumiem ir ļoti OK.

Link to comment
Share on other sites

Tad jau labi, ka izvēlējos TeamCity. Tam arī bija daži sīkumi (bija jāmaina noklusētie Java atmiņas izdalīšanas parametri), taču par to pats TeamCity brīdināja savā admin lapā, un pēc iestatījumu saregulēšanas viss darbojās kā pulkstenis. Es gan nepamēģināju visas iespējamās funkcijas, jo daudz kur iebūvēto funkciju vietā izmantoju savus skriptus un būvēšanas soļi reducējās uz vienkāršu shell skriptu izpildi. Viena funkcija, kā nedaudz pietrūka - paroles ievadīšana pirms publicēt produkcijas vidē (vairāk nevis drošībai, bet mentālai bremzei, lai cilvēks nejauši tomēr nesajauktu ar citām vidēm), taču arī tam izdevās atrast apkārtceļu ar iebūvētu parametra dialogu.

 

2018.12.12. , 12:24, askepott teica:

visur gaida vismaz gada vai divu pieredzi nozarē.

 

Mjā, kā jau daudzās profesijās. Vienīgi caur mācību praksēm ir cerība kaut kur ielīst.

 

Varbūt tiešām ir vērts apsvērt kaut kādu mācību iestādes variantu, kas piedāvā mācīties pa vakariem un kam ir labi sakari ar prakses vietām? Kopumā pieprasījums pēc programmētājiem ir diezgan liels, man no linkedin nāk mēnesī vairāki piedāvājumi no "darbinieku medniekiem", bet, protams, visi meklē pieredzējušus. Ir gan redzēti viedokļi, ka IT nozare esot tāds burbulis, kur cenas un algas ir pamatīgi uzpūtušās un tāpēc ir risks, ka reiz tas burbulis plīsīs. Var jau būt, ka indieši ar savu aktīvo iespiešanos visās vietās tiešām pamazām nodzīs visu uz leju...   Lai kā mēs reizēm mīlam kritizēt indiešu programmētājus par slikto kvalitāti, tomēr esmu saskāries ar daudziem ļoti labiem un izciliem programmētājiem, un arī esmu pamanījis, ka meklējot informāciju par problēmām, aizvien biežāk atbilžu un blogu autori ir indieši. Un, protams, vēl fakts, ka Satya Nadella izglāba Microsoftu no ilgstošās rūsēšanas :) 

Labots - midix
Link to comment
Share on other sites

Citēt

Varbūt tiešām ir vērts apsvērt kaut kādu mācību iestādes variantu

 

Tas jau tika darīts. Tūlīt došos mājup no Dānijas koledžas, kur datorzinātnes programmu vada divi pirmās paaudzes imigranti - pakistānis un marokānis. Ja marokāni vēl var saprast (pirmajā kursā māca 'software design'), tad pakistāņa angļu valodas prasme ir neciešama un programmēšanas zināšanas.. well, grūti saprast kā viņš strādājis nozarē, ja nespēj vienkāršiem vārdiem izskaidrot elementāras lietas. Katrā ziņā esmu brīvajā laikā ārpus skolas iemācījies gana, bet skola atstāja visai negatīvu iespaidu (nomācījos 1 semestri).

 

Šķiet, ka ticamākais variants man tomēr būs turpināt darboties esošo prasmju robežās un konkrētās darbavietās mēģināt izmantot savas C# prasmes atsevišķiem risinājumiem.

 

 

Link to comment
Share on other sites

Viss taču ir tik vienkārši atrodams. 

Javā ir arī jaunie projekti, lielām firmām, kuras ilgi lietojušas Java. 

Scala, nu tur pārsvarā tas pats, kas ar Clojure. Labi pelnošie pieredzējušie programmētāji Scala, Clojure ir bijušie Java senior līmeņa devi. Tāpat kā ar Elixir labi pelna bijušie Erlang devi, nevis tie, kas mācījušies tikai eliksīru. 

Ekosistēmas izpratne un pieredze tajā ir tas, par ko maksā, nevis tikai konkrētas valodas sintakses zināšana no galvas. 

 

 

 

Pirms 9 minūtēm , askepott teica:

 

Šķiet, ka ticamākais variants man tomēr būs turpināt darboties esošo prasmju robežās un konkrētās darbavietās mēģināt izmantot savas C# prasmes atsevišķiem risinājumiem.

 

 

Tā projektu vadība, ja tajā ir algota darba pieredze kā asistentam, ir reālākais variants. 

C#, pats zini, ka vai nu gamedev diezgan šaurā nišā vai  jātaisa webi un DB ar MS tehnoloğijām. Pārsvarā tad lieto Azure, MS datubāzes, C# un microsoftīgās web tehnoloğijas, aka ASP.NET garā. 

Javistu projektos Oracle datubāzes.AWS. 

Labots - rnxx
  • Patīk 1
Link to comment
Share on other sites

Par visu LV nemāku teikt, projekti, kurus taisa vai uztur LV kantori  pārsvarā priekš ārzemju firmām.

Vasarā bija diezgan dzīvas junior vakances dažās firmās, cik nu paša  redzēts,viens diezgan neliels, bet maksātspējīgs klients uzstāja uz tā izmantošanu jaunā  projektā, otriem vienkārši inerces dēļ vēlme turpināt. Azure gan vairāk firmačiem iepatikusies. 

Parasti ļoti lieli uzņēmumi vairāk sēž uz Javas, palielie uz MS risinājumiem un tādā pat garā pasūta ko jaunu klāt. 

Galvenais sadalījums ir šāds; Java ( Clojure, Scala ) ar orākuļa db  vai MS risinājumi, tad tur iet viss, kas parasti komplektā ar to, vai nelielākiem tad php, Ruby,  reti eliksīrs. 

Skandināvijas, vācijas vidējie uzņēmumi, kas jau izmantoja MS, parasti turpina.  Jauno uzņēmumu vidū maz populārs. 

 

Labots - rnxx
  • Patīk 1
Link to comment
Share on other sites

Jā, outsourcingā mums .NET vēl arvien bieži ir pieprasīts vidējos un lielos nopietnos projektos, un arī valsts pasūtījumos bieži figurē .NET.

Mums ir arī neliela gamedev komanda, kas izmanto Unity 3D ar C#, un esam jau Steamā palaiduši divas spēles. Nekas sarežģīts, 2D grafika, bet tomēr komanda raujas nopietni un ar entuziasmu.

 

Par skolām - tā jau ir, ka grūti atrast solīdu skolu, kurā tiešām iemāca programmēšanu un vispār ekosistēmu līdz tādam līmenim, lai varētu strādāt. No manas pieredzes, skolas lielākais ieguvums ir nevis zināšanas, bet tikai kaut kādu pamata konceptu apgūšana, lai pēc tam pats zinātu, pēc kādiem atslēgvārdiem meklēt informāciju pašmācībai par apakštēmu, kas īpaši interesē. Un, protams, skolā var nodibināt lietderīgus kontaktus (vairāk gan tad, ja studē pilna laika režīmā) un atrast mācību praksi. Ar augstskolu mums viens pasniedzējs vispār atklāti teica: "Augstskola nav domāta, lai mācītu programmēšanu - tam ir paredzētas zemāka līmeņa skolas. Augstskolā māca projektu vadītājus." Un dzīve pierādīja, ka tā tas arī notiek - bija tik liels uzsvars uz abstraktām un akadēmiskām zināšanām, ka daudzi studenti bija diezgan vīlušies un beigās tā arī nekļuva par programmētājiem.

 

 

Link to comment
Share on other sites

pirms 2 stundām , midix teica:

 

Mums ir arī neliela gamedev komanda, kas izmanto Unity 3D ar C#, un esam jau Steamā palaiduši divas spēles. 

Kā iet ar spēlītēm, daudzi interesējas? 

Link to comment
Share on other sites

  • 1 month later...
2018.12.21. , 02:01, rnxx teica:

Kā iet ar spēlītēm, daudzi interesējas? 

 

Neteiktu, ka ir pārāk ienesīgs pasākums (ja vien neatrod lielas sākotnējās investīcijas), taču vismaz jaunos kolēģus gan izdodas ieinteresēt. Ja jau sākotnēji nosprauž reālistiskus mērķus atbilstoši iespējām (nekāds "krutais 3D MMORPG" :D ) , tad var arī kaut ko sasniegt, vismaz motivācijas uzlabošanai.

 

Bezkaunīgi palielīšos, šis ir viens no manu kolēģu ražojumiem:

http://www.fold.lv/2018/01/latvijas-labaka-datorspele-rezrog/

Labots - midix
Link to comment
Share on other sites

Jenkins nav nekāda vaina.  Mēs pārgājām no TeamCity uz Jenkins.

 

Vai iekš LV arī kodē Clojurē?  

Labots - MarisO
Link to comment
Share on other sites

Pirms 42 minūtēm , MarisO teica:

Jenkins nav nekāda vaina.  Mēs pārgājām no TeamCity uz Jenkins.

 

Vai iekš LV arī kodē Clojurē?  

evolution jā :)

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...