it-swarm-eu.dev

Jak důležité jsou znalosti domény vs. technické znalosti?

Pracuji na aplikaci pro obchodování a řízení rizik a přestože jsem z prostředí C # požádán, abych pracoval na balíčcích SSIS. Teď s tím můžu žít. Bolestí je, že je příliš velký důraz na obchodní porozumění. Obchodování (přesněji řečeno obchodování s energií) je OBROVSKÁ oblast a pochopení každého malého množství je ohromující. Ale za poslední dva měsíce jsem pracoval na porozumění obchodním podmínkám - Mark To Market, Metrics Risk, Pozice, PnL, Řekové, Instruments, Book Structure ... každý malý detail (dostanete bod). Nyní IMHO, toto je práce BA. Určitě je pro vývojáře velmi důležité porozumět podnikání, ale kde nakreslíte čáru?

Když jsem o tom hovořil se svým manažerem, málem se mi vysmíval tím, že řekl, že se někdo může naučit technologii za týden. Je to podnikání, které je těžší. Moje dlouhodobá snaha je zůstat na technické straně, pravděpodobně se stát architektem (pokud je to možné). Kdybych se chtěl tolik soustředit na podnikání, sledoval bych MBA!

Chci vědět, jestli se mýlím nebo příliš naivní, abych pochopil obchodní význam, nebo je moje frustrace opodstatněná?

33
Mayank

Úkolem programátora je převést požadavky přirozeného jazyka do implementací strojového jazyka. Nemůžete to udělat efektivně, pokud jste plynule na jedné nebo druhé straně. Pokud nepíšete kompilátory nebo software pro správu verzí, bude téměř každá programovací úloha vyžadovat značné množství znalostí bez programování.

33
Karl Bielefeldt

Benjol a váš manažer mají pravdu, ale dovolte mi to propracovat:

učení obchodní domény je to, jak jste přidejte hodnotu proces a zvyšte svou hodnotu pro firm

to je rozdíl mezi a kód opice programátor a vývojář

24
Steven A. Lowe

Říká se, že přišlo z oddělení informatiky na mé univerzitě:

Pokud chcete vytvořit software pro geology, musíte nejprve porozumět geologii. Pokud chcete stavět software pro fyziky, musíte se nejprve věnovat fyzice. Pokud chcete porozumět podnikání, musíte se nejprve naučit mluvit o podnikání.

Pořád sem slyším lidi říkat, že Software Development je kreativní pole. Věřím, že je to do jisté míry pravda. To zahrnuje kreativitu v tom, že člověk musí být schopen vidět mimo krabici, aby mohl vyřešit řadu problémů.

Co to neznamená, je, že si můžete jen sednout a tak kreativně budovat, co chcete. Toto není třída umění, je to inženýrství a vaši zákazníci a zúčastněné strany očekávají, že vytvoříte něco, co řeší jejich problémy, ne něco, co je prostě "cool".

Abyste mohli problém vyřešit, musíte jej nejprve pochopit. Musíte se dostat do hlav svých uživatelů a pochopit, jak si myslí.

Ať už stavíte software pro finance, marketing, prodej, geologii, fyziku nebo cokoli, co software podporuje, musíte se stát součástí tohoto oboru.

Právě z tohoto důvodu jsem kromě svého studia informatiky získal i titul Business. má obrovský dopad na mou schopnost komunikovat potenciální řešení a dodávat úspěšné produkty.

Pokud se chcete dozvědět více o tom, co bych hledal při najímání obchodního softwarového inženýra, podívejte se na tento Business Engineer Job Advertising Sample , který jsem napsal jako odpověď na jinou otázku.

18
jmort253

Můžete přežít bez znalosti domény nebo kontaktu se zákazníkem jako kodér nízké úrovně, ale softwarový architekt je někdo, kdo je s doménou dobře obeznámen a aktivně komunikuje se všemi zúčastněnými stranami.

14
vegai

Podle mého názoru se mýlíte a jste příliš naivní.

Jak řekl váš manažer (mírně svižně), každý se může naučit technologii za týden. Jedinou věcí, která vás označí a učiní pro vaši společnost užitečnou, jsou vaše obchodní znalosti. A čím je to těžší, tím více budete mít cenu.

Je zřejmé, že pokud zjistíte, že tento konkrétní podnik je necitlivě nudný, můžete hledat něco jiného. Ale pokud vaše představa o ráji hackuje dohromady malé weby php, mějte se na paměti: budou to také tisíce dětí ze skriptů, kteří to také dělají.

Vážně: „Já jsem jen kodér, nezaměňujte mě s fakty“ to prostě nezkrojí.

11
Benjol

Pracuji také v obchodě s energií. Business Knowledge je 90% práce. Nemůžete to obejít - je to složitá záležitost.

Pokud alespoň nerozumíte základům obchodování a trhům, ve kterých pracujete, budete bojovat bez ohledu na to, jak dobrý kodér jste.

Pracuji s některými BA, kteří prostě nedokážou splnit požadavky. Abych svou práci dokončil, musím se spolehnout na své vlastní analytické schopnosti a porozumění obchodním znalostem.

Myslím, že pokud pracujete pro obchod, který prodává software pro obchodování s energií, vaše zkušenosti se mohou lišit - ale v oblasti obchodování s energií z IT se důraz soustředí především na pochopení trhu a na to, jak software může nejprve nabídnout řešení problémů podniku.

Skutečně použité technologie a implementace přichází vzdálenou sekundu.

Ten chlap, který napsal komentář v Excelu, neví, jak výstižný je jeho komentář. Obchodníci často vytvářejí své vlastní malé obchodní aplikace v Excelu/VBA (to je vše, co znají) a IT nakonec tyto dědictví programů zdědí.

Rád bych přestavěl některé z těchto aplikací ve „správném“ jazyce, ale to prostě není vždy priorita.

8
asgeo1

Pokud se vyvíjíte pro podnikání, nakonec budete mít jasnější a podrobnější představu o obchodních pravidlech, než kdokoli jiný ve společnosti. Není to nutně proto, že jste chytřejší než všichni, protože to je jediný způsob, jak můžete dělat svou práci.

Vaše reakce může znít: „Co ale obchodní analytici dělají?“

Obchodní analytici sedí na dlouhých setkáních se zákazníky, kteří se snaží získat z nich požadavky, které jsou dostatečně jasné, aby s nimi vývojář mohl pracovat. Dívám se na způsob, jakým musí jednat se zákazníky, a cítím vděčný, že to nemusím dělat.

6
Andrew Shepherd

Rád kreslím analogie mezi vývojem softwaru a architekturou. Oba jsou užité umění. Oba vyžadují složité modelování uvnitř své mysli. Aspekt, který se vztahuje na tuto otázku, spočívá v tom, že psaní softwaru bez znalosti podnikání je jako navrhování budovy bez pochopení životního stylu a potřeb obyvatel. Myslím, že mnozí z nás viděli (nebo dokonce žili/pracovali) budovy, které mohou vypadat krásně a moderně a co z venku, prostě nejsou použitelné zevnitř. (V nejhorším případě to nejsou ani Nice: ()

Aktualizace

Komentář Gaurav:

zajímá mě, do jaké míry by se vývojář měl snažit porozumět obchodní doméně. Měl by jít celou cestu, nebo je třeba nakreslit nějakou čáru.

Nemyslím si, že můžete nakreslit čáru kdekoli obecně. Pokud neexistují části aplikace/domény, nemusíte se nikdy dotýkat (tedy rozumět). Což je IMHO v reálném životě velmi vzácné z dlouhodobého hlediska. Jakákoli část aplikace, která je aktivně používána, obdrží hlášení o chybách a žádosti o funkce. Také se mění domény, protože se mění odpovídající právní předpisy, daňová pravidla, politiky, zvyky - zkrátka skutečný svět. To je třeba dodržovat i v softwaru.

Ale i bez externích požadavků na změny vyžaduje testování jednotek a refactoring starší kód pochopení i příslušných oblastí domény. Jinak jednoduše „zmrazíte“ aktuální chování aplikace, aniž byste věděli, zda je skutečně správná.

Update2

co když [...] vývojář často změní obchodní doménu, na které pracuje?

To samozřejmě znamená, že velká část investice (vašeho času a peněz zaměstnavatele) na získání obchodních znalostí je ztracena :-( Pokud víte, že se to stane, samozřejmě nemusí být za to kopat příliš hluboko do konkrétní doména. Upozorňujeme však, že domény se --- (úplně neliší, existují základní principy, které lze znovu použít mezi různými doménami. A co je nejdůležitější, designem řízeným doménou přístup získáte znovu použitelný.

6
Péter Török

V bankovním sektoru pracuji více než deset let na vývoji obchodních aplikací a souhlasím s tím, že je důležité, aby vývojáři dobře rozuměli podnikání. Ale znovu a znovu, během pohovorových procesů, pokud osoba nemá dobré znalosti o podnikání, nedostanou se skrz dveře.

To vedlo k tomu, že tito lidé vyvinuli značné množství kritických aplikací a systémů se silnými obchodními znalostmi, ale slabými až středními technickými dovednostmi. Tyto systémy jsou vždy koncipovány špatně, které neustále padají, prolétají s chybami, neměřují se, téměř nemožné je opravit bez porušení, a to je v případě, že se projekt nakonec nezruší kvůli nedostatečné technické dovednosti, aby ho skutečně získal. do výroby.

2
Martin Cooper