- Photograph: Unsplash
One of the main choices facing companies who build software products, outside of the business functionality, is what programming languages and frameworks to use. There are lots of competing technologies, a constantly evolving landscape, and no shortage of opinions.
"At BoatyardX we focus on languages and frameworks that are both modern and dominant. We consciously try to avoid technologies that are either legacy or too new and niche. This gives us an edge by allowing us to readily hire people with the required base skillsets and also to retain them, because they get to work with interesting tech."
Robert Drysdale - Director of Engineering
While it may be appealing to choose to write a business application in a brand new language offering improved performance, the danger is that finding more people to maintain and adapt the code in the future may be difficult, and that the additional costs and delays in sourcing people eliminates any marginal performance gain.
A key reference for us is the Statisica stats on ‘Most used programming languages among developers worldwide’. We play very much in the top 8 listed languages; JavaScript, HTML/CSS, Python, SQL, Java, Node.js, Typescript, C#.
Our starting reference for greenfield projects is our BoatyardX Application Architecture. We can support 4 distinct architectures: Low Code/No Code, Serverless, Simple Containerized and Kubernetes. This allows us to tune to unique client needs and product lifecycle stage. In all cases we stick to our core outlined languages. Thus, we can focus on the important business functionality of the product from day one.
However, not all clients come to us with greenfield product ideas. Some come to us with products where they’ve already built a Minimum Viable Product (MVP), are ready for next iteration, or are seeking a partner who can help them remove the obstacles to scalability. In such cases we’re able to support a wider range of technologies, such as ReactJs for frontends and React Native for Mobile Applications. For backend we can support Spring Boot Java, .NET Core or Express.js.
On the more challenging end of spectrum we see clients whose decision was taken because of time pressure or availability of engineers. They might have used a very smart local engineer friend, to build their MVP. This can often be built with some of the latest trending languages such as Golang for example. Other times it is built in a more legacy framework, such as PHP. Those clients find themselves in a triple bind: they are dependent on systems that are costly to maintain and difficult to scale, struggle to hire talent and the cost of starting from scratch is prohibitive.
In these cases we would recommend rewriting in one of the more dominant languages, as it is easier to maintain and support, and will thus have a lower total cost of ownership.
In summary, we recommend picking from among the popular dominant programming languages and sticking to the architectural principal of KISS (keep-it-simple-stupid). Technology choices are always strategic in nature and their impact can be costly, with implications only becoming clear over time. Slowing down, doing the research and seeking advice from a trusted partner is always a good idea.
Talk to us today about your tech strategy.
Get in Contact
If you have a new concept or existing product and are considering taking the next steps, we would love to discuss if a BoatyardX Discovery project can help you achieve your product vision. Reach out at letsgettowork@boatyardx.com