"
The Corporate Framework Guru:
Keep Your Filthy Problem Domains Away From Me


"We have a well-established seniority structure here. The new programmers work on customer-facing code: printed output, reports, user-interfaces. The intermediate programmers work on the business logic that the customers care about - they build classes and business rules that make the system work. The senior programmers work on the fun things that the customer doesn't care about - presentation layers, message processing, persistence engines, process orchestration rules engines. The smarter you are, the better you insulate yourself from boring customer problems. I don't want a fancy framework coming in here and messing up this my nice ivory tower..."" (Ruby This)


"When great thinkers think about problems, they start to see patterns. They look at the problem of people sending each other word-processor files, and then they look at the problem of people sending each other spreadsheets, and they realize that there's a general pattern: sending files. That's one level of abstraction already. Then they go up one more level: people send files, but web browsers also "send" requests for web pages. And when you think about it, calling a method on an object is like sending a message to an object! It's the same thing again! Those are all sending operations, so our clever thinker invents a new, higher, broader abstraction called messaging, but now it's getting really vague and nobody really knows what they're talking about any more. Blah.

When you go too far up, abstraction-wise, you run out of oxygen. Sometimes smart thinkers just don't know when to stop, and they create these absurd, all-encompassing, high-level pictures of the universe that are all good and fine, but don't actually mean anything at all. " (Joel on Software)



These articles remind me of some people that come to SilverKey office for Senior Developer positions and how they reacted when they found out they have to write some code by hand.

"Sorry, I don't write code by hand".

If you don't write code, you will lose the sight and the scope of your software development work. A software is a bunch of ideas, sometimes opposing ideas, realized in form of code.

The code is the truth, nothing else. And that makes software development a unique industry - both a product of art and science.

If you don't write code, you will end up as an "author" that doesn't write books, a "singer" that doesn't sing, a "football player" that no longer plays.