If you try to think about the last talk that you gave to a large audience, you might recall feeling a bit anxious standing in front of the audience. You might remember people looking at you and how the room looked like. This memory feels complete. Yet, you don't recall the actual faces of the … Continue reading Adventures in Memory
Drive
The key message of "Drive", from Daniel H. Pink, is that people are best engaged in a task when they understand the purpose of the job, they can develop the necessary mastery to realise the job, and they have sufficient autonomy to direct things their way. That's a very simple framework -- purpose, mastery, autonomy … Continue reading Drive
Mastering New Technologies Takes Time
Things move fast in the IT industry. Half of the technologies I use today didn't exist ten years ago. There's a constant push to switch to new technologies. But when it comes to technologies, I'm kind of conservative. I like proven technologies. The thing that makes me conservative is that mastering a technology takes a … Continue reading Mastering New Technologies Takes Time
The Age of Agile
This book is about agile management as a way to conduct business -- not just software development. In the first chapters, the author presents agile management by characterizing it with three "laws": the law of the customer, the law of the small teams, and the law of the network. Roughly, I would sum them up … Continue reading The Age of Agile
Stuff Matters
Stuff Matters is a very nice little book about the materials that surround us. Organized in ten chapter, each tracing the history of a class of material (metal, paper, glass, plastics, chocolate, gels, graphene, concrete, ceramics, biomaterial), we get to better appreciate how much tinkering and research took place over centuries to discover all these … Continue reading Stuff Matters
No More QA
Companies have traditionally organized software-related activites in three silos: Dev, Test/QA, Operations. The QA effort is realized after a long phase of development resulting in bug spikes and difficulties to plan the work for the development teams during this time. When companies were engineering software "piecewise" this was the only way. Only when all pieces … Continue reading No More QA
Autonomy and Microservices
Discussions monolith vs microservice are hotter than ever. Usually, a monolith is synonym for “big ball of mud” in these discussions. It of course needn’t be so. A modular monolith is perfectly possible. Also, microservices isn’t an entirely new idea either. As some says, it’s SOA done right. The usual argument in favor of microservices … Continue reading Autonomy and Microservices
Do You Need an Architect?
Architects do typically three things: they own, they coordinate, and they mentor. As an owner, the architect maintains the integrity of the system at a high level. He designs the foundations, identifies tradeoffs, decides on essential changes. As a coordinator, the architect facilitates work and optimizes the exchange of information. He connects people, gather information, … Continue reading Do You Need an Architect?
Conceptual Integrity in Large Systems
The central argument of the Mythical Man Month from Fred Brooks is that conceptual integrity is the most important consideration in system design, and that conceptual integrity will only be achieved if the design comes from one, or a few resonant minds. I will contend that conceptual integrity is the most important consideration in system … Continue reading Conceptual Integrity in Large Systems
In Defense of Design Before Coding
Software design as a separate activity from implementation -- "up front" design -- got a bad press with agile methods. Agile advocates say the design should be emergent. They say, design without coding is waterfall. It's a waste of time. I understand that you don't want to design the whole system up front. But at … Continue reading In Defense of Design Before Coding