Programování

Jak vypadá moderní vývojová organizace

Pracuji pro startup v San Francisku. To, co používáme v Silicon Valley, nemusí nutně znamenat celé odvětví. Takže jsem neformálně požádal několik přátel distribuovaných po celém odvětví, jaké nástroje používají, aby zjistili, jaké nástroje používá moderní (ale ne Silicon Valley) vývojová organizace.

Pokud se nacházíte na farmě v šedé budce - nebo v horším případě na farmě v béžové budce - nemusíte být na krvácející, vedoucí nebo dokonce nudné, ale nedůvěryhodné technologii, takže se váš počet kilometrů může lišit. Pokud se zeptáte společnosti Microsoft, „co bychom si měli koupit?“ pak se váš počet kilometrů může lišit, ale i Microsoft si uvědomuje, že Git je králem a náš svět je čím dál rozmanitější, takže je obtížnější se vám plně věnovat vývojový nástroj každého dodavatele. Pokud jde o vývojové nástroje, dnes je to svět polyglotů.

Pokud se snažíte zjistit, kde jste ve vztahu k ostatním, tento článek vám to ukáže. Pokud chcete založit nový obchod a zajímat se: „Co dělají všichni ostatní a kam bychom měli jít?“ pak vám to také ukáže.

Je jasné, že moderní rozvojové organizace - i ty, které si mohou myslet, že jsou trochu staré školy - nevypadají jako ty před několika lety. V blízké budoucnosti budeme mít velmi místo pro učení kontejnerů / strojů a možná budeme mít i chatops. Koneckonců, scrumy a devopy byly vesmírné mimozemské koncepty ne tak dávno.

Co je běžné v moderních rozvojových organizacích

Následující věci jsou běžné u většiny lidí, se kterými jsem mluvil. Představují nea aspirační stav vývoje softwaru.

E-mail je mrtvý, Slack je král

Vážně, nic nedosáhlo širokého přijetí tak rychle jako Slack. Jistě, některá místa používají HipChat nebo jiné věci podobné Slacku, ale Slack dnes funguje v organizacích. Jsou chatrní a chat je nyní prohledávatelný.

PCM a CVS jsou mrtvé; všichni pozdravují Git a GitHub

Během dne byly kontroly kódu těžké a zámky byly pesimistické. Pracoval jsem na globálních projektech, kde kontrola přes transatlantický kabel trvala věčně. A nemluvme o pokladnách.

Nyní je distribuována kontrola revizí a Git - i když je mnohem obtížnější jej používat než minulé nástroje - byl takovým krokem vpřed, že Git dosáhl úplné dominance. \

Každý má Mac

Jsem zdráhavý uživatel Mac. Kdyby to bylo na mně, používal bych Ubuntu Linux na lepším hardwaru. Můj počítač, za který společnost platí, je však Mac. A nejsem sám. MacOS je rychlejší, i když nafouklejší a těžkopádnější než Windows, a mám všechny své známé nástroje, jako je SSH, ale stále mi chybí Linux.

Jira je stále náš nafouklý král

Jira možná stárne a mohou existovat alternativy jako BaseCamp a open source Open Project. Ale síla Jiry spočívá v tom, že pokud jste na tom, neodcházíte. Už to znáte. Má tržiště pro rozšířenou funkčnost. Zapojuje se do většiny věcí a většina ostatních to podporuje.

Jenkins nám stále slouží

Existují povýšenci jako Travis-CI a také rans jako Jira-tvůrce Atlassian's Bamboo, ale nakonec je Jenkins stále nahoře s průběžnou integrací a nasazením do našeho testovacího prostředí.

AWS je tam, kde je

Amazon Web Services není nejdostupnější cloudová platforma. Není to nejjednodušší použití. Ale je to určitě nejvíce plně vybavený a je to to, co většina lidí zná. Setkal jsem se s lidmi pomocí Google Compute Engine nebo Microsoft Azure. Sám jsem je použil pro projekty, ale ve výchozím nastavení je platforma, kterou lidé používají, AWS.

Interní platformou je stále VMware

Pro vývojáře stojící za podnikovou bránou firewall, kde je cloud jen snem, stále pracují na VMware a dělají věci způsobem VMware. Zřizování je stále čekání a výkon SAN je stále nepředvídatelný.

Agilní vývoj je většinou skrumáž

Každý dělá něco jako skrumáže, ale ne scrumy přesně a málokdo je oprávněně přesvědčen, že dělá agilní právo nebo že jeho „agilní“ je skutečně agilní - a nikoli „agilita nákladního kultu“ nebo chaos pod jiným jménem.

Disciplína, projektový management a produktový management jsou stále poddimenzované, nedostatečně kompenzované a nedoceněné.

Co je trendy napříč moderními vývojovými organizacemi

Existuje mnoho špičkových postupů, o kterých mluvíme - devops, Docker Containers, Kubernetes Container, Windows Containers, Cloud Development Platform (PaaS), Omnidevice Development, Machine Learning, New Languages ​​like Kotlin and Google Go, and so on - that haven „Dosud nebylo dosaženo celosvětového přijetí.

Kontejnery

Ať už je to Docker nebo jeho možný dědic zjevný Kubernetes, ne každý používá kontejnery.

Zaprvé, pokud jste stále hodně zatíženi, je potřeba jej spustit na AWS. Vaše nákladová výhoda nastane, pouze pokud můžete skutečně sdílet zdroje.

Zadruhé, díky použití kontejnerů je váš software udržovatelnější, ale také je proces sestavování a nasazení pomalejší a komplikovanější.

Strojové učení

Nejtěžší je zjistit, kde můžete použít strojové učení (podmnožina umělé inteligence), a sloučit data do formátu, který vám umožní používat strojové učení.

Někteří lidé ji používají pod kryty v produktech, které kupují, ale nemají odborné znalosti z oblasti datové vědy, aby dokázali svou užitečnost. Také nedostatek odborných znalostí na trhu způsobil, že přijetí strojového učení bylo tlumenější, než by naznačoval humbuk.

Chatops

Lidé se o chatops zajímají, ale zatím to nedělá nikdo, s kým jsem mluvil.

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