In het kort: Clojure - Scala - Java - Web services - Backend - Devops - Consultancy - Ontwikkeling - Eigen ontwikkelstraat
Functional Bytes richt zich op maatwerk software, waar de backend kant een grote rol speelt. De focus hierbij ligt op de Clojure, Scala en Java wereld en het ecosysteem daar omheen. Heb je een uitdaging liggen in bijvoorbeeld een webservices architectuur of gedistribueerde processen, dan ik kan ingezet worden voor consultancy en ontwikkeling op deze gebieden.
Een specialiteit van Functional Bytes is de al weer 15 jaar oude programmeertaal Clojure. Het noemen van de leeftijd is niet omdat het alweer oud is (weet je hoe “oud” Java eigenlijk is?), maar juist omdat het tijd heeft gehad om te stabiliseren en een goed ecosysteem op te bouwen. Stabiel is het al jaren, en het ecosysteem is nog steeds booming. Er is veel ontwikkeling gaande, gericht op de vooruitgang van software engineering als geheel.
De combinatie van eigenschappen maakt dat Clojure op simpele wijze ongewilde complexiteit uit de weg gaat. Dat is waar ik als ontwikkelaar blij van wordt, en de klant ook.
Scala voegt wat meer ceremonie toe, met als voordeel dat dit zich goed leent voor grote projecten waar veel ontwikkelaars tegelijk in werken. Dit komt door het uitstekende type systeem, wat de code zeer robuust maakt. Ook Scala heeft het functioneel programmeren omarmt en kent daarmee gelijke voordelen als Clojure.
Functional Bytes is pragmatisch ingesteld. De kennis en keuze van de tools maken mogelijk dat er een goede verhouding ontstaat tussen iets schaalbaar en uitbreidbaar neerzetten, en een snelle ontwikkeltijd. Het doel is om zo efficient waarde te geven aan de gevraagde automatisering.
Functional Bytes heeft een eigen ontwikkelstraat. Dit houdt in dat elk project in versiebeheer wordt gezet, automatisch wordt getest en gebouwd, en mogelijk ook met een druk op de knop kan worden gedeployed op een (mogelijk door Functional Bytes geleverde) acceptatie omgeving of productie omgeving. Ofwel, Continuous Integration en Continuous Delivery.
Hieronder staan een aantal termen die de kennis binnen Functional Bytes weergeeft.
Clojure
ClojureScript (web en node), Clojure CLI, Leiningen, Ring, Figwheel, Reagent, Liberator, Component, Mount, HugSQL, Buddy, Langohr, Camine, en vele andere libraries
Java
Java Enterprise Edition, Enterprise Java Beans 3, JBoss, Mule (Spring), XML, XSD, XSLT, XSL-FO, SOAP, JAXWS, XProc, Maven, Ant, JUnit
Scala
Akka HTTP, ScalaTest, SBT, Circe, Elastic4s, Mockito, ZIO (basis)
Overige talen
JavaScript, Ruby (basis)
SQL
PostgreSQL, MySQL en OracleDB
NoSQL
Cassandra, ElasticSearch, DynamoDB (basis), Redis en Datomic
Web
HTTP, REST, JSON, JavaScript, WebSockets, React, Redux, AJAX, OAuth
Services
ZooKeeper, Kafka, RabbitMQ, Storm, MQTT, JMS, SQS
Operations
Docker (compose), Kubernetes, Ansible, Terraform, Jenkins, AWS (Lambda), DigitalOcean, macOS, Linux, Git, Github, Gitlab, Raspberry Pi
Paragidmas
CQRS/ES, Microservices, FP, FRP, OOP, Design Patterns
Proces
Scrum, Jira, Trello, PivotalTracker, Continuous Integration/Delivery, Shape Up
Kijk voor een actueel beeld van waar Functional Bytes zich mee bezig houdt ook bij de blog artikelen.