The Clojure Ecosystem
After years of working in the industry we decided to start our own consultancy at the beginning of 2017. When we started off our tag line was "CTO on demand," since we saw a lot of companies were in search of high level technical guidance and could benefit from our experience. We've done some of that work, however we've been surprised (and nearly overwhelmed!) with the demand for Clojure development.
In 2010 we first started working with Clojure. It solved some common mistakes we've seen around scoping, and encouraged people to write software in a way that reduces or removes a whole host of common errors that we've seen haunt larger software projects. Software engineering decisions leading to poor coupling, cohesion, or testability, end up costing companies millions upon millions of dollars every year. A funny thing happens when you naturally avoid common errors by writing idiomatic software, you start to produce features faster. And when you produce features faster, everyone is happier – your decision makers, your developers, and especially, your clients.
Working in ClojureScript is fun. It is very close to working in Clojure, and there are times working on full stack projects that we lose track of whether we are writing code for the front-end or the backend. By not having to switch languages between front and backend development means more time "in the zone", where developers are most effective. When developers are able to work more efficiently, to quickly see the results of their work and to cut through incidental complexity, they are much happier.
At the end of 2016, mobile platforms surpassed desktops as the predominant web browsing platform. We believe that all companies should ensure that their products offer a good mobile experience, and the most efficient way to do that is to make sure that their web application works well on phone and tablet screens. However, sometimes that's not enough and a native application is the best approach. For that we recommend React Native, and ClojureScript works well on that platform. Although it's relatively new there are numerous native applications written with React Native and ClojureScript, and we have consultants ready to go who have implemented mobile-first products with these technologies.