Direct technical responsibility.
30 years of software development.
I am Avgerinos Markopoulos. I personally take responsibility for the analysis, design and core development cycle of custom applications for complex operational requirements. Where needed, I work with external professionals while retaining technical coordination and responsibility for the final result.
My professional journey
My career in software development began in the 1990s as a freelancer, through projects and collaborations involving enterprise systems, information-management applications and library systems.
In 2005, I founded BitWise as the professional framework through which I continue this work today. In 2015, I moved the company headquarters from Athens to Kefalonia, where I now live and work permanently.
Today, BitWise represents the continuation of that personal professional path: direct technical responsibility, relationships built on consistency and long-term support, and the development of specialised systems designed not simply to be delivered, but to operate, be supported and evolve over many years.
In many cases, the collaboration does not end when a project is completed. It continues through new requirements, technology changes, integrations, migrations and the gradual evolution of the same systems. That continuity is perhaps the most characteristic feature of my work.
From requirement to working solution
Most of my work involves custom applications for real business or scientific processes where an off-the-shelf software package does not adequately meet the requirements.
I start by understanding the domain: the data, business rules, roles, exceptions and real conditions of use, so that the solution reflects how the organisation actually operates rather than a theoretical model. That is why I consider requirements analysis and domain modelling integral parts of software development itself.
I do not start with a product or technology that the client must be made to fit. I choose the approach and tools according to the real requirements, the existing environment, maintainability and the system's future evolution.
The objective is a solution that is functional, reliable, understandable, maintainable and able to evolve over time.
Personal design and technical responsibility
On most projects, I personally take responsibility for the core cycle, from analysis and design through development, integration, testing and production support.
When the scale or nature of a project requires additional expertise, I work with external professionals or specialised companies while retaining the central technical role and coordination of the overall solution.
This gives the client a consistent point of technical responsibility throughout the project lifecycle, from analysis and design to production operation and support.
Experience across different environments
My experience covers large enterprise systems for distribution networks, field operations, CRM, imports, logistics, financial control and data integration, as well as applications for universities, libraries, cultural and research institutions, public organisations, professional associations, hospitals and scientific laboratories.
This breadth of experience helps me enter a new domain quickly, understand its logic and translate complex processes into clear, workable software models, reducing the time needed to move from a description of the problem to a concrete solution.
Further examples of my professional experience are presented in Projects and Case Studies.
Software with a long lifecycle
I have developed systems that remained in production for many years, in some cases for decades, evolving alongside the organisations' business processes, requirements, interfaces and wider information environments.
I do not treat a production system as a project that ends with its first delivery. The real value of software is also reflected in its ability to adapt, integrate with new systems and be modernised in a controlled way, without having to restart from scratch each time and without losing the business knowledge accumulated within it.
Experience across several generations of technology is particularly useful when a new project must coexist with established systems or evolve an application with a long history.
Do you have a complex operational requirement or a system that needs to evolve?
We can discuss the problem, the existing environment and which approach genuinely makes sense.
