To sum up my non-standard path to development could take some time but the short version is H.S. Physics teacher => 3 months as an apprentice => Thoughtworks => Obtiva => Backstop Solutions. Because of this, when I was just starting out at ThoughtWorks, I was actually an apprentice but paid and labeled as a full developer. During that time I was consulting at a fortune 500 company with a team of employees and ThoughtWorkers and employees. One particularly rough day I was admitting ignorance again and again and looking very stupid because of it. One of the key patterns of being an apprentice is “expose your ignorance” and yet it is excruciating. As adults we are used to being good at things and to go back to being embarrassingly bad at something is such a mental strain that most people don’t do it. Try learning a second language or a first musical instrument and you will feel this pain.
This may have been the day that I told my pair (who worked for the client and could get me fired) that I though a ‘<td>’ in some HTML made a call to the database. In my defense it is a table data element so it wasn’t a terrible guess…
Many more mistakes like that were made and then it was time for lunch. I was feeling pretty bad but we all had a nice lunch on uncle ThoughtWorks and all was, if not well, then better. At the end of the lunch we played “rock, paper, scissors” to determine who expensed the lunch. I’m not sure if you’ve played this game with people who play it all the time but they get fast and oddly great at a supposedly random game. And so they crushed me so bad that someone had to explain that I had lost (it all went so fast). On the way back to the office I was in a state of shock: I had gotten used to being dumb at programming but getting smacked down at lunch wasn’t even on my radar. I began to fear that leaving my tenured teaching job may have been a terrible mistake. As we drove on through the oversized streets of the job’s medium sized midwestern town I had to look out the window and pretend to be interested in the view so they wouldn’t see the tears in my eyes.
This is an event I think about a lot when training apprentices and junior developers. I try to say often: “You will feel overwhelmed and terrible and that’s what everyone feels and it’s fine. If you were doing a bad job, relative to your experience, I would tell you.”