Stockholmsbörsen & kurser på Cinnober


Comments Off on Stockholmsbörsen & kurser på Cinnober

Utvecklingsblocket är i full rullning och timmarna man får över då man inte har kurser så skriver vi kod inom de kundprojekten vi är tilldelade. Men jag tänkte berätta lite kort om hur vi spenderade denna torsdag.

05:00Väckarklockan ringer.

05:35Kläder på, hoppar in i bilen och kör för att plocka upp Maryam och Oskar inför dagens Stockholmsresa.

06:35Flyget lyfter mot Stockholm.

07:35Touchdown på Arlanda. Vi hoppar in i en taxi och beger oss till frihamnen.

08:40Anländer i frihamnen där vi ska på studiebesök hos Stockholmsbörsen, NASDAQ OMX.

NASDAQ OMX

NASDAQ(National Association of Securities Dealers Automated Quotations), är ett stort amerikanskt börsbolag med säte i New York som 2008 köpte upp OMX. På den tiden så ägde OMX sju stycken av dom nordiska och baltiska aktiebörserna, inklusive Sveriges. I och med detta uppköp så bildades då NASDAQ OMX Group Inc, vilket nu driver Stockholmsbörsen.
Precis som Cinnober, så utvecklar och säljer NASDAQ egna börs- och aktieplatformar till handelsmarknader runt om i världen. Den stora skillnaden mellan Cinnober och NASDAQ är att NASDAQ även driver egna börs- och clearinghus runt om i världen, medan Cinnober står som en helt oberoende produktleverantör. Detta tror jag ger Cinnober ett plus i kanten när det kommer till konkurrens, då man som oberoende produktleverantör får större trovärdighet då man inte är bundna till en specifik börs, istället för att att köpa in mjukvara från en konkurrerande börs.

11:00Efter en intressant förmiddag hos NASDAQ OMX där vi fick en introduktion till hur börsen opererar samt en lärorik rundvandring där vi fick kika på hur dom olika marknad & support-operatörerna jobbade, så lämnade vi frihamnen bakom oss för en promenad(tog säkert 40 minuter att gå) in till centrum i jakt på lunch. Stockholmsbörsen påminde bra mycket mer om vilket kontor som helst där dom anställda sitter vid sina datorer, än som en stor folksamling där man skriker ut ordrar till höger och vänster som man ofta föreställer. Nästintill all handel sker numera digitalt.

12:45Anländer vi till Cinnobers huvudkvarter.

13:00Kurs för protokollet FIX, vilket är ett populärt kommunikationsprotokoll inom finansiell-IT vilket kunder använder för att kommunicera externt med systemet, t.ex. för att lägga ordrar. Ett kommunikationsprotokoll är inom IT en samling regler som definerar hur två endpunkter kan prata med varanda och vilka “ord” som kan användas. Man kan se det som ett talspråk för datorer.

15:00Kurs för produktmodulen TAX, vilket är den smarta “kloss” man skickar FIX/EMAPI till vilket översätter alla externa protokoll till det interna protokollet. (se Maryams förklarande figur nedan)

16:55Dagens kurser är nu avslutade och vi beger oss tvärs över gatan till ett middagshak.

18:30Går till centralstationen och hoppar på Arlanda express vilket tar oss till flygplatsen. Väl där så avjuter vi en juice/smoothie i väntan på planet.

20:20Planet lyfter och den skakiga hemfärden påbörjas samtidigt som vindarna från stormovädret från Norge blåser in. Med tanke på hur illa starten gick så så hade vi inte höga förhoppningar på landningen.

21:20Phuu! Äntligen nere på marken i Umeå igen! Påbörjar hemfärd!

Comments Off on Stockholmsbörsen & kurser på Cinnober





Bookmark and Share

Please leave a comment - click here!

Trading System Overview


Comments Off on Trading System Overview

Hej! 🙂

Nu är utvecklingsblocket igång och vi har haft kurser inom Java, kodadministration, verktyg, broadcast och redundans etc.
Redundans är en intressant koncept. Det innebär att vi behåller trades som sker i Matching Engine (ME) i två server som är identiska. En av dem är den primära servern. I fall den ligger nere eller kraschar börjar den andra servern, som vanligtvis är standby, jobba istället. Med den här lösningen man tappar inte viktig data.
Vi hade kurser inom TAX, FIX och Emapi. De har med ’messaging system’ att göra. Som man ser på bilden TAX tar emot köp och sälj Order från olika aktörer och skickar respons. Den här kommunikationen sker baserat på protocol som vi har t.ex. FIX och EMAPI. Både EMAPI och FIX har sina för och nackdelar. EMAPI är snabbare men FIX (Financial Information eXchange) är mer välkänd och det finns flera personer som kan det.

tradingSystem

Comments Off on Trading System Overview





Bookmark and Share

Please leave a comment - click here!

Svenskar bakom Java-genombrott


Comments Off on Svenskar bakom Java-genombrott

I början på denna vecka så var test-blocket avslutat och utvecklings-blocket påbörjat! Det känns spännande att åter igen få sätta tänderna i ett nytt område. Veckan har hittills haft högt tempo med mängder av kurser för att snabbt bli varm i kläderna, och fler kurser kommer det bli dom närmsta veckorna.

Trollkarlarna
Tidningen Computer Sweden, torsdag 2013-12-05.

På tal om annat så dök Cinnober plötsligt upp på Computer Swedens förstasida med sin innovativa lösning på ett av Javas problem för höghastighetssystem. För oinsatta så kan jag nämna att Java är det programspråk som Cinnober använder för att utveckla produkter inom aktie & börsmarknaden.

Nu till själva problemet. Istället för många andra språk som kräver att utvecklaren själv ska hantera minneshanteringen i programmet vilket kan ställa till instabilitet och crasher om det inte görs rätt, så hanterar Java minneshanteringen helt automatiskt genom att då och då pausa programmet under någon millisekund för att rensa minnet från saker som inte längre används. Detta gör att det går väldigt snabbt att skriva användbar kod när man utvecklar program utan att man behöver bekymra sig för instabilitet. En nackdel med detta blir dock tydligt när man gör system som måste köras med extrema svarstider på grund av den automatiska minnesrensningen.

Ett bra exempel på detta är aktiesystem där den som snabbast på att skicka in sin order i systemet och få den behandlad är den som först får möjlighet att handla till det pris som finns listade i systemet. Om Javas minnes-rensning skulle köras igång vid fel tillfälle så kan en order istället för att ta ett par microsekunder, bli förskjutet till en millisekund eller två. Som vanlig användare som köper eller säljer aktier så är det helt omöjligt att märka om detta skulle ske. Dock så finns det dom som med hjälp av datorer helt automatiskt lägger tusentals köp och sälj ordrar på aktier, och skulle en order plötsligt ta 100 gånger längre än vanligt så kan det uppstå problem.

Aktiehandel utan minnesavbrott
Bildkälla: Computer Sweden, 2013-12-05.

Förenklat sett så är Cinnobers lösning på detta att man med hjälp av två identiska servrar ta emot köp/sälj-ordern, och den som först blir klar med att hantera ordern kan skickar den vidare till marknaden. Så om en av servrarna skulle råka köra igång minnesrensningen så blir alltid den andra servern klar först och till följd av detta så märker användaren inte av någon fördröjning.

För den som vill förstå lite djupare hur lösningen går till så rekommenderar jag att läsa Computer Sweden’s artikel.

Comments Off on Svenskar bakom Java-genombrott





Bookmark and Share

Please leave a comment - click here!

LMEwire


Comments Off on LMEwire

Hej 🙂

Idag är den sista dagen i testblocket. Som sagt, Cinnobers traineeprogram cinCube har några olika block. Det första var testblocket. På måndag börjar utvecklingsblocket! Det är spännande för att det känns helt annorlunda när man programmerar på universitet och på företaget. När man programmerar på jobbet måste man lägga kod till den beffintliga koden utan att någonting går sönder. Det är ganska svårt att förstå koden som redan finns!

Jag börjar i ett nytt projekt under utvecklingsblocket. Jag har redan tjuvstartat och har varit med på de dagliga Scrum mötena men officiellt börjar jag på måndag! Det nya projektet heter LME Wire. Det är en del av LME Clear projektet som hanterar Trade Repository och ger clearinghus medlemmar möjligheten att uppfylla sina handelsrapporteringskrav. Vi kallar projektet LME TR internt! Systemet går live i februari så det är hög tempo på utveckling.

Denna vecka fick vi schemat för utvecklingsblocket från Mats Wikström vår program director. Vi har gott om utvecklingskurser och jobbar resten av tiden i våra projekt.

Vi traineer fick vara med i Cinnobers Newsletter med vår nya VD Jonas Engman. Man kan läsa artiklen här:

http://www.cinnober.com/newsletter/strategic-it-investments-ramping-north

NewLetter

Comments Off on LMEwire





Bookmark and Share

Please leave a comment - click here!

Testblocket är slut!


Comments Off on Testblocket är slut!

Hej!

Eftersom att testblocket på tolv veckor är slut sedan förra veckan är det lämpligt att ge er en liten sammanfattning på vad jag som trainee på Cinnober har sysslat med. Allt som allt är jag nöjd med hur testblocket har gått; jag har letat buggar och undersökt ifall de blivit fixade eller ej i GUI, jag har läst felrapporter från kunden och försökt återskapa felen efter deras beskrivningar, jag har pratat med kravanalytiker om hur systemet ska bete sig, jag har skrivit automatiserade tester och jag har tillfört kod till testramverket som just nu används i 200 tester och har potential att läggas till i ännu fler. Det som känns häftigast för mig är att jag har gått från att inte kunna ett skvatt om java till att kunna bidra med ovan nämnda kod. Relativt sett kan jag däremot nästan ingenting så jag ser fram emot att lära mig ännu mer om programmering i stort och Java i synnerhet.

Testblocket har strukturerats på ett bra sätt. Den första halvan av blocket innehöll väldigt mycket utbildning, därefter har jag arbetat som testare inom projektet på heltid. I början av testblocket gick mycket tid åt vanligt ”krångel”. Det kunde till exempel ta flera timmar att uppdatera eller checka ut systemet på grund av att man i sin okunskap glömde något litet steg vilket sedan kunde resultera i att man misslyckades med att bygga det. Några veckor och massor av post-its (jag övergick till digitala efter att jag hade täckt två skärmbredder med pappersvarianten, jag rekommenderar programmet Stickies* starkt) senare började krånglet avta och jag kom igång med testandet på riktigt! Det var en stor lättnad för det var ganska frustrerande att inte veta ifall saker man hittade under sitt testande var på grund av ens egen okunskap eller en riktig bugg. De sista tre veckorna arbetade jag till lite mer än 50% på ramverkskoden jag nämnde ovan. Den tiden var den roligaste så här långt som trainee! Att få arbeta på ett avgränsat problem där man måste kika runt och lära sig hur de kringliggande delarna av testramverket fungerar kändes både utmanande, belönande och lite stressigt! Min problemlösningsnerv blev väldigt nöjd, nu är det bara min växande matematikabstinens som behöver tas om hand om.. Det finns intressanta saker man kan läsa kring riskberäkning och liknande som jag ska kolla upp men huruvida det blir inom traineeprogrammet eller utanför återstår att se.

Det är kortfattat vad jag som trainee har sysslat med under min tid som testare. Det känns som att jag har kommit igång, både med trainee-relaterade saker som kurser och med arbete inom projektet, och jag är väldigt nöjd med hur trainee-programmet har fungerat så här långt. Den här veckan börjar nästa äventyr, utvecklingsblocket!

*http://www.zhornsoftware.co.uk/stickies/

Comments Off on Testblocket är slut!





Bookmark and Share

Please leave a comment - click here!

Kodfrys


Comments Off on Kodfrys

I morgon börjar testveckan. Det innebär att man inte får göra ändringar i koden på en vecka. Det blir kodfrys! Sedan börjar alla testa systemete som ska levereras.

Testerna är till för att säkerställa kvaliteten av systemet. I finansbranschen är det viktigt att systemet aldrig går ner. Testning bör säkerställa att det inte finns några kritiska fel.

Innan varje release har vi extra högt tempo i projektet, massor av How to test dokument måste skrivas. Jag har skrivit ett par denna vecka och har också hittat några buggar.

Nu ser vi fram emot testveckan.

CodeFreeze

Comments Off on Kodfrys





Bookmark and Share

Please leave a comment - click here!

PointZero


Comments Off on PointZero

Igår var jag på en föreläsning hos vår granne Sogeti där de presenterade teststrategi och testtekniker. Föreläsaren fokuserade på hur viktigt det är att börja testa systemet så snart som möjligt så man kan upptäcka fel i varje fas och undvika extra kostnader. Testning är en långsiktig investering inom projekt som ger en lägre utvecklingskostnad.

På Cinnober värdesätter vi kommunikationen i projektet väldigt mycket och har ett bra sätt att upptäcka buggar från början. Det var dock väldigt lärorikt att få höra ett annat företag presentera sin teststrategi och höra om lärdomar de har tagit.

I slutet av föreläsningen fick vi en bok om PointZero som är Sogetis vision om testning: Gör rätt från början!

photo (5)

Comments Off on PointZero





Bookmark and Share

Please leave a comment - click here!

Automatiserad funktionstest


4 Comments

TestKurs20131016small

I går hade vi en riktigt givande kurs i testautomatisering där vi skriv testfall i programmeringsspråket Java mot TRADExpress vilket är en av handelsplatformarna vi utvecklar här på Cinnober. Där gick vi igenom hur man med en relativt liten kodinsats kunde skriva funktionella tester som via några av dom externa protokollen som används i finansvärlden skickar och tar emot data, och på så sätt kunde vi påverka systemet utifrån samtidigt som vi validerade resultatet som returnerades.

Fördelen med att skriva testfall i kod är att man kan simulera att en kund t.ex. lägger in en order att köpa en viss mängd metall samtidigt som en annan kund väljer att sälja samma typ. Koden för testfallet kan då automatiseras så att den körs vid ett visst klockslag varje dag. På så sätt så får man en kontinuerlig feedback att funktionerna i systemet fungerar som tänkt, dag efter dag.

Skulle något mot förmodan ändras i affärslogiken för dom använda funktionerna så fångar testet upp detta i analysen av resultatet så lämplig åtgärd kan sättas in. Det är dock inte självklart att felet ligger i platformen, utan det kan mycket väl vara så att testet blivit inaktuellt på grund av vidareutveckling av funktionaliteten och då uppdaterar man istället testfallet.

Read 4 Comments





Bookmark and Share

Please leave a comment - click here!

Umeå Upplevelsen!


Comments Off on Umeå Upplevelsen!

Hej!

Som sagt, har vi fyra huvudblock under traineeprogrammet och det första är testblock. Test Driven Development (TDD) är en viktig del av detta block. Vi användar Junit i Eclipse för att skriva automatiserade unit tester. På bilden kan ni se en enkel test suite som jag har skrivit. På vänster sida kan man se om det finns något test som har failat. Automattester är bra för regressionstester och tester som är tidskrävande när man kör dem manuellt.

blogg

Under traineedagen fanns det många studenter som undrade om livet i Umeå. En av dem mest intressanta ställen i Umeå är Iksu. Iksu är Nordens största träningsanläggning. Jag har börjat spela Beach Volleyball på Iksu och det är jätteroligt.

BeachVolley

Trevlig helg!

Comments Off on Umeå Upplevelsen!





Bookmark and Share

Please leave a comment - click here!

Projekt, kodande och fika


Comments Off on Projekt, kodande och fika

Hej! Här kommer en liten uppdatering om vad jag sysslat med de senaste två veckorna.

Första halvan av förra veckan ägnades främst åt att verifiera rättade buggar med manuell testning, det blev stundtals rätt krångligt men jag känner att jag är betydligt säkrare på att använda systemet och att testa än tidigare. Jag kör såklart fast ofta men tack vare vänliga skrivbordsgrannar löser sig det mesta snabbt.

Arbetet gick som vanligt ända fram till torsdag då jag fick en introduktion till automatiska tester inom projektet. Efter intron började jag arbeta med att fylla i testfall vi inte hade täckt tidigare. Det medförde även att jag till slut fick sitta och skriva Java ”på riktigt”, det vill säga utanför de övningsuppgifter vi hade under Lars Wahlbergs kurs jag nämnde i ett tidigare inlägg samt mitt egna lilla labyrintrobotprojekt. Tiden flyger fram då man har roligt, och så är även fallet då man kodar. Jag älskar problemlösning så jag blir rätt så absorberad av uppgiften då jag sitter och programmerar!

Skrivandet pågick fram till tisdag då jag blev tilldelad nya arbetsuppgifter; projektet har haft en ny release mot kund som nu sitter och testar sitt system för fullt så jag ska hjälpa till att kika på kundens buggrapporter. Då agerar man som ett filter innan buggrapporterna når utvecklarna. Det kan till exempel vara så att det som rapporterats in egentligen inte är en bugg utan är något som ligger utanför specifikationerna som systemet bygger på. För att försäkra sig om vad som gäller får man fråga runt mycket vilket i sin tur även ökar ens egen kunskap om systemet. Det är åtminstone min förhoppning.. Vi får se hur det går!

Utöver rent arbete har jag som projektmedlem dragit mitt strå till stacken och bakat till förra fredagens projektfika. Det var den fjärde oktober, vilket råkar vara kanelbullens dag, så det var inte särskilt svårt att bestämma mig för vad jag skulle baka!

Comments Off on Projekt, kodande och fika





Bookmark and Share

Please leave a comment - click here!

Older Entries Newer Entries