Software is eating the world - Marc Andreessen (famous VC investor) said this 10 years ago but it's even more true today! As every company continues to become a technology company inside — regardless of product or service — developers are getting more of a say, but are increasingly frustrated with how software is built and managed by organizations.
And indeed, this is precisely what we (Vasilis and myself) experienced first-hand when working at our previous companies. The day-to-day management of new feature development, iterations and testing was cumbersome, slow and required alignment between many stakeholders. Despite working in relatively young organizations, the complexity of managing several large applications working together led to an unstructured and difficult to manage system. Moreover, incoherent and diverse opinions from stakeholders was generating technical debt, boring work and ultimately churn of tech and non-tech team members.
Software is a living organism
In the past, software was thought of as a linear and organized process where you would define the requirements, design the system, code it, run some tests and then maintain. But this is no longer the case.
Systems (or tech stacks) or organically evolving ecosystems and new features are idealized on a daily basis. Moreover, the ease of API integrations, and the spread of service-oriented architectures, means the possibilities are endless. However, this does mean that developers are increasingly worried about the unintended consequences of making certain changes, particularly if the code is not well structured or there aren’t any automated tests.
Any system will eventually mature into a complex array of services, objects, interfaces and infrastructure, and most of the time, additional features only make it harder to make further changes to the system. Developers need to be able to understand (and train new developers), maintain and extend systems with relative ease - they cannot spend most of the time understanding how the code works before writing new code.
Essentially, our understanding of “what is supposed to happen” is getting weaker and weaker as systems become larger and more complex. New developer tools are trying to help Product & Tech teams understand how their systems work, but few are helping them solve the problem at its core: design, modeling and coding principles!
Future is bleak
Empowering developers to build matters more than ever before, led us to create Bitloops. There are roughly 25 Million active developers globally, and this number is expected to increase to 40 million by 2030. However, despite this expected talent growth, human resources will remain the rate limiting factor to scale across any organization anywhere in the world. Given current requirements and productivity levels, we would need 3-5x more developers just to meet demand.
Therefore, radical transformation in software development will need to come from increased productivity, specifically from backend development, devops, code maintenance and management, and this will be driven by developers as buyers, influencers and as a creative class!
It’s clear to everyone that in today’s environment, businesses live or die depending on how well — and how quickly — their development teams are able to build new functionality, get it to customers, and adapt to what they learn.
Cloud technology has removed barriers, giving developers more control over the underlying infrastructure, and accelerating the deployment of new updates, however these deployments are still dependent on independent developers working continuously and rapidly, including maintaining code, testing, security issues, addressing incidents, etc.
Most developer tools are about how to make it easier to write new code in a vacuum, but most developers are writing new code that needs to play well with old code - this is beyond the obvious complaints about technical debt, lack of documentation and other issues. The truth is most of these issues have been ignored because they’re complex, they’re messy, and there isn’t a “silver bullet” solution out there yet.
Bitloops has been developed to solve these very issues, which are the issues we were facing in our previous companies, and the same issues that have been reinforced through discussions with many other engineers across several companies. All Software Engineers want nice clean and well-designed code so they can ship new features or products in a timely manager. However, given the pressure to meet spring goals and the lack of experience, most developers compromise on code quality to meet those deadlines, which leads to poor-looking code, unstructured designs and loss of productivity in the medium to long term.
The Bitloops Language has been designed by taking into consideration the best practices and methodologies in software design, as well as taking into account the basic principles of software development and lifecycle such as deployment, security and integration with 3rd party services. The platform is able to guide developers in developing well-structured code and high-quality systems, without having to compromise on speed, and is based on 4 core principles:
Developer first: Bitloops has been designed around developers’ thinking, coding practices and day-to-day activities. Therefore, Bitloops enables developers to be far more productive and faster
Guiding blocks: The Bitloops Language is opinionated in the sense that it guides developers to follow widely accepted best practices and design patterns that will ensure developers avoid big balls of mud in their code, and that the system remains flexible enough for iteration and/or refactoring
Cloud native: meaning all applications developed using Bitloops can be easily and quickly deployed, as well as optimized from an architecture / deployment perspective (for the more knowledgeable devops out there).
Integration: it is imperative to build applications in such a way that it remains flexible as a superset of several existing tools and services that work seamlessly together that drastically improve productivity
With Bitloops businesses can develop high-quality software, are able to improve their products faster and ultimately, grow more quickly than their competition. Moreover, not only can users develop applications much faster, but they can replatform legacy applications across a broad range of use cases to drive their business forward.
At Bitloops, we have a vision to democratize the power of high-quality software so organizations can easily build software applications and tools that fit their needs. We believe we are pioneering a new category of backend development that will change how developers spend their day, how they prioritize their efforts and how they interact with each other and with the rest of the organization.
We were constantly struggling with the number of projects and features that we simply abandoned due to the lack of resources, or the complexity in implementing them (some of which were very simple) due to the underlying architecture and the number of stakeholders that needed to be involved given unnecessary coupling or bad software design choices. Our mission is to empower companies and tech teams to never say no to a valid business idea!
Note: The Bitloops Platform is still under development, however, we have launched the Open Source Bitloops Language which is a high-productivity, 4th generation programming language that incorporates industry best practices, patterns and methodologies such as DDD, Clean Architecture, SOLID & Clean Code into its structure and syntax to empower developers to write better code and build better software.