The Artima Developer Community
Sponsored Link

Weblogs Forum
Learning How to Design

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Eric Armstrong

Posts: 207
Nickname: cooltools
Registered: Apr, 2003

Learning How to Design (View in Weblogs)
Posted: Dec 3, 2003 5:08 PM
Reply to this message Reply
The ability to design a system architecture is the most important and most powerful tool that a developer can possess. But it is a skill that is difficult to learn, and one that is almost impossible to teach. Allen Holub's design training workshop does a great job of doing just that.
Possibly the best tool in a developer's arsenal is a good design methodology -- and that's the hardest thing of all to teach. I recently attended Allen Holub's one week intensive design workshop, and I can tell you that it's a great way to learn rapidly (if at times painfully) about a lot of that things that go into a good design process. (

In a single week, we covered object-oriented analysis, object-oriented design, many XP processes, CRC cards, UML notation for object relationships and interactions, and even patterns. It was a whirlwind. But it was also a powerful, eye-opening experience.

It was also a painful experience, at times, because it was a "learn by doing" workshop. That's a lot more interesting than sitting around listening to someone preach, but it means that you hear "don't do that", a lot of the time -- many more times than feels good for your ego, if you know what I mean.

But the result is that you *really* learn. Interestingly, this is exactly the same way that writers learn -- as a result of the editing process. When an editor points out things that need to be fixed -- and you make the same fix in a few hundred places, you learn what your strengths and weaknesses are -- and you definitely learn to avoid your weaknesses.

It hurts to be edited, actually. Your carefully chosen words are chopped up, and in a way your efforts are invalidated. But the end product improves as a result, and you get better in the process. It's like weight training or any other kind of training, in that it hurts -- but it hurts in a good way because you grow from the experience.

Allen's workshop was a lot like that. Your "design instincts" are brought to light, and in the process both your strengths and weaknesses are exposed. So even more important than the familiarity with UML notations and design patterns you come away with, is the practice and feedback you get on your design thinking.

In short, it's a tremendous learning experience for any object oriented developer who is serious about their craft.

Topic: What is Guerrilla Development? Previous Topic   Next Topic Topic: The

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use