Icon_news

News Articles

There are 7 news articles

New Title! by Dave Hoover. 66561_32x32_thumb

Posted in Public. Tagged with title.

I mentioned in my previous post that we were considering changing the title of this book.  We have landed on Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman.  It was tough for me to let go of "Apprentice to Journeyman" because that very much describes the transition this book is focused on, but we believe this title is more distinctive and descriptive of the content.

We will soon be doing a new release of the content of this site and the new title will be reflected at that point.


Considering a Title change by Dave Hoover. 66561_32x32_thumb

Posted in Public. Tagged with title.

PragDave posted a criticism of this book's title 9 days ago.  I'm not going to go into details, but I will say he took the post down a day later and posted a public aplogy two days after that.  I will also say that it was quite an ordeal for me and that Dave's apology was unexpected and actually unecessary at that point since we had basically resolved things privately (no small feat via email).  So it was an incredible blessing to read the apology, and freeing.  I generally don't have any problem with hearing feedback about the title of this book, but the tone of Dave's criticism and my reaction to it took the whole conversation off-topic and completely closed my mind to critiquing the title myself.

Once Dave apologized I felt free to reconsider the title.  I wish I could have had the wherewithall to objectively look at the title before the apology, but I had taken the whole thing very personally and I was very much in you-can-pry-this-title-from-my-cold-dead-hands mode.  Thankfully my co-author Adewale was more objective and has been ruminating and suggesting better alternatives.  At the same time, I received a supportive email from my faraway friend Alan Francis who prompted me to consider changing the title.  I also spent some time with my team in Obtiva's Craftsmanship Studio brainstorming a new title.  And so Mary, our editor, and Adewale and I are considering a title change.  More information will be coming shortly.  I will say for now that the main title is most likely going to remain unchanged.


Arrow_down Hide comments
  1. Michael Hunger said  

    When I first heard your title I instantly thought of the other books that share parts of it. But when thinking further about the title, I think that's a quite good title. I puts the book into a category and gives a scope of where it is applicable as well as a goal (journeyman).

    With other topics you also have several books that form ecosystems. Be it Design Patterns, Refactoring, Language books, Head First etc. So why not having an ecosystem of Software Craftsmanship books.

    Thinking of another title was actually not that easy. On the one hand you want to distinguish your book from the others (not being confused with them, or being referred to as "the other book"). On the other hand you want your readers (and potential buyers) identify your book as part of the topic they are looking for. So a too fancy title (like "My Job went to India") is not helpful either. You also don't want to be confused with those tons of recipies for life improvement books (so be careful about the wording).

    Changes I could imagine would be:

    Software Craftsmanship: The Apprentice Years. (missing the goal)

    Software Craftsmanship: The Long Road. (negative tone)

    Craft your journeyman's piece: yourself.

    Although I'd rather keep it, I also offer you my personal title:

    Creating Passionate Developers: The beginning. / How to spark excitement.


    Hope it helps


    Michael



  2. Kelly Robinson said  

    I first of all noticed this group (and joined it) because I was intrigued by the title.  

    After the title hooked me, I began to read through the excerpts.  I quickly realized that the book is speaking to my exact station as a software developer.  I'm a fresh bit of young talent in California, working in my first real career role as a software developer.  I have a lot of energy and new ideas, as well as a lot to learn.  "Wearing the White Belt" and "Perpetual Learning" both seemed to be speaking directly to my personal situation.  I have developed strong skills in one language, and have been tasked with learning another, etc..

    Needless to say, I've been very excited about the book.  I've been following along each week, although until now, I haven't contributed any sort of feedback.  This is mostly because I feel that (at this point) I have more to learn from the book than to contribute to it.  The question over the title of the book seems to be one where my input is more relevant, because I'm definitely the target audience, and I'll definitely be enjoying a personal copy.

    So for what it's worth, I think the title is great.  It caught my attention immediately.  I love the idea of Software Craftsmanship.  One of my favorite books, however recent, is "Beautiful Code."  I look up to the authors of that title as masters of the craft, and they represent what I'm working to become.  I've only been developing professionally for a few years, but I have already seen that there is a great need within the industry for people to understand software development more in terms of old world craftsmanship, just as you've labeled it.  I'd rather think of myself as a journeyman than as an engineer, and I'm thankful to be in a position at work where my manager and co-workers share the values that the title expresses.  I think that's too often not the case.

    I do understand the concern.  I'm an avid reader and collector of software development titles, and though I'm familiar with Pete McBreen's book, I honestly didn't think twice about the similarity in the titles.  I simply thought: "here's a new book."  From my perspective, the titles don't clash, and the similarity in the name might only speak to a common thread, and an idea which needs to promoted in the industry.  If anything, the titles could mutually reinforce one another, and I think that would only be a good thing both for those ideas and for the books themselves.

    Whatever the title, I've enjoyed reading along so far, and look forward to more developments.  But I think the title speaks volumes, and I encourage you to keep it.

    Best,

    -kpr

    Ps.  I also took to the cover, and I think it's a wonderful concept. ..so more kudos!

  3. 66561_32x32_thumb Dave Hoover said  

Thinking Small like Paul by Dave Hoover. 66561_32x32_thumb

Not Categorized. Tagged with paul_graham, small_companies.

Paul Graham's essays inspire me.  I suppose this is because I already agree with most of them and he's just showing me how to construct arguments for the ideas that I unknowingly held.  One of Paul's common themes is the "great hacker" which resonates strongly with me because I aspire to become one of those people (referred to in this book as "master craftsman").  The theme that has a stronger influence on me is Paul's take on wealth and risk.  Paul points to the special powers and leverage that programmers can wield to generate wealth under the right conditions.  His arguments on wealth and risk helped steer me toward a local, three-man consultancy rather than an enormous multi-national bank when I left ThoughtWorks in 2006.  Choosing Obtiva was one of the better decisions I have ever made.

Paul's most recent essay is not about wealth or great hackers, but the related topic of company size.  Again, it resonated with me because I generally despise working in large organizations.  As someone who loves to create things, the constraints and layers of most large companies kill my soul.  And even if the large(ish) company (thinking of ThoughtWorks) has a hacker-friendly culture, there is nothing so thrilling to me as working in a very small company, simultaneously creating a culture and software systems of my own design.  Paul's experiences running his startup incubator has shaped his ideas about how inexperienced yet talented programmers should start their careers.  He advises people to err on the side of joining or founding a small company rather than joining a Google or a Microsoft for a few years to "learn the ropes".  As long as you can pay your bills without going into debt, I think Paul is right on target.  For programmers, learning is our fundamental activity, and there is no better way to learn than in the context of a small group of people working together to create something.  Spending a few years at a Google or a Microsoft will certainly teach you a lot, but some of it will be non-technical and company-specific and therefore useless once you move on.  I agree with Paul that those years would generally be better spent in a small company or your own startup where you have the leverage and leanness to optimize your learning experience and help you reach the next level of software craftsmanship.


Arrow_down Hide comments
  1. Michael Hunger said  

    "... but some of it will be non-technical and company-specific and therefore useless once you move on. "

    This is valid for all companies and domains (and especially universities). But while learning this specific stuff we also discover a lot about the abstractions that lie behind it and the methods of learning.

    I don't know if you have the leverage to optimize your learning at a startup where slack is not that abundant as you try to get things done. A company that provides the means and time to practise and learn during worktime is certainly quite helpful and can cope much better with the different skills available.


    Michael

  2. Michael Hunger said  

    Just reading Pauls essay. The section that seems a bit problematic in regard of this book is the following: "Which means it's doubly important to hire the best people. Mediocre hires hurt you twice: they get less done, but they also make you big, because you need more of them to solve a given problem." So you just hire the best, i.e. master craftsmen? Or how does an apprentice fit into this? Or should the apprentice just start his own start up, hire the best people and learn from them? :)) Michael
  3. sl805e said  

    As someone who has worked for a company during their start-up phase and on into their operational phase I have the following comments:

    The 2 phases were very different, with very good reason. Initially that "hacker-friendy culture" exisited but once we had paying customers on the books we needed the process and control to ensure that service was not interruped.

    I manged to deal with both scenarios and learnt a huge amount from each.

    So when I hear someone say that they are the type "who loves to create things, the constraints and layers of most large companies kill my soul" I get a bit concerned. It is possible to learn a huge amount at a large organisation even taking into account the processes and procedures that will be in place. I accept that there are times when these processes and procedures can seem to be overly restrictive and indeed this has been a contributing factor in me leaving a previous position. This however doesn't mean that working for large organisation can not worthwhile.

    I suspect many of us have met people with this attitude. My experience is that, even in a small organisation, this attitude can cause issues. It very often translates to "I know better than you". In most cases this turns out not to be true.

    When you say that you like to build "software systems of my own design" what I hear is someone saying that they are not open to ideas from others, not willing to work as part of a team, not aware of the impact that their work has on other people.

    People with this attitude are absolutely more suited to a small organisation but by turning your back on large organisations you are not turning yourself into a well rounded software professional.

  4. 66561_32x32_thumb Dave Hoover said  

    sl805e, these are very good points.  If I have an achilles heel, it is my disdain for large organizations.  I wholeheartedly agree that learning opportunities can be found in every situation, even in situations I would rather avoid.

    I understand your concern for my "soul-killing" comment and how that often coincides with the trait of "I know better than you".  I'm hoping that's not the case for me, though I'm sure I've been guilty of that tendency at times.  I should have stuck with the positive side of the statement:  I love to create things, and in my experience, working for small companies on small teams facilitates this.  I also understand why you could take my "software systems of my own design" comment as sounding like a prima dona, someone who can't possibly be bothered with the contributions of the pitiful mortals who stumble around in ignorance.  But consider the context of this blog, please read some of the patterns to get a sense of where I'm coming from.  I have left you with the wrong impression of me if you think I am not open to ideas from others or not interested in teamwork.

  5. 66823_32x32_thumb eno said  

    As another person who has worked in several startups as a contractor (and now works full-time for a company owned by a large corporation), I would also have to say that it doesn't automatically follow that startups have great examples of good teamwork, super creativity or informed management. In fact, in my experience, it has often turned out to be the opposite (or at best, a mixed bag). True, an individual in a startup often has an opportunity to learn many things (wearing many hats) and maybe even shine, BUT if any component of the startup (be it technical, managerial, etc) is dysfunctional then it can be a pretty bad place to be.

    Are big corporations bad?

    Short answer: Sometimes. Maybe. Depends.

    Long answer: I would say that while its true large corporations often do have the mind-numbing soul-destroying conventions attributed to them, they are sometimes great places to learn good responsible practices that will make you a better craftsman. It depends on the company. Having spent 7 months carefully looking (including interviewing at some very well known companies), I now work for a "regular" small company but the management and technical team here are excellent. We dont have cubicles. People are respected. Communications are good. It can be fun. Im working on a project that is a "startup" idea but inside an existing business. I feel Im in a good creative place where our ideas are encouraged and heard.

    So, part of a craftman's journey should include stints in all types of companies large and small, and in all types of positions and then deciding which part to focus on for a rewarding career.

  6. 66561_32x32_thumb Dave Hoover said  

    eno, right on. +1

The Dangers of The Death March Mentality by Dave Hoover. 66561_32x32_thumb

Posted in 2. The Long Road. Tagged with death_march.

This book is written for newcomers to software development, so when I blog about "The Death March Mentality", I'm looking at it through the lens of someone in the trenches, someone at the bottom of the hill. From that perspective, I believe that Death Marches are a destructive force in our industry.  I'm referring to the destruction of the newcomer's passion and excitement for developing software.  If this person allows himself to trudge through the long, seemingly un-ending hours of a poorly run project, this person is going to gradually associate the act of coding with pain.  Once this association is in place, he is going begin to look for ways to alleviate that pain, which will likely mean finding ways to do less coding and more managing.  When the newcomer eventually moves into management, they will, like most children who swear they will be different than their parents, very likely repeat the mistakes of their predecessors.  This cycle is an enormous loss for our industry as anyone can attest who has witnessed the incredible power of the intersection of the passion of the newcomer with talent and a healthy team culture.

For the newcomer to want to Stay in the Trenches, he will need to Nurture his Passion.  I acknowledge that it isn't fair to ask a 22 year old to stand up to his boss when he is told he has to work another 12 hour day, but this is essentially what I am prescribing.  I want newcomers to software development to understand that working hard to deliver software does not need to hurt.  I want newcomers to understand what Pete McBreen means when he says "Software development is meant to be fun. If it isn't, the process is wrong."  If newcomers can protect and nurture their passion for development, I believe our industry's innovations will flourish and our talent shortage will gradually disappear.


Arrow_down Hide comments
  1. Julie Baumler said  

    I think there is a huge misconception that the best way to program (or administer systems) is to work long hours.  I'm more productive when I work less.  And yes, there are some days where I am really in a groove and can and want to put in 12 or more effective hours of work, but those are generally followed by days where I'm only functional and effective for a few hours.  And constant required long hours do make your job painful. 


    I do think that a lot of the reason so many new managers do no better than their predicessors is because of a lack of management training (and in many cases interest.)  If management is just what you do because you a) want out of a technical roll or b) at some point it is the only (visible or common) way to progress in your career, chances are you aren't going to be very good at it.

  2. shogun70 said  

    Fun's gotta be the wrong concept. The pay would be a lot less if you could guarantee it was fun.


    If (on average) you don't have to do overtime, you're doing okay. Simple. Quantifiable. Sustainable.


    Anything better than that is a bonus. Fun is a double-bonus.

  3. Michael Hunger said  

    Of course it is difficult to stand up as a newcomer to an unfitting environment. But perhaps thats the best thing one can do. Either way - improving the environment or getting fired and looking for a better place to improve your craftmanship - its a win.

    Regarding the work hours - I fully agree. It is surely a sign of proficient people to work less and achieve more. To focus on the real neccessities and remove waste is one of the most important lessons to learn. When looking at lean and comparing this to the ways most of us still work - there is much room for improvement (kind of downsizing). And if you work less you have more time for your family and for learning and practising. (See also Kents 8 hour workday in XP)

    But getting so efficient is surely a part of becoming a journeyman. 

    I don't agree with Dave that it is the apprentice lone responsibility to create an environment suitable for improvement. The company should be very interested in this - and most are if you just ask them.

    Back to Agile - you need to have slack to perform well as an agile team. Besides the buffering effect it also reduces the pressure and allows you to adapt much easier to changing requirements. And 100% (or more) utilization of anything is always a bad approach as every operations, production or development manager can tell you (I wonder why software developers have to be utilized at 120%).


    Michael

  4. Michael Hunger said  

    Regarding Death Marches :)

    http://despair.com/quality.html


  5. 66561_32x32_thumb Dave Hoover said  

    shogun70, I have to disagree.  Fun is an ideal, but in my opinion, it's not a double-bonus.  I suppose it depends on what makes you tick.  To me, working side-by-side with a small team, learning new technologies, while creating software is naturally fun.  There are certainly times in even the best circumstances when I need to grit my teeth, deal with difficult situations, or put in a long day here and there, but I believe that the act of developing software is fun when it is managed properly.

  6. 66561_32x32_thumb Dave Hoover said  

    Michael, I'm not trying to say that no one else is responsible for creating an environment suitable for improvement, but I am saying that the apprentice should not hesistate to try to create this environment if his employer is not.  I am trying to prevent newcomers from accepting the status quo, putting their heads down like everyone else, and muddling through their cubicle farms in isolation with locked-down internet connections preventing them from collaborating.  Apprentices should actively seek out (or create) teams, organizations, and companies that will maximize their learning potential.

  7. Michael Hunger said  

    Ok, there I agree wholeheartedly. There are many ways for anyone enthusiastic to create collaborative environments even within restricted zones.

    What I find a bit difficult is all the responsibility the apprentice has to bear. If you look at your craftsman studio at obtiva (as far as I could get from your blog) there is a much more positive environment and the apprentices are welcomed and supported. Where should an apprentice draw its motivation from if there is a more hostile environment and all this responsibility?


    Michael

  8. 66561_32x32_thumb Dave Hoover said  

    Michael, that's a great question.  I guess my answer would be found here.

  9. 66823_32x32_thumb eno said  

    Julie,

    Often the only upward career path for programmers is into technical management. Now often, if you're on that path you've had time to learn something by going through senior programming / team leadership positions beforehand. So it doesn't automatically follow that because that may be your only visible path you're automatically going to be bad at it.

    However a person making that progression can (and probably should) take an interest in the craft of managing technical people and management in general. There's always something new to learn in technical careers.

  10. 66561_32x32_thumb Dave Hoover said  

    eno, Julie, in the context of this book, a progression to management is a pitfall to be avoided. I'm not saying becoming a manager is necessarily a bad thing, but if you are a newcomer who moves quickly up the ranks, there is a danger that your technical skills will be left behind to atrophy. Again, this is not necessarily a bad thing, but it is A Different Road than The Long Road. Staying in the Trenches thoughout your apprenticeship is critical for your first steps toward mastery.

Favorable conditions never come by Dave Hoover. 66561_32x32_thumb

Posted in 4. Perpetual Learning, 5. Construct Your Curriculum. Tagged with learning, lewis, teaching.

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.


Arrow_down Hide comments
  1. 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!

  2. 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?

  3. 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

  4. 66561_32x32_thumb Dave Hoover said  

    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.

  5. 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.

  6. 68294_32x32_thumb Frederick Polgardy said  

    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.

  7. 66561_32x32_thumb Dave Hoover said  

    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 ?

  8. 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.


The Return to the Apprenticeship Patterns by Dave Hoover. 66561_32x32_thumb

Not Categorized. Tagged with history.

I started developing the Apprenticeship Patterns in the Spring of 2005. I sort of stumbled into the topic thanks to a convergence of events. First, Brian Marick hooked me up with StickyMinds.com who asked me to write a column for them. Since they had just signed up the Prags to write about software craftsmanship, they asked me if I could write on that topic. Being a fan of McBreen's Software Craftsmanship, I was thrilled at the opportunity to write about one of my favorite topics and accepted their offer. Yet I wasn't sure how I, a programmer with just over 4 years of experience and no technical education, was going to have much to offer on the subject. Eventually I deduced that the only thing I was qualified to write about was my journey from knowing nothing to teaching myself enough to get hired by ThoughtWorks in a relatively short time span. This set the stage for my focus, and eventually I was reading Chris Morris's blog and found the inspiration for Be the Worst, the first pattern in the language I'm still developing with Adewale Oshineye.

Toward the end of 2005 I had to put my writing on hold in order to participate in the unique opportunity to get paid to develop in Ruby, a language I had been waiting almost 3 years to use in my day job. Thanks to Rails I stopped writing, I left ThoughtWorks, joined Obtiva, presented at RailsConf 2006, developed our Rails TDD course, and started our Craftsmanship Studio, where I have tried to create an environment that is conducive to successful apprenticeships.

Mary Treseler was the first editor to express interest in publishing the patterns back in 2005. She didn't forget about the Apprenticeship Patterns over the years and encouraged us to finish them and publish them with O'Reilly. And here we are. It's good to be here.


Welcome to the new home of the Apprenticeship Patterns by Dave Hoover. 66561_32x32_thumb

Not Categorized. Tagged with announcement.

This blog is the new hub for tracking the progress of the apprenticeship patterns that I started writing in 2005.  I am excited to announce that O'Reilly will be publishing the patterns in the upcoming book Software Craftsmanship: From Apprentice to Journeyman.  Please subscribe to this blog's feed to track our progress and participate in the community. 

Arrow_down Hide comments
  1. Michael Hunger said  

    Your previous pattern site at: http://www.apprenticetojourneyman.com/patterns/BreakableToys and http://dis.cipul.us/ are not working anymore. Is this intentional? I'd liked to read some more blog entries about the experiences with your apprentices at Obtiva's Studio. Unfortunately the last one was from August '07. I'm going to look for the blogs of your apprentices to get some more information on this. Michael
  2. 66561_32x32_thumb Dave Hoover said  

    Michael, yes those domains were intentionally taken down (by me) because this domain is their replacement.


    Michael, I'm glad you're interested in hearing more about Obtiva's Studio and our apprentices' experiences.  I don't need much encouragement to write about that topic.  :-)  You won't be able to find the blogs of our current apprentices since none of them are currently blogging (publicly), but you can follow them on Twitter (apprentice, njackson, aberant).

  3. Michael Hunger said  

    Taking the domains down is a bit counterintuitive. Shouldn't they just redirect here. As there are a lot of static links in blogs and articles and cached search machine entries that refer to them?


    Thanks a lot for the fast response. It is always great to here such success stories. That encourages everyone to take steps in that direction themselves.

 

Copyright O'Reilly Media

Powered by Near-TimeTerms of Services | Privacy Policy | Security Policy |