Development

Technologies & tools

As with most things at Wiredcraft, you are strongly encouraged to challenge our way of doing things. Developers regularly introduce new languages, frameworks or platforms. If you feel strongly about a technology or a tool, speak up. You only need to convince people on your team of its benefits and maintainability.

With that being said, we often make the following choices based on past experience;

Technologies

  • TypeScript is our primary programming language. We use Node.js to build microservices and APIs, with NestJS as our default backend framework. We also work extensively with Java; Go and Python are common choices for infrastructure and data-related projects.
  • We primarily use Kubernetes as the infrastructure for our microservices, and Helm to manage their packages. See our CI/CD guide for details.
  • We build web front-ends with React, usually using Next.js. We also use Vue when it fits the project. We rarely use AngularJS today.
  • For native mobile apps, we prefer Kotlin and Swift. We’ve experimented with React Native as well.
  • We use PostgreSQL more often for relational data, while Couchbase remains our main NoSQL database. Elasticsearch is used for full-text search and reporting, and Redis for caching or simple key/value storage (e.g. sessions).
  • We load-test services with k6 and Locust.
  • For asynchronous messaging, we usually use NSQ.

AI