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;
- We usually build micro-services and APIs with Node.js, often with the Loopback framework. We’re also increasingly relying on Golang.
- We build Web front-ends with React, usually using Redux. We’ve also used AngularJS.
- For data or DevOps related work (scrapper, data science, …) we usually pick Python, with Flask if we need a lightweight API or Django when we need CRUD or ACL.
- For native mobile apps, we prefer Kotlin and Swift. We’ve experimented with React Native as well.
- For data visualizations, D3.js & Mapbox.js are usually enough but we sometimes use additional libraries like Chartist.js
- For data storage, we usually go with CouchDB, CouchBase, PostgreSQL, Elasticsearch or Redis depending on the use case. Usually CouchDB for NoSQL, or CouchBase if we need to scale, PostgreSQL for relational data, Elasticsearch for full-text search and reporting, and Redis for caching or simple key/value storage (e.g. sessions).
- We benchmark performances with Locust or ApacheBench.
- For asynchronous messaging, we usually go for RabbitMQ or NSQ.
Tools & Services
To access and/or manage some of these tools, you’ll need to be invited to our LastPass company account.
- GitHub; all code and tasks live there (we actually use GitHub for pretty much anything from DevOps to recruitment).
- TravisCI & Coveralls; to run our tests and check on test coverage.
- HockeyApp; to deliver mobile apps for testing.
- Fabric/Crashlytics & Google Analytics; for crash and usage tracking (mostly for mobile apps).
- Docker Hub; for hosting our Docker images.