Efter det att ett par av oss på utvecklingsavdelningen analyserat källkoden för databasen stod det klart att det kunde röra sig om en cachemiss vid riktigt djupa sökningar i databasen.

Jag heter Martin Korinth, och jobbar som utvecklare på Jajja Communications. Dessutom har jag på lösa grunder utvalts till teknikexpert! Skämt åsido, så tänkte jag passa på att introducera Teknikavdelningen och framförallt underavdelningen för utveckling här på Jajja. Framöver kan du dessutom räkna med att få en inblick i problem och utmaningar vi ställs inför dagligen. Det kan komma att bli en del kodsnuttar och praktiska exempel på sådant du kan använda dig på din webbplats eller i dina system, men även tankegångar i grova drag.

Utvecklingsavdelnigen består av åtta utvecklare och på hela teknikavdelningen jobbar just nu så många som 25 medarbetare och därtill kommer ytterligare 15 externa heltidsuppdrag för produktion av redaktionellt material och webboptimering. De som sitter bland oss på plan 3, Rosenlundsgatan 54, har ansvarsområden som spänner från utveckling och administration av interna system till sökmotoroptimering och konverteringsanalys av våra kunders webbplatser.

Utvecklarna på Jajja besitter kollektivt en bred kompetens och använder aktivt ett flertal kodspråk, främst Java, PHP, Ruby, C och Javascript. Vi använder oss gärna av Open Source och bygger ofta system från grunden om det inte redan finns en lösning som passar behovet helt och hållet. En del av det dagliga arbetet består av att passa ihop stora befintliga gränssnitt, som Google Analytics eller Google AdWords, med våra egna analytiska system, för att kunna bearbeta och presentera olika typer av data på ett förståeligt sätt.

Ett av de system som utvecklats från grunden är det som hanterar våra marknadsrapporter över sökmotorexponering, för vilka en riktigt spännande och helt otroligt stor relationsdatabas underhålls. Databasen i en PostgreSQL-server, på en intrimmad maskin, pumpar oavbrutet data om de största 1,5 miljonerna sökfraser i Sverige. Vid ett tillfälle blev ett index för en tabell i databasen så stort, hisnande 409 GB, att systemet började stöta på ovanliga buggar i databasmotorns minneshantering, något som troligtvis ytterst få andra applikationer råkat ut för tidigare. Efter det att ett par av oss på utvecklingsavdelningen analyserat källkoden för databasen stod det klart att det kunde röra sig om en cachemiss vid riktigt djupa sökningar i databasen. Det verkade även som om skaparna av databasmotorn funderat över samma scenario och därför rättat till misstaget till en senare version av motorn. Då är det praktiskt att vi själva besitter kompetens att infoga utvald kod från det vidareutvecklade kodträdet. En manuell uppdatering till en senare version av motorn skulle sannolikt innebära längre driftstopp för konvertering av data. Validering av integritet för innehållet i databasen skulle vara ytterligare tidsödande.

Utvecklare på Jajja jobbar dock betydligt oftare med lösningar på en högre abstraktionsnivå, men räds inte att dyka djupt i strukturer för att lösa problem som behöver det. Om du tycker att detta verkar vara en stimulerande arbetsmetodik bör jag kanske passa på att nämna att Jajja söker fler medarbetare till utvecklingsavdelningen. Vare sig du har bred kompetens inom utveckling av webbapplikationer (frontend som backend) eller besitter spetskompetens i något angränsande fält, som exempelvis relationsdatabaser, borde du kanske passa på att söka till utvecklare hos Jajja Communications? *

Nästa gång jag skriver, blir det något mer konkret, kanske något om Javascript eller ett utvalt publikt API som du kan använda dig av på din hemsida. Tills dess har du möjligheten att berätta vad du är intresserad av rent tekniskt, gärna som en kommentar till detta inlägg. Slutligen måste jag passa på att nämna alla utvecklare på Teknikavdelningen vid namn, för att sedan återgå till det dagliga arbetet tillsammans med Andreas, Anna, Daniel, Daniel, Diana, Johan och Patrick. Det är vi som är utvecklare på Jajja!

* Om du vill ha förtur till intervju kan du med fördel dechiffrera det som döljs i filen <vigenere.gmh>.