Steve Cain's Weblog

Flutter and Dart Testing Best Practices

January 19, 2025 Steve Cain

1. Unit Testing Basics Setting Up Test Dependencies dev_dependencies: flutter_test: sdk: flutter mockito: ^5.4.0 build_runner: ^2.4.0 Basic Test Structure void main() { group('User Service Tests',…

Read more →

Flutter Programming Idioms Reference

January 18, 2025 Steve Cain

Composition over inheritance Prefer building complex widgets by combining simpler ones rather than extending widget classes. This approach promotes reusability and cleaner architecture. class CustomButton…

Read more →

From Code Monkey to APE: My Journey Through Tech's Evolution

January 13, 2025 Steve Cain

You know what's funny about dreams? Sometimes letting go of one leads you straight into another – even if you don't realize it at the…

Read more →

From Stage Dreams to AI Teams: A Developer's Evolution

January 8, 2025 Steve Cain

I never planned to be writing about artificial intelligence and software development. Back in my younger days, I was certain I’d be on stage somewhere,…

Read more →

Authentic Leadership in Remote Teams: Lessons from the Trenches

January 8, 2025 Steve Cain

After spending a year as an engineering lead before returning to an IC role, I’ve been reflecting on what makes remote leadership work. While I’m…

Read more →

The Current State of AI Coding Agents: Promise and Pitfalls

January 5, 2025 Steve Cain

The emergence of AI coding agents has sparked both excitement and frustration in the developer community. As someone deeply immersed in working with these tools,…

Read more →
← Previous

Subscribe to my Launch Upon newsletter where I share my experiences with development, automation, and product engineering

© 2024 stevecain.dev