Udvikling

Softwareudvikling

Software er blevet en central konkurrenceparameter i udvikling af produkter og tjenester. Lad os hjælpe jer med at udvikle fed software, som jeres kunder faktisk gider at bruge.

Translucent udvikler software og systemer, som indgår i kritiske dele af vores kunders produkter og IT-infrastruktur.
Translucent lægger vægt på at designe og implementere gode brugeroplevelser (user experience/UX).

Og vi lægger vægt på at anvende fleksible, agile processer, på et have et pragmatisk og effektivt værktøjsvalg, samt - ikke mindst - på at have en tæt dialog med kunden og dennes forretning.

Get in touch!


Softwareudvikling er en central (men ofte udfordrende) aktivitet
for de fleste moderne virksomheder


Udviklingsproces og -metode

Udviklingsproces og -metode

Valget af udviklingsproces og -metode har stor indflydelse på, hvor godt jeres individuelle projekter fungerer.

I sidste ende kan valget af udviklingsproces og udviklingsmetode, samt især forankringen heraf, betyde succes eller fiasko - ikke blot for projektet, men også for muligheden for at nå organisationens strategiske mål.
Translucent rådgiver om valg og forankring af udviklingsproces og -metode, og vi har stor erfaring i design og implementering af “både-og”-modeller, hvor visse elementer fra de agile modeller blandes med de mere bureaukratiske V-inspirerede modeller.

Translucent rådgiver også om dette emne fra et teknisk, continuous delivery-perspektiv, hvor bl.a. løbende test og release er i fokus.

Microservices

Microservices

Microservices er et moderne bud på en moderne, agil og løst koblet enterprise architecture (EA), der ikke længere har ESB’en som centralt omdejningspunkt.

Med brugen af microservices muliggør man forankringen af forretningsregler og features på tværs af modulære og selvindeholdte softwarestakke, og hvor valget af softwarestak kan tilpasses det enkelte forretningsdomæne.
Eksempelvis kan en en Ruby- eller Node.js-baseret microservice (fx med Angular) anvendes til rendering af UI og frontend, en Erlang-baseret microservice anvendes til distribueret processering, og en R-baseret microservice anvendes til statistisk dataanalyse.

Translucent rådgiver om design og implementering af en microservice-orienteret arkitektur - samt om pragmatiske strategier for at inkludere microservice-elementer i den eksisterende EA.

Containerization

containerization

Containerization er en måde at afvikle sine applikationer isoleret fra andre applikationer på samme maskine.

Ved at bygge en container med alle nødvendige afhængigheder til biblioteker bygger man hermed plug-n-play applikationer uden at skulle vedligeholde flere forskellige versioner af biblioteker til forskelligt installeret programmel på værtsmaskinen.
Ved denne form for isoleret software applience løsning for programmel letter det arbejdet med at installere, afvikle, samt administrere installeret programmel på værtsmaskinerne.

Translucent tilbyder rådgivning om både design og udvikling, samt implementerer software containers. Heraf benytter vi blandt andet det ekstremt populære værktøj Docker.

Data Science & Big Data

Data Science & Big Data

Datavidenskab - også kaldet data science - drejer sig om analyse af datamængder og den viden og indsigt, man kan få ved at foretage sådanne analyser.

Kombineret med næsten eksponentielt stigende datamængder, Big Data, stiller gennemførligheden af sådanne analyser stadigt større krav til såvel metoder og algoritmer som til IT-infrastrukturen.
Translucent rådgiver organisationer om mulighederne med dataanalyse (data science) og håndtering af store datamængder (big data) i såvel streamede som ikke-streamede scenarier.

Vi anvender bl.a. Apache Hadoop, Apache Spark, Python, R og Octave/Matlab samt diverse relationelle (SQL) og NewSQL/NoSQL-databaseservere til at løse opgaverne med.

Teknologier

Vi anvender teknologier, som hjælper os med at få løst udviklingsopgaver på pragmatisk, effektiv og løst koblet vis - og i skønt samspil med vores kunders eksisterende og kommende infrastrukturer.


Ruby

Ruby er et elegant, fortolket sprog, som bl.a. har en meget klar syntaks og som muliggør bl.a. avanceret meta-programmering.

PostgreSQL

PostgreSQL (eller Postgres) er en højtydende og klippestabil open source-database.

HTML5

HTML5 er seneste skud på HTML-standarden, der muliggør udviklingen af webapplikationer med bedre brugsoplevelser (user experience/UX).

Continuous Delivery

Continuous Delivery beskæftiger sig med at muliggøre en hurtig, effektiv og risikominimeret udvikling og release af softwareprodukter.

Continuous Integration

Continuous Integration beskæftiger sig med at muliggøre løbende test af softwarekomponenters individuelle kvalitet - og især deres samspil.

Python

Python er et modent, fortolket sprog, som bl.a. er meget udbredt til scientific computing og datavidenskab

R

R er modent sprog udviklet til eksplorativ og batch-orienteret, statistisk dataanalyse og i stor anvendelse verden over.

Java

Java er et meget modent og udbredt kompileret sprog samt en velfungerende virtuel maskine (VM), som mange organisationer har taget til sig - enten som sprog eller som platform for andre sprog

Scala

Scala er et nyere og meget populært sprog på Java-VM'en, som i vid udstrækning til funktionel programmering af højtydende systemer.

Apache Spark

Apache Spark er en højtydende efterfølger til de "rå" MapReduce-algoritmer på Apache Hadoop, som byder på mange effektive redskaber til regressionsanalyse, maskinlæring etc.

Docker

Docker er en fantastisk teknologi til indkapsling/containerization af applikationer, som muliggør effektiv udvikling, idriftsættelse/deployment og drift af applikationer - såvel mikroservice-orienterede som monolitiske

Vagrant

Vagrant er et fedt redskab til design og deployment af mangeartede virtuelle udviklings- og driftmiljøer, og en god måde at sørge for, at udviklere i organisationen ikke skal slås med forskelligartede udviklingsmiljøer til samme applikation

Apache Hadoop

JavaScript/ECMAScript

JavaScript er et af de mest udbredte programmeringssprog til såvel frontend som backend, og dets performance slår selv Ruby og Python

Sinatra

Sinatra er et simpelt og elegant webapplikationsframework i Ruby, som muliggør effektiv udvikling af webapplikationer og API-servere

Ruby on Rails

Ruby on Rails er et meget udbredt, Ruby-baseret webapplikationsframework, som byder på høj effektivitet i udviklingsprocessen samt et stort økosystem af plugins og udviklere verden over

Node.js

Node.js er et højtydende, JavaScript-baseret webapplikationsframework, som på få år er blevet meget udbredt og har et stort økosystem

Linux

Linux er et veldesignet og højtydende operativsystem, som løfter arven fra Unix og bringer den ud på et væld af forskellige hardwareplatforme med vidt forskellige karakteristika (ganske som FreeBSD)

FreeBSD

FreeBSD er et særdeles veldesignet og højtydende operativsystem, som løfter arven fra Unix og bringer den ud på et væld af forskellige hardwareplatforme med vidt forskellige karakteristika (ganske som Linux)

Open Source

Open source-filosofien har bevæget sig fra at være betegnet som en utopisk drøm for nørder til at være en grundsten i det moderne, højteknologiske samfund, som alle i forretningen er afhængige af. Nørderne vandt.

NoSQL / NewSQL

NoSQL- og NewSQL-databaser er fællesbetegnelserne for databaseteknologier, som bryder med den strengt relationelle filosofi og som målrettes specifikke formål, såsom hurtige key-value-databaser, schema-fleksible dokumentdatabaser, graf-/netværks-orienterede databaser etc., fx: Cassandra, MongoDB, Riak, Redis, Neo4J, CouchDB m.fl.

Microservices

Microservices er en tankegang og designfilosofi, som tilstræber applikationsarkitekturer, der er modulariseret i selvstændige applikationer, gerne som separate containers, og som (oftest) kommunikerer via webservices, hvadenten binære eller REST-baserede

Webservices (Web APIs)

Webservices er betegnelsen for programmatiske snitflader, som tillader kommunikation imellem systemer via internettet, og som typisk baseres på HTTP-protokollen (som er grundstenen for WWW, deraf navnet) og med historisk anvendelse af protokoller såsom SOAP og XML-RPC, og senere REST, samt repræsentationsformater såsom XML, JSON, Protocol Buffers m.fl.

Angular (AngularJS)

Angular er et populært udviklingsframework til client-side-applikationsudvikling i JavaScript, og det er meget relevant at bruge, når der forekommer en vis kompleksitet i kravene til brugsoplevelse, interaktion, validering, filtrering, repræsentation og dataudveksling

Ember (EmberJS)

Ember er et helstøbt udviklingsframework til client-side-applikationsudvikling i JavaScript, og selvom det på mange måder minder om Angular, bærer det præg af at have et mere sammenhængende og holdningsorienteret design; heriblandt det fra Rails velkendte mantra: Convention over configuration

Elixir

Phoenix

Go

Crystal

Websockets

Websockets er en nyere teknologi i relation til HTML5, der muliggør autentisk tovejskommunikation imellem servere og klienter, og som er meget velegnet, hvor realtidskommunikation kræves

Event Sourcing & CQRS

Master Data

Masterdata-systemer er forretningskritiske og højtydende systemer med yderst stærk fokus på dataintegritet og tilgængelighed for organisationen, som forsøger at modarbejde CAP-teoremet i så vid udstrækning som muligt :-)

Git

Git er det markedsledende distribuerede versionskontrolsystem (DVCS), som er arvtager fra SVN/Perforce m.fl. (og før det CVS), og som muliggør yderst fleksible arbejdsgange ift. såvel udvikling som drift

Terminalen

Terminalen og en svedig kommandofortolker (vi elsker selv Zsh og Bash) er uundværlige værktøjer for os. Vi elsker at omdirigere input og output og pipe igennem dybt specialiserede værktøjer til mønstergenkendelse og ASCII-art

Groovy

C & C++

Swift & Objective C

Android

Mechanical Sympathy

Machine Learning