Kopání hrobů, SQL Server, roky outsourcingu a váš první projekt

Kopání hrobů, SQL Server, roky outsourcingu a váš první projekt

Téměř vždy si své problémy vytváříme vlastníma rukama... svým obrazem světa... svou nečinností... naší leností... svými strachy. To pak bude velmi pohodlné plout ve společenském toku kanalizačních šablon... koneckonců je to teplé a zábavné a o zbytek se nestarejte – pojďme si to přičichnout. Po těžkém neúspěchu ale přichází uvědomění si prosté pravdy – místo generování nekonečného proudu důvodů, sebelítosti a sebeospravedlňování stačí jen brát a dělat to, co pro sebe považujete za nejdůležitější. To bude výchozí bod pro vaši novou realitu.

Pro mě je to, co je napsáno níže, jen takovým východiskem. Cesta nebude blízká...

Všichni lidé jsou sociálně závislí a podvědomě všichni chceme být součástí společnosti a snažíme se získat souhlas s našimi činy zvenčí. Ale spolu se schválením budeme neustále obklopeni veřejným hodnocením, které je posilováno vnitřními komplexy a neustálými omezovači.

Často se bojíme neúspěchu, neustále odkládáme věci, které jsou pro nás důležité a pak si v hlavě logicky racionalizujeme, snažíme se ujistit sami sebe: „stejně to nevyšlo“, „tohle nenajde souhlas ostatních“ a "Jaký má smysl tohle vůbec dělat?" Mnoho lidí jednoduše neví, jak jsou silní, protože se nikdy nepokusili ve svém životě něco změnit.

Pokud totiž člověk dělá jen to, co umí, už si v hlavě automaticky vytvoří šablonu: “Tohle zvládnu... Udělám tohle...”. Ale na tom, že člověk dělá jen to, co může, není nic mimořádného. Udělal to, protože mohl, ale zároveň zůstal ve stejném rozsahu svých původních schopností, ve kterých byl celou dobu. Ale pokud jste nemohli a udělali jste to, pak jste skutečný fešák. Koneckonců, jen když opustíme svou komfortní zónu a pracujeme za hranicemi našich možností – teprve tehdy se vyvíjíme a stáváme se lepšími.

Můj první pokus dělat něco smysluplného začal ve čtvrtém ročníku na ústavu. Už jsem měl za sebou základní znalosti C++ a jeden neúspěšný pokus naučit se nazpaměť všechny Richterovy knihy na naléhavou radu potenciálního zaměstnavatele. Náhodou jsem narazil na knihovnu OpenCV a pár ukázek o rozpoznávání obrázků. Nečekaně začala noční shromáždění ve snaze zjistit, jak zlepšit funkčnost této knihovny. Mnoho věcí se nepovedlo a přes reverzní inženýrství jsem se snažil podívat na produkty podobného zaměření. Došlo to tak daleko, že jsem se naučil pitvat jednu komerční knihovnu a postupně jsem odtud vytahoval algoritmy, které jsem sám nedokázal implementovat.

Blížil se konec mého pátého ročníku a mě se začalo čím dál víc líbit, co jsem celou tu dobu dělal. Protože jsem potřeboval začít pracovat na plný úvazek, rozhodl jsem se napsat vývojářům právě komerční knihovny, ze které jsem čerpal své nápady. Zdálo se mi, že by mě mohli snadno přijmout, ale po pár dopisech o mé touze s nimi pracovat náš rozhovor nikam nevedl. Přišlo mírné zklamání a silná motivace dokázat, že sám něco dokážu.

Během měsíce jsem vytvořil web, vše nahrál na bezplatný hosting, připravil dokumentaci a začal prodávat. Na reklamu nebyly peníze, a abych nějak upoutal pozornost potenciálních klientů, začal jsem svá řemesla distribuovat pod rouškou open source. Odskok byl přibližně 70 %, ale nečekaně zbývající lidé, i když neochotně, začali nakupovat. Nikdo se nenechal zahanbit mojí pokřivenou angličtinou ani bezplatným hostingem, na kterém se stránky nacházely. Lidé byli spokojeni s kombinací nízké ceny a základní funkčnosti, která pokryla jejich základní potřeby.

Objevilo se několik pravidelných klientů, kteří chtěli investovat do mého podniku jako partneři. A pak se najednou objevili vývojáři právě té knihovny, ze které jsem se toho svého času hodně naučil. Jemně naznačovat, že jejich algoritmy jsou patentované a nemá smysl se s nimi hádat, tak drze odebírat klientelu. Naše konverzace měla daleko ke kulturním záležitostem a v určité fázi jsem se rozhodl je nasměrovat k hledání tří věčných písmen abecedy. Druhý den poslali oficiální dopis, že jsou připraveni se mnou spolupracovat, ale náhle jsem s nimi přerušil dialog. Abych se ochránil před budoucími útoky od těchto lidí, začal jsem připravovat patentovou dokumentaci a žádost o autorská práva.

Postupem času se na tento příběh začalo postupně zapomínat. V plánu bylo najmout na pomoc zkušenějšího člověka, ale na to nebylo dost peněz. Do hry vstoupila chamtivost a já chtěl urvat velký jackpot. Bylo naplánováno setkání s novým klientem, který, jak se ukázalo, během naší komunikace, se nacházel ve stejném městě jako já. Sladce popsal vyhlídky na spolupráci a navrhl osobní setkání.

Ve skutečnosti na schůzku místo něj přišli mladí lidé příjemného vzhledu, a aniž by se konkrétně zeptali na můj názor, nabídli odvoz z města s argumentem, že je to naléhavá potřeba „nadýchat se čerstvého vzduchu“. Již na místě jsem dostal personalizovanou lopatu, abych si vyzkoušel dovednosti, které jsem získal jako dítě na babiččiných bramborových plantážích. A během hodiny mi byly srozumitelně vysvětleny mé vyhlídky, navrhli, abych neplýtvala energií, přestala dělat hlouposti a hlavně se přestala chovat drze k vážným lidem.

V jednu chvíli se svět přestal jevit jako slunečné a příjemné místo. Těžko říct, jestli jsem tehdy udělal správnou věc... ale vzdal jsem to... vzdal jsem to a schoval se do kouta. A to do značné míry rozhodlo o tom, co následovalo: latentní hněv vůči druhým kvůli nedostatku naplnění, nejistota po mnoho let, apatie při důležitých rozhodnutích pro sebe, přesun odpovědnosti za své chyby na někoho jiného.

Ušetřené peníze rychle docházely a já se nutně potřeboval dát do pořádku, ale vše se mi vymklo z rukou. V té době hodně pomohl můj otec, který přes přátele našel místo, kam mě bez dotazů vezmou. Později jsem zjistil, že kvůli mně vstoupil do závazků k zdaleka ne nejpříjemnějším lidem, ale tím mi dal šanci se ukázat.

V rámci přípravy na novou práci jsem znovu začal číst Richtera a intenzivně studoval Schildta. Plánoval jsem, že budu vyvíjet pro .NET, ale v prvním měsíci mé oficiální pracovní činnosti osud rozhodl trochu jinak. Jeden ze zaměstnanců společnosti nečekaně opustil projekt a do nově vytvořené díry byl přidán čerstvý lidský materiál.

Zatímco si můj kolega balil věci, vedl jsem velmi epický dialog s finančním ředitelem:

- Znáte databáze?
- Ne.
- Naučte se to přes noc. Zítra vás jako střední základní manažer prodám klientovi.

Tak začalo moje seznámení s SQL Serverem. Vše bylo nové, nepochopitelné a nejčastěji dělané metodou pokus-omyl. Opravdu mi chyběl chytrý mentor nablízku, ke kterému bych mohl vzhlížet.

Následujících několik měsíců vše připomínalo divoký odpad. Projekty byly zajímavé, ale vedení je nechalo svému osudu. Začaly nouzové spěchy, věčné přesčasy a úkoly, které často nikdo ani nedokázal pořádně formulovat. Mojí oblíbenou zábavou bylo věčné opakování zprávy o aranžování hotových dortů do jednoduchých polotovarů. Ale protože každý dort může být součástí jiného dortu, tato drsná obchodní logika mě opravdu přiváděla k šílenství.

Uvědomil jsem si, že to bude jen horší a rozhodl jsem se jednat. Osvěžil jsem si paměť na teorii a rozhodl se zkusit štěstí na jiných místech, ale na pohovorech jsem neměl dost zkušeností, abych se kvalifikoval alespoň do silného juniora. Prvních pár dní na mě udělaly dojem mé neúspěchy a vážně jsem si myslel, že je ještě velmi brzy na změnu zaměstnání a potřebuji získat zkušenosti.

Začal jsem intenzivně studovat hardware SQL Serveru a postupem času jsem zcela přešel do vývoje databází. Nebudu zastírat, že tato práce pro mě byla peklem, kde se na jedné straně každý den bavil praktikující schizofrenik v osobě technického ředitele a doprovázel ho v tom afghánský finanční ředitel, který v návalu emocí ukousl během polední přestávky gumovým kačerům hlavy.

V jednu chvíli jsem si uvědomil, že jsem připraven. Převzal veškerou kritickou práci, zajistil vysokou frekvenci propouštění a přímo normalizoval vztahy s klienty. V důsledku toho přišel a postavil finančního ředitele do pozice pokácené břízy. Teď bychom mohli vtipkovat o 23letých seniorech, ale takhle se mi podařilo zvednout plat čtyřikrát.

Další měsíc jsem překypoval hrdostí na to, čeho jsem byl schopen dosáhnout, ale za jakou cenu? Pracovní den začíná v 7.30:10 a končí ve XNUMX hodin. Na vašem zdraví se začaly projevovat první neúspěchy, a to na pozadí systematických narážek vedení, že by bylo lepší, abychom projekt záměrně zklamali, než abychom vás nechali vydělávat více, než je „průměr pro naši nemocnici“. Alespoň v něčem dodrželi slovo a já stál před dilematem najít nové působiště.

Po čase mě pozvali na pohovor do potravinářské firmy. Měl jsem v plánu přijmout podobnou pozici v .NET, ale praktické zadání jsem neuspěl. Chystali jsme se rozloučit, ale to nejzajímavější se stalo poté, co potenciální zaměstnavatelé zjistili, že mám zkušenosti s prací s SQL Serverem. V životopise jsem o tom moc nepsal, protože jsem si nikdy nemyslel, že toho v této oblasti hodně vím. Ti, kteří se mnou dělali rozhovory, však uvažovali trochu jinak.

Bylo mi nabídnuto vylepšení stávající řady produktů pro práci s SQL Serverem. Předtím neměli samostatného specialistu, který by se takovou činností zabýval. Vše se často dělalo metodou pokus-omyl. Nové funkce byly často jednoduše zkopírovány od konkurence, aniž by se zacházelo do velkých detailů. Mým cílem bylo ukázat, že můžete jít i jinou cestou, zpracovávat dotazy do systémových pohledů lépe než konkurence.

Těch pár měsíců se pro mě stalo neocenitelnou novou zkušeností ve srovnání s předchozí činností uzení dortů. Ale všechny dobré věci dříve nebo později skončí a priority managementu se náhle změnily. V té době byla práce hotová a nemohli pro mě vymyslet nic lepšího, než se přeškolit na testera, což bylo trochu v rozporu s našimi dohodami o vývoji nových produktů. Rychle pro mě našli alternativu - „trochu počkat“, zkusit se zapojit do společenské aktivity a zároveň dobrovolně souhlasit s tím, že vývoj nechám na ruční testování.

Práce se stala monotónní řadou regresí, která nemotivovala k dalšímu vývoji. A abych se oficiálně vyhnul regresi, začal jsem psát technické články o Habrém a poté o dalších zdrojích. Ze začátku to moc nešlo, ale hlavní je, že se mi to začalo líbit.

Po chvíli jsem byl pověřen stažením hodnocení oficiálního profilu společnosti na Stack Overflow. Každý den jsem narážel na zajímavé případy, kouřil tuny indického kódu, pomáhal lidem a hlavně se učil a získával zkušenosti.

Náhodou jsem se dostal na svou první SQL sobotu, která se konala v Charkově. Můj kolega musel s publikem mluvit o vývoji databází pomocí produktů, což je to, co jsme celou tu dobu dělali. Nepamatuji si proč, ale na poslední chvíli jsem musel udělat prezentaci. Denis Reznik se svým tradičním přátelským úsměvem na tváři podává mikrofon a vy se koktavým hlasem snažíte lidem něco sdělit. Zpočátku to bylo děsivé, ale pak se "Ostap nechal unést."

Po akci přišel Denis a pozval mě, abych promluvil na menší akci, která se tradičně konala v HIRE. Čas plynul, názvy konferencí se měnily a publikum, ve kterém jsem pořádal setkání, se postupně rozrůstalo. Pak jsem nevěděl, do čeho se hlásím, ale série nehod utvářela moje životní rozhodnutí a to, čemu jsem se rozhodl věnovat v budoucnu.

Podívat se na specialisty jako Reznik, Korotkevich, Pilyugin a další fajn kluky, které jsem měl možnost poznat... Pochopil jsem, že v rámci své současné práce nebudu mít úkoly pro rychlý postup. Měl jsem za sebou dobrou teorii, ale chyběla praxe.

Bylo mi nabídnuto začít nový projekt od nuly v nové lokalitě. Práce byly v plném proudu od prvního dne. Dostal jsem od života vše, co jsem dříve chtěl: zajímavý projekt, vysoký plat, možnost ovlivnit kvalitu produktu. Ale v určitém okamžiku jsem se uvolnil a udělal velmi závažnou chybu, hned poté, co jsme dokončili vytváření MVP pro klienta.

Ve snaze soustředit se na vývoj a poskytovat lepší řešení jsem mohl věnovat řízení a komunikaci s klientem stále méně času. Aby mi pomohli, dali mi nového člověka, který to pro mě začal dělat. Pak pro mě bylo těžké chápat vztahy příčina-následek, ale poté se náš vztah s klientem začal rychle zhoršovat, přibývalo přesčasů a napětí v týmu.

Z mé strany byl učiněn pokus o vyrovnání situace na projektu, nastolení pořádku a návrat ke klidnějšímu vývoji, ale nebylo mi to umožněno. Všichni měli neustále požáry, které bylo potřeba uhasit.

Po rozboru situace jsem se rozhodl, že si chci od celého toho cirkusu odpočinout a pozval jsem generálního ředitele z mé předchozí práce, aby se k němu vrátil pod podmínkou, že spolu uděláme nový projekt. Probrali jsme všechny nuance a plánovali jsme zahájit vývoj za měsíc. Uplynul měsíc... pak další... a další. Na všechny mé otázky byla neustálá odpověď - počkat. Myšlenka dělat něco vlastního mě nikdy neopustila, ale přesto jsem musel dočasně odejít na volnou nohu a pomáhat národům Střední Asie dobýt bankovní sektor Ukrajiny.

Doslova po měsíci zjišťuji, že vývoj mého projektu v tichosti zahájili leváci s oficiálním povolením mých bývalých nadřízených. Tito kluci byli skvělí vývojáři .NET, ale neměli žádné odborné znalosti v tom, co museli dělat. Zvenčí to vypadalo, že mě potichu hodí do projektu. Ve skutečnosti tomu tak bylo. V návalu rozhořčení jsem tento projekt začal dělat sám, ale motivace rychle vyprchala.

Bývalý technický ředitel mu nabídl pomoc s probíhajícími projekty a já začal dělat to, co jsem uměl nejlépe – hasit požáry. Znovu jsem upadl do workoholismu a sklidil jeho následky: špatná výživa, spánkový režim, který nebyl ani zdaleka normální, a neustálý stres. To vše bylo vysvětleno dvěma projekty, které jsem střídavě táhl vstříc světlé budoucnosti. Jeden projekt přinášel radost, protože fungoval 24 hodin denně, 7 dní v týdnu, ale druhý projekt měl prostě zvrácené chápání managementu, takže tým pracoval v neustálém spěchu. Toto období v mém životě se nedá nazvat jinak než masochismus, ale byly tam i vtipné momenty.

Klidně kopete brambory na dači svých rodičů a posloucháte retrovlnu a pak nečekané volání: „Serjoga... koně přestali běhat...“. Po několika sekundách přemýšlení, postavení na lopatu a současném trénování dovedností své babičky Vangy diktujete z paměti další příkazy, aby člověk mohl problém vyřešit na serveru. Tento zážitek si nepřeji ani minutu – bylo to skvělé!

Ale tady začíná zábava...

Jedno setkání na konci září 2017 mi radikálně změnilo život.

V tu chvíli, abych se nějak rozveselil z pracovní rutiny, jsem plánoval vystoupit na konferenci. Během oběda jsem náhodou prohodil pár slov s kolegou v kuchyni. Nenuceně mi řekl: "Ukázalo se, že jsi slavná osobnost... lidé tě znají i v jiných městech." Zpočátku nechápal, o čem mluví, ukázal mi korespondenci v telegramu. Okamžitě jsem poznal dívku, která přišla na moje představení, když jsem jel do Dněpru podávat zprávy. Nesmírně mě potěšilo, že si na mě ten člověk vzpomněl. Bez dalších úvah jsem se rozhodl jí napsat a pozval jsem ji do Charkova na konferenci, v rámci které jsem připravoval zprávy.

Byl jsem jeden z prvních, kdo promluvil, a hned jsem ji viděl ve druhé řadě. To, že přijela, byla pro mě nečekaná a příjemná událost. Prohodili jsme pár frází a začal můj dlouhý šestihodinový maraton lasování. Ten den byl jeden z nejjasnějších v mém životě: úplně zaplněný sál, 5 reportáží za sebou a nepopsatelný pocit, když vás lidé rádi poslouchají. Bylo pro mě těžké soustředit se na celou místnost a můj pohled byl instinktivně přitahován k ní... k té dívce, která přišla z jiného města... kterou jsem znal dva roky, ale nikdy jsme spolu nekomunikovali... prostě jsme věděli o sobě celou tu dobu.

Po skončení konference jsem byl unavený a velmi sklíčený, ale přesto jsem chtěl dívku potěšit - pozváním na společnou večeři ve společnosti lidí, se kterými jsme byli oba. Popravdě řečeno, tehdy jsem byl hrozný konverzátor, neustále sarkastický a vyžadující pozornost. Těžko říct, co se mi tehdy stalo. Ani naše procházka nočním městem nedopadla dobře. Zdálo se mi, že nejlepší bude vzít dívku do hotelu a jít domů spát. Další den jsem strávil v posteli, neměl jsem sílu vstát, a teprve večer jsem si začal v hlavě přehrávat slova, která řekla: „Seryozho, přišel jsem pro tebe...“. Upřímně jsem ji chtěl znovu vidět, ale v té době už odešla.

Mluvili jsme spolu pár týdnů, než jsem se rozhodl, že musím jít za ní...

V předvečer vydání nikdo kecy pro klienta nepotřebuje, přesunul jsem nasazení a jel do Dněpru. Je těžké říct, co se mi odehrávalo v hlavě, ale chtěl jsem ji vidět, ani jsem nevěděl, o čem budu mluvit. Dohodli jsme se, že se sejdeme v parku, ale já jsem si epicky popletl adresu a šel 5 kilometrů špatným směrem. Po chvíli, když jsem si uvědomil svou chybu, jsem se rychle vrátil taxíkem s květinami, které jsem našel v nějaké gop čtvrti. A celou tu dobu na mě čekala s kakaem.

Seděli jsme na nedokončeném divadelním jevišti, popíjeli studené kakao a povídali si o všem, co nás napadlo. Skákala z tématu na téma a vyprávěla mi o své těžké minulosti, o neměnnosti řetězcových datových typů na .NET... Visel jsem na každém jejím slově. Byla bystrá a chytrá, někdy vtipná, trochu naivní, ale všechno, co řekla, bylo upřímné. Už tehdy jsem si uvědomil, že jsem se do ní zamiloval.

Když jsem se vrátil do práce, byl jsem v nouzovém režimu a snažil jsem se vybojovat si pár dní dovolené a jet k ní podruhé, abych se vyznal ze svých citů. Ve skutečnosti všechno dopadlo jinak...

Moje nezralost, hloupost, staré komplexy a neochota plně důvěřovat člověku vedly k tomu, že jsem velmi urazil dívku, která se mě upřímně snažila potěšit. Ráno jsem si uvědomil, co jsem udělal a při první příležitosti jsem ji šel osobně požádat o odpuštění. Ale ona mě nechtěla vidět. Když jsem se vrátil, snažil jsem se přesvědčit sám sebe, že ji nepotřebuji, ale byla to opravdu pravda...

Měsíc jsem se na sebe zlobila...vytáhla jsem to na své okolí...Říkala jsem takové věci,které jsem měla upřímně ráda,proto se to nedá odpustit. Z toho mi bylo ještě hůř srdce a nakonec to všechno skončilo nervovým zhroucením a těžkou depresí.

Bývalý kolega Dmitrij Skripka, který mě přivedl do posilovny, mi pomohl najít cestu ze začarovaného kruhu sebebičování a vnitřních komplexů.

Poté se můj život hodně změnil. Opravdu chápu, co to znamená být slabý a nejistý sám sebou. Ale když jsem začal trénovat, cítil jsem se nejlépe, co může tělocvična dát. To je ten stejný pocit sebevědomí a sebevědomí. Cítíte, jak se mění postoj ostatních lidí k vám. A v tu chvíli jsem si uvědomil, že se nechci vrátit do starého života, který jsem měl. Rozhodl jsem se věnovat něčemu, co jsem celou tu dobu ve svém životě odkládal.

Ale všimli jste si, že když člověk začne něco nového, začne své záměry deklarovat okolní realitě. Neustále všem s rozzářenýma očima vypráví o svých plánech, ale čas plyne a nic se neděje. Takoví lidé v budoucnu neustále říkají: „Udělám to“, „dosáhnu toho“, „změním se“, a tak rok od roku žijí svá přání. Jsou jako prstová baterie – motivační nabití vystačí pouze na jeden záblesk a je to. Byl jsem stejný...

Původně jsem plánoval, že ve společnosti motivovaných kolegů zvládnu hory přenášet, ale často jsou očekávání zářné budoucnosti v rozporu s praxí. Na začátku našeho projektu jsme neustále plánovali a diskutovali, místo abychom to vzali a udělali.

Často chce každý jet rychle... každý to chce na první pokus... každý je sprinter... každý začne běhat, ale čas plyne... jeden to vzdá... druhý to vzdá. Když se na obzoru nerýsuje cílová čára, málokomu se chce tvrdě pracovat jen proto, že musí urazit vzdálenost až do konce... ráno, ve dne nebo pozdě v noci... když nikdo nevidí, nikdo nebude chválit a nikdo neocení to, co děláte.

Nikdy nesdílejte své plány, dokud je nerealizujete. Podělte se o výsledky, bez ohledu na to, jak těžké je to všechno udělat sami. Ano, v tomto případě cesta, kterou jsme zvolili, nepřinese vždy potěšení a růžové jednorožce s duhou ze zadku. Při práci na našich prioritách se nebudeme vždy řídit jasnými motivy. Život vás často neustále posílá na místa, kam vůbec nechcete. Ale pokaždé, když jsem otevřel Visual Studio nebo přišel do tělocvičny, vzpomněl jsem si, co jsem byl a čím mohu být. Vzpomněl jsem si na setkání s tou dívkou z Dněpru, která mě donutila přemýšlet o mém postoji k životu... Hodně jsem pochopil.

Obvykle by poslední slovo mělo být dostatečně stručné, aby zůstalo v paměti po dlouhou dobu. Rád bych citoval slova, která jsem kdysi slyšel v sále od jednoho inteligentního člověka.

Myslíte si, že chodíte do posilovny bojovat s železy? Ne... bojujete sami se sebou... se svými vzory... se svou leností... se svým rámcem, do kterého jste se zahnali. Chcete neustále řešit cizí problémy a zároveň odkládat své? Nechte to být v malých krocích, ale musíte se sebevědomě posunout k nalezení svého životního štěstí v jednom okamžiku. Protože štěstí je, když nepodléháte zásadám a pravidlům, které jste nevymysleli. Štěstí je, když máte vektor vývoje a dostanete se vysoko po cestě, a ne od konečného cíle. Takže možná stále stojí za to zvednout zadek a začít na sobě pracovat?

Ach ano, úplně jsem zapomněl... tento článek měl původně lidem představit projekt, který jsem celou tu dobu dělal. Stalo se ale, že v procesu psaní se priorita přesunula k popisu důvodu, proč jsem se této činnosti vůbec začal věnovat a proč se jí v budoucnu nechci vzdát. Krátce o projektu...

SQL Index Manager je bezplatná a funkčnější alternativa ke komerčním produktům Devart (99 USD) a RedGate (155 USD) a je navržena tak, aby obsluhovala indexy SQL Server a Azure. Nemohu říci, že by moje aplikace byla lepší než skripty od Ola Hallengrena, ale díky optimalizovanějšímu stírání metadat a přítomnosti nejrůznějších užitečných maličkostí pro někoho bude tento produkt určitě užitečný v každodenních úkolech.

Kopání hrobů, SQL Server, roky outsourcingu a váš první projekt

Nejnovější verzi aplikace lze stáhnout z GitHub. Tam jsou umístěny zdroje.
Budu rád za kritiku a zpětnou vazbu :)

Zdroj: www.habr.com

Přidat komentář