Programming Plainly: Encouraging the Craft & Discipline of Software Engineering


A handheld magnifying glass focussed on a gilded chess piece among a tabletop covered in seemingly identical chess pieces.

19+ Years in Software Development

I started programming as a hobbyist in the early 1990s and have worked in web development since 2003. I've worked with organizations of all sizes, helping them select, build, and maintain the technologies and software needed to succeed.

Software Engineering — Craft & Discipline

When the best solution is a custom-built one, bringing together the mindsets of craft and discipline is invaluable. While Software Development lacks the confidence and rigor of classic engineering, we have the techniques and experience available to help us ensure confidence through discipline and quality through caring about our craft. For me, the aspiration toward Software Engineering flows from my four professional principles for software development:

Clarity • Testability • Evolvability • Openness

These principles help me build better software consistently, and they positively influence how I work to help my clients achieve their success.

Subscribe to James Thompson

Sign up now to get access to the library of members-only issues.
Jamie Larson