Monday, October 01, 2007

The Study Process

As perhaps previously mentioned, I'm a software engineer. In fact my main responsibility is as the architect of my company's software development processes. There are some parallels between constructing a successful software development process, and constructing a workable study process which I'd like to outline.

I've heard it said that the most important thing about processes is making sure that you at least have one. I don't agree. If you study, you have a process. It might not work very well, but it's there. So the first step is evaluating the one you have and deciding whether it meets your needs.

In our software process, I've divided the areas of interest into 4 layers of decreasing size, each building on the other, forming a kind of pyramid. On the bottom layer, there are the concrete tools and libraries that make up the physical aspect of process. Next there is a layer of processes - repeatable, almost mindless, activities that are done regularly. The next layer again is called practices. In software engineering, this is the layer that takes into account the skill, experience, and attitude of the individual practicioner. And lastly there is the Organization and Communication layer - the part that allows individuals to collaborate and share tools and techniques.

The parallels are as follows:
Infrastructure: What books do you use? What websites? Do you attend a class?
Process: Do you repeatedly listen to dialogs. Do you do tests in workbooks? Do you prepare for your classes?
Practices: How do you listen?
Communication: Do you work alone? If you have a study partner, how do you plan and work together?

The parallel with my professional life is far from perfect: Building software is primarily a collaborative activity that nonetheless requires a large amount of solo concentration. Acquiring a new language on the other hand, is primarily is solo effort though potentially with a lot of interaction. There is no finish line in language learning - no delivery date.

But they are both efforts that require dedication, even a certain amount of obsession, to get good results.

For the next few blog entries I'll work my way up this pyramid and explain not just what I'm using now, but what I've used in the past. Because the most important part of any process is its ability to adapt.

1 comment:

Unknown said...

Interesting, very interesting.

I am also looking toward software experiences in an attempt to map to language learning. I am thinking about "design patterns" and more importantly anti-patterns for language learning. I will follow your progress with interest. I agree software development is usually much more collaborative. Maybe my first anti-pattern I attempt to write will be that assumption that language learning is highly collaborative (seems to cause some damage and hold many people back).