Programiranje

Kako izgleda sodobna razvojna organizacija

Delam za zagon v San Franciscu. Kar uporabljamo v Silicijevi dolini, ni nujno pokazatelj celotne industrije. Zato sem neuradno prosil nekaj prijateljev, razdeljenih po industriji, katera orodja uporabljajo, da bi ugotovili, katera orodja uporablja sodobna (ne pa Silicijeva dolina) razvojna organizacija.

Seveda, če ste na kmetiji s sivimi kabinami ali, kar je še huje, na farmi bež kabin, morda niste na krvavem, vodilnem ali celo dolgočasnem, a nezanesljivem robu tehnologije, zato se lahko vaša kilometrina razlikuje. Če samo vprašate Microsoft "kaj naj kupimo?" Potem se lahko vaša kilometrina spreminja, toda tudi Microsoft se zaveda, da je Git kralj in da je naš svet vse bolj raznolik, zato se težje posveti kateremu koli orodju za razvoj posameznega prodajalca. Danes gre za poliglotski svet, ko gre za razvojna orodja.

Če poskušate videti, kje ste v odnosu do drugih, vam bo prikazan ta članek. Če želite ustanoviti novo trgovino in se sprašujete "Kaj počnejo vsi ostali in kam naj gremo?" potem vam bo to tudi pokazalo.

Jasno je, da sodobne razvojne organizacije - tudi tiste, ki bi si morda mislile, da so nekoliko stare šole - niso videti niti kot tiste izpred nekaj let. V bližnji prihodnosti bomo imeli zelo prostor za zabojnike / strojno učenje in morda celo pod pogovorom. Navsezadnje so bili skrumi in devopi pojmi vesoljskih tujcev še nedolgo nazaj.

Kaj je skupno v sodobnih razvojnih organizacijah

Naslednje stvari so pogoste med večino ljudi, s katerimi sem se pogovarjal. Predstavljajo neaspiracijsko stanje razvoja programske opreme.

E-pošta je mrtva, Slack je kralj

Resno, nič ni doseglo splošnega sprejemanja tako hitro kot Slack. Seveda ponekod uporabljajo HipChat ali druge stvari, podobne Slacku, toda v današnjem času organizacije delujejo v Slacku. Klepetajo in zdaj je v klepetu mogoče iskati.

PCM in CVS sta mrtva; vsi pozdravljeni Git in GitHub

Nekdaj so bile prijave s kodami trde, ključavnice pa pesimistične. Delal sem na globalnih projektih, pri katerih so prijave za čezatlantski kabel trajale večno. In ne govorimo o blagajnah.

Zdaj je nadzor nad revizijami porazdeljen in Git - čeprav bistveno težji za uporabo kot pretekla orodja - je bil tak korak naprej, da je Git dosegel popolno prevlado. \

Vsi imajo Mac

Sem nenaklonjen uporabnik Maca. Če bi bilo odvisno od mene, bi Ubuntu Linux uporabljal na boljši strojni opremi. Vendar pa je moj računalnik, ki ga plačuje podjetje, Mac. In nisem sam. MacOS je hitrejši, čeprav bolj napihnjen in okoren kot Windows, in imam vsa svoja znana orodja, kot je SSH, vendar vseeno pogrešam Linux.

Jira je še vedno naš napihnjen kralj

Jira se morda stara in morda obstajajo druge možnosti, kot sta BaseCamp in odprtokodni odprti projekt. Toda Jirina moč je, da če si na njem, ne odhajaš. To že poznate. Ima tržnico za razširjeno funkcionalnost. Priključi se na večino stvari, večina drugih stvari pa to podpira.

Jenkins nam še vedno postreže

Obstajajo začetniki, kot je Travis-CI in tudi rani, kot je Bambus, ki ga je ustvaril Jira Atlassian, toda na koncu je Jenkins še vedno na vrhu, ki vodi našo nenehno integracijo in uvajanje v naše testno okolje.

AWS je tam, kjer je

Spletne storitve Amazon niso najbolj dostopna oblačna platforma. Ni najlažje uporabiti. Zagotovo pa je najbolj polno predstavljen in je tisto, kar večina ljudi pozna. Spoznal sem ljudi, ki uporabljajo Google Compute Engine ali Microsoft Azure. Sama sem jih uporabljala za projekte, vendar je platforma, ki jo ljudje uporabljajo, privzeto AWS.

Notranja platforma je še vedno VMware

Za razvijalce, ki stojijo za požarnim zidom podjetja, kjer je oblak zgolj sanje, še vedno uporabljajo VMware in stvari počnejo na način VMware. Zagotavljanje še vedno čaka, zmogljivost SAN pa je še vedno nepredvidljiva.

Gibljiv razvoj je večinoma skromen

Vsakdo počne nekaj takega, kot je scrums, vendar ne točno scrums in le redki so upravičeno prepričani, da delajo okretno prav ali da je njihov "agile" res okreten - in ne bodisi "agil kulta tovora" ali kaos z drugim imenom.

Disciplina, vodenje projektov in upravljanje izdelkov so še vedno premalo usposobljeni, premalo kompenzirani in premalo nagrajeni.

Kaj je v trendu v sodobnih razvojnih organizacijah

Obstajajo številne vodilne prakse, o katerih govorimo pri —devops, kontejnerjih Docker, vsebniku Kubernetes, vsebnikih Windows, platformah za razvoj oblakov (PaaS), razvoju vsestranskih naprav, strojnem učenju, novih jezikih, kot sta Kotlin in Google Go itd., Ki so zatočišče (še ni).

Zabojniki

Ne glede na to, ali gre za Dockerja ali morebitnega dediča Kubernetesa, vsi ne uporabljajo zabojnikov.

Prvič, če ste ves čas pod obremenitvijo, ga lahko zaženete na AWS. Vaša stroškovna prednost se zgodi le, če dejansko lahko delite vire.

Drugič, uporaba vsebnikov naredi vašo programsko opremo bolj vzdržno, hkrati pa tudi postopek izdelave in uvajanja počasnejši in bolj zapleten.

Strojno učenje

Težko je ugotoviti, kje lahko uporabljate strojno učenje (podskupina umetne inteligence), in spreminjanje podatkov v obliko, ki vam omogoča uporabo strojnega učenja.

Nekateri ga uporabljajo pod platnicami izdelkov, ki jih kupujejo, vendar nimajo strokovnega znanja na področju podatkov, da bi dokazali njegovo uporabnost. Poleg tega je pomanjkanje strokovnega znanja na trgu sprejelo strojno učenje bolj utišano, kot bi nakazal hype.

Chatops

Ljudje se zanimajo za klepetalnice, vendar tega še nihče ne počne.

$config[zx-auto] not found$config[zx-overlay] not found