|
Categorized as 4. Perpetual Learning, 5. Construct Your Curriculum. |
One of the authors that inspires me most is C.S. Lewis. He is probably best known for writing The Lion, the Witch and the Wardrobe, which was read to me when I was young. Since then I've read most of his books and a good chunk of them over the course of 2005, when I was in the thick of starting the apprenticeship patterns. The essay/sermon that I found to be most relevant to what I'm focused on is titled "Learning in War Time" which contains this excellent quote:
If we let ourselves, we shall always be waiting for some distraction or other to end before we can really get down to our work. The only people who achieve much are those who want knowledge so badly that they seek it while the conditions are still unfavourable. Favourable conditions never come.
This quote resonates with me. The times in my life where conditions were most favorable, when the singular goal of my situation was to go to school and learn, were my most wasted years from an academic standpoint. I did learn during those years, but what I learned had little to do with books or classes. Yet, once I was out of school and had other things like getting a job and getting married to Staci at the front of my mind, I suddenly started becoming interested in learning. Since that time, the conditions for learning have steadily grown worse (3 kids), and yet despite this, I have had an insatiable appetite for learning that would surprise my college professors.
I can't explain why my interest in learning hibernated until I had left school. I'd like to think I can attribute it to my favorite quote from page 100 of A Pattern Language:
In a society which emphasizes teaching, children and students -- and adults -- become passive and unable to think or act for themselves. Creative, active individuals can only grow up in a society that emphasizes learning instead of teaching.
I'd like to blame the society of mainstream education, or simply being in an environment where someone is getting paid to teach, as opposed to being a member of a group of self-motivated, self-directed learners. Unfortunately, I don't think I can lay the blame for my wasted years of education entirely on my environment, but I do think there is truth in Alexander's emphasis on learning over teaching. And I think this is a critical point for apprentices.
For the vast majority of apprentices, your apprenticeship will not be formal. You will have to create it for yourself, in the unfavorable conditions of corporate IT. While it would make economic sense for your employer to allow you to read relevant books or blogs for an hour a day, this is discouraged because it doesn't look like you're "working". While it would make economic sense for your employer to allow you to sit near (or even pair program with) a more experienced colleague, the seating chart must be adhered to. There will forever be obstacles that hinder your attempts to learn and excel, but the successful apprentice is undeterred. Learning is your responsibility, it's not up to your employer to give it to you. You have to take it.
I'd like to hear from you how you've found ways to learn despite unfavorable conditions.

RSS

Kevin Marshall said
I find myself in a sim. boat having not 'learned' much from school but rather teaching myself over the years as my interests and needs changed. However, the reason I think that I have had better success on my own than within the educational system is due to a number of factors:
1. Pacing: One of the problems I always had with classes is how SLOW they are. I understand that it's a group evnironment, and they want to make sure everyone (or at least most) 'get it', but I've always had trouble wasting time on something once I 'get it'. When I teach myself something, I can struggle with a concept as much or as little as I want until I 'get' it and then I can move on to something else. I don't have to keep practicing it just for the sake of practicing.
2. Material: The problem with a class setting has always been that you have to follow an outline of material that the teacher thinks (or wants) you to learn. In my experience 90% of what they cover is stuff I'll never really care about or at least rarely use. Rarely enough that by the time I have to remember what I learned, I've forgotten it and have to look it up in a book anyway. When I'm learning on my own, I can skip to the parts that I really want to know (usually because I have a real problem I'm trying to solve and I think learning X will help solve it).
3. Relevance: I think this goes towards the same type of thing I mentioned in point two, but it's important enough to be it's own point as well. When I learn on my own, I can make sure that everything is relevant to my needs or at least I *think* it's going to be relevant to my needs and so I have the motivation.
There are probably a lot more reasons I could think of as to why 'going on my own' has always worked better for me than 'taking a class', but those are the ones off the top of my head. I would also say that, at least for me and in my experience, a large part of learning success comes from a person's motivation and passion - if you're at school because 'that's what you are supposed to do', or you're a programmer because 'it pays well' then you are going to have a tough time learning and improving.
But if you're a programmer because you can't help but write code and build stuff, then you're going to find the learning path both fun and easy!
Ken McNamara said
Can there be a successful apprentice without a master craftsman? Where are the master craftsmen?
Do the most successful software corporations provide an environment that encourages (or allows) the master craftsman to educate new programmers?
Does the open source movement create an apprenticeship environment?
Where can any apprentice go to get brutally honest assessments of their efforts? To what extent have we damaged education by worrying more about a student's self-esteem than their ability to meet the highest standards?
Certainly it is the responsibility of the individual to pursue their own learning - but doesn't the culture around them share a large responsibility in training them?
Mary Treseler said
Great entry. The sooner we all get this one the more satisfied and successful we will be.
I often tell those I work with who are faced with challenges that they need to fight for the issues they think are important. There will never be enough time to address all that we think is vitaland yet we owe it to ourselves, our employers, our craft, whatever that craft is, to find the pieces we are passionate about, or identify the problems and work on the solution. Achieving satisfaction from my job requires that I be a proactive member of the problem solving group.
But how do you strike a balance though between this and taking on too much? Overcommiting seems to be a common theme in all businesses today.
This quote speaks to so much about what makes for a successful learning experience:
“In a society which emphasizes teaching, children and students -- and adults -- become passive and unable to think or act for themselves. Creative, active individuals can only grow up in a society that emphasizes learning instead of teaching.”
Teaching is passive and instructor focused, whereas learning is focused on the needs of the student. We learn by doing. So listening to a lecture, reading a book, or talking to a colleague, while important, are only the beginning of the learning process. Once we are “doing” our brain begins to make connections and the ideas, concepts and theories start to stick.
We can blame plenty of different folks for the passive learning that has been the de facto method since we were children, or we can focus on educating others on how to be better learners and better teachers. I see this happening all around me, two examples: (Gary Pollice is doing some amazing work with his students at Worcester Polytech Institute, the learning principles Kathy Sierra has long talked about and made into a successful series of books (Head First) – check out her presentation from a recent OReilly conference here: http://toc.oreilly.com/2008/02/video-of-tim-oreilly-and-kathy.html
Ken asked: Can there be a successful apprentice without a master craftsman? Where are the master craftsmen?
Yes, I believe that there can be a successful apprentice without a dedicated master craftsman. Or at least relatively successful. The master craftsmen are few and far between because people tend to move away from the craft as they have opportunities for advancement. It's a rare person that opts to stay technical for the course of their career
Ken asked: Do the most successful software corporations provide an environment that encourages (or allows) the master craftsman to educate new programmers?
I would like to think so. I am not a master craftsman, but as a journeyman co-leading a software corporation, I am trying to create an apprentice-friendly environment. I wouldn't say I am trying to educate, though. I'm trying to facilitate their learning.
Ken asked: Does the open source movement create an apprenticeship environment?
I think the open source movement makes life easier on apprentices. I know I would not have been able to become a programmer at all without open source software. The things that open source helped me with the most were providing me with an easy to learn language (Perl) that was freely available, with free documentation and an endless supply of source code that I could download and read.
Ken asked: Where can any apprentice go to get brutally honest assessments of their efforts?
It is the apprentice's job to find a mentor, a peer, or a group to get feedback from. This is a key aspect of apprenticeship.
Ken asked: Certainly it is the responsibility of the individual to pursue their own learning - but doesn't the culture around them share a large responsibility in training them?
The culture should absolutely take responsibility for giving people the best training they can get. But this book is written at apprentices rather than industry leaders, so I focus on self-motivated learning. Apprentices can't wait for the culture to give them what they need, they have to go out and get it themselves.
silv3r189 said
I'd like to say what a joy it has been to go through the current draft of Software Craftsmanship.
I'm currently in a situation where I found myself deeply yearning for a new career in web development. The problem is I'm in an industry that focuses on business software, and for 40+ hours a week, I have a limited time to interact with what I have a true desire to learn. I have a fairly good knowledge of programming concepts, but very little knowledge of the software development cycle. I feel that I'm stuck in the 'apprentice category', which repels me from making the difficult decision that I'm currently stuck with: switching careers without enough knowledge of a particular language that a new company requires or sticking with in the current industry I'm in. I certainly have the ability to learn any language, but I don't have a problem to solve aside from the mundane ones that the books I read in my personal time have to offer.
So the point of the short blurb about myself is this - I have created a dillemma that expels the point of this blog, that favorable conditions never come (working 40 hours a week in an environment that does not promote learning what you desire). Although my point seems unfair and slightly abstract, due to the fact that I could certainly switch careers and find somewhere else to work that involves web development - it goes back to the challenge I mentioned earlier - switching careers. It is difficult when you lack confidence in the skills the new career requires.
Before reading the first few chapters of Software Craftsmanship I lacked the proper guidance to make this decision. Now I know better what I have to do to become a successful craftsman.
My first significant job out of college actually was an apprenticeship in many respects, even if it wouldn't have been called that. The guys who started the company came from corporate telecom software, and wanted to jump on this newfangled World Wide Web bandwagon (it was 1995 after all). They recognized eagerness and potential in me and were willing to bring me on board. I read and studied a lot of great code, and really grew as a developer. I was always encouraged to "think outside the box" to do my job.
The other ingredient in that mix that I've learned not to underestimate, is that I really became good friends with the people I worked with there. It really helps to create the kind of personal environment where you're not on the corporate carrot-and-stick, or trying not to ruffle the wrong person's feathers. When personal tensions began to grow in the company soil, it changed the whole dynamic of everything, even the business model, and it became time to move on.
Conditions have become much less favorable for learning in the intervening years. When I started that job I was a single guy living in an apartment three miles from the office, with virtually no responsibilities beyond showing up for work and paying my bills. Now I try to take advantage of some of the inflexible givens of my schedule. Right now, one of those big givens is my commute -- an hour each way on the train. So rather than waste that time sleeping or playing solitaire, I try to take advantage of it to do reading, writing, and various development projects that help me stay current and sharp.
silv3r189, I'm glad the material in this book has been helpful for you. It's great to hear that you have found a career that you are excited about, though the switch is never easy. Keep us posted on your progress. Maybe even contribute to the career switch topic in the forum ?
Michael Hunger said
I think one of the points Ken tries to make, the role of open source projects:
Not just using available open source technologies, but actually participating in open source projects is a very powerful way to learn. Most open source projects resemble start ups (one founder and some enthusiastic contributors, agile practices, fast turnaround etc.). So there you have tons of projects to choose from, great developers, quite a lot of freedom to experiment, positive feedback mentality almost ideal conditions for being an apprentice. And the great thing about this is: you don't have to leave your work (staying on the safe ground financially - especially with wife and children). You can contribute to the projects in your spare time or perhaps take some time off work.
And becoming an active contributor to an open source project has a lot of other advantages. Its quite positive on any C.V. nowadays, you get in touch with a lot of interesting people, you learn a lot and you can contribute back at least a bit of the benefits you gained from all the open source software you use.