A Reflection on SOLID: Decades of Code, Principles, and a Changing Future

After years of reliance on the SOLID principles for maintainable software design, the author questions their relevance in an AI-augmented development environment. While SOLID has provided structure, it can lead to over-engineering and complexity. The need for a reinterpretation of these principles arises as AI changes software creation dynamics, focusing on clarity and human understanding.... Continue reading →

The Second Order Effects of AI Acceleration: 22 Predictions from Polyglot Conference Vancouver

The Polyglot Conference in Vancouver featured a debate on the “Second Order Effects of AI Acceleration,” tackling 22 predictions about AI’s impact on software development. Discussions focused on issues like “vibe coding,” the rise of customized tools, and the importance of critical thinking in management. Concerns included the potential decline in code quality and long-term... Continue reading →

VS Code & Copilot: The Chat-First Spec Definition Method

The Copilot Chat feature in VS Code enhances coding by interpreting user specifications contextually but requires careful user oversight. It excels at generating runnable code and improving structure through user-defined prompts. However, users must ensure clarity and correctness, as the AI simply stitches patterns and cannot guarantee logic or security. Continue reading →

GitHub Copilot: A Getting Started Guide to GitHub Copilot

GitHub Copilot is revolutionizing coding through AI-powered code completion and generation. This guide covers setup, features like real-time suggestions and comment-to-code generation, and best practices for effective usage. Emphasizing collaboration with AI, it outlines advanced techniques, security considerations, and integration into development workflows, enhancing productivity and coding quality. Continue reading →

Personal Observations about The Principal Engineer in The Agentic Era

A Principal Engineer oversees software architecture and guides technical direction. The rise of AI agents in software development has accelerated task completion and complexity. While effective use of agentic systems can enhance productivity, poor implementation may lead to significant technical debt and project failure. Experience and knowledge are crucial for success. Continue reading →