Beyond Surface-Level Development
Let me first define the kinds of problems Betalectic solves.
On the surface, we're a typical dev shop. Clients ask us to build web and mobile apps. They describe the interfaces their customers will use, and we build them. We code the backend and front end and deploy solutions. That's our simplified process.
But this surface-level description masks a deeper reality. The problems we tackle address "deep domain problems." Interestingly, we've never built an e-commerce app, which surprises us even. We haven't created apps for marketing or branding. This pattern reveals something significant about our work.
The Domain Complexity Challenge
Analyzing our project history, we realized our clients are domain experts working to digitize—and sometimes transform—entire industries. This represents substantial, challenging work. Their customers are B2B entities accustomed to established standards, yet our clients aim to modernize them. We're fortunate to work on these domain challenges, where startups might adapt to or significantly change established processes.
Simply categorizing our clients as working in Banking, Procurement, or Finance vastly understates the complexity. The fundamental gap between these domains and technologists (coders, architects) is that tech people often don't grasp how vast these fields are—the regulations, compliance requirements, and innumerable variables at play.
Learning one aspect of these domains requires more than reading ten textbooks; it requires twenty years of experience. Imagine spending two decades in a domain that isn't coding—like verifying suppliers for vendor selection, just one small part of Procurement. This depth of domain knowledge represents a challenge that technology alone cannot solve.
Our Two-Phase Approach to Complex Problems
This domain complexity influences our development methodology. I tell my team to solve problems twice: first, to make it work, and then to make it work well. When you're still figuring out the fundamental approach to a domain problem, creating an elegant solution immediately is nearly impossible. The initial prototype represents that critical "eureka" moment when you prove something is possible before refining it.
Major technological breakthroughs follow this same pattern. Amazon Echo (featuring Alexa) took years of development before its 2014 release, not months. Voice assistants require extensive development across multiple technologies—speech recognition, natural language processing, cloud infrastructure—all working together to solve a complex human-computer interaction problem.
How AI is Transforming This Development Process
This two-phase development approach raises the question: how will increasingly sophisticated AI tools impact our work on deep domain problems?
Programmers typically engage in a three-part process:
- Solve the problem (find a working approach)
- Solve the problem well (refine for elegance and efficiency)
- Cycle through coding and testing until exhaustion (iterate to completion)
AI is beginning to transform each phase of this process. AI offers multiple potential solutions during initial problem-solving. However, human judgment remains essential, as incomplete information invariably causes AI to exaggerate or misunderstand aspects of complex domain problems.
AI saves engineers significant time in the coding and testing phases as solutions mature. Is this efficiency gain happening already? Yes, though not yet optimally. When AI creates bugs, finding them often takes ten times longer than writing the code manually would have. However, this efficiency gap will steadily close as AI systems improve.
The New Role of Programmers
The primary benefit of AI integration isn't just faster coding. Instead of routine coding tasks, programmers will spend more time on solution design and collaboration with domain experts. This shift represents a significant evolution in the programmer's role from pure technologist to domain-fluent solution architect.
We've barely scratched the surface of solving deep domain problems with computers and transferring expert knowledge into development models. Simultaneously, technologists are increasingly developing domain expertise themselves (as exemplified by companies like Cybrilla).
A Collaborative Future
Before an unnecessary conflict arises—with non-programmers believing AI can handle all coding and programmers fearing obsolescence—we should recognize that the real work of solving complex domain problems is just beginning. The optimal arrangement will be for programmers to become domain experts' right hand while AI serves as programmers' right hand in a three-way partnership.
This collaborative structure will ultimately help programmers demonstrate to subject matter experts (SMEs) where AI meaningfully fits into their domains. If we prematurely conclude that AI has solved everything, creating unnecessary tension between these groups, we'll face more significant problems while attempting to address increasingly complex domains that support our economy.
Simply put, the global economy operates on complex systems requiring human domain expertise working with skilled technologists and AI tools. This three-way partnership represents the future of solving our most significant domain problems.