On code and luck and the start of journeys
February 14th, 2007 byI still remember how it was when I first started programming, as it was just a couple years ago. It was like a game. The first thing I ever coded outside of book exercises was a mini command line RPG in Ruby. It was fun, like a complex, living version of the HTML and CSS code I was used to. As the months went by and it became more apparent that my organization was desperately in need of experienced developers, programming seemed less like a game and more like a rare superpower I did not yet possess. I couldn’t help but look down on my design and CSS skills as I sat in on meetings regarding our need for senior programmers. During one of these discussions, such a strong feeling of inferiority and helplessness hit me that I actually burst into tears (yes, the one thing I dread doing most in front of my all-male IT department… groan!).
But I was lucky. The very same day, we got a call from Ryan Platte, a developer who had been doing some contract work for us. He was looking for someone to mentor. In the next couple months, he introduced me to practices like test-driven development and refactoring and essentially gave me eyes to see the artistry in code. I came away with a new passion as well as a need to someday pass on his goodwill by giving back to the community, just like how he did. Programming was now much more than a game, or a power, or some skill superior to design. After my organization sent me to a couple amazing developer events over the next year and as more developers invested in me, it became more clear what it was. But I didn’t see it completely until my first college Java course last fall.
I skipped the intro course and went straight into the intermediate course, even though an advising professor said I couldn’t. I was too hyped up to listen. I read through the textbook the couple weeks before the semester began and entered the classroom on the first day with a smile and a huge desire to learn more. What I found in that room shocked and almost horrified me — everyone was completely lacking in the excitement and inspiration I had become accustomed to. Most of my classmates were not college students but rather people who had been sent here by their employers for work reasons; but no one, not even the professor, seemed to regard the Java learning experience as anything above work. By work, I mean the kind of irritating, difficult, tiring work that makes one yearn for the weekend. And it began to make sense.
Despite the fact that students should have already taken a year of programming-related classes before entering this one, we were never told to use anything more than the easiest, messiest methods of doing things. One time when I was asking how to convert month names to numbers (I was needing SimpleDateFormat), my professor’s first suggestion was to write 12 if statements. She never bothered looking at our code; we only had to show her that our programs ran to get the credit. But I couldn’t blame her; the stuff we were writing was practically too mangled to read. How could anyone be excited or inspired by stuff like this?
I’m grateful for that experience because it helped me fully appreciate everything that had caused me to regard programming as a profound art and a life-long journey. A journey that’s about to get way more exciting, because I lucked out again! Just last month Ryan notified me that the software company where he works, Obtiva, was looking to hire apprentices. I’m beyond thrilled to say that I’m one of the students they’ve decided to take in. These are people who not only specialize in agile and test-driven development, they actually teach classes on the topic. I expect to have many more things to share with you as I progress :-)


February 14th, 2007 at 11:15 am
How fun!! being an apprentice sounds like a great way to get some more experience! I agree with you on programming, its fun.. especially right now for me, ruby!
February 15th, 2007 at 2:28 pm
As you go through programming jobs, networking meetings, etc., look for those other folks who have that light in their eyes and get their cards!! It’s fairly unusual to meet people who are really passionate about programming. Hang on to them and build up a network…it’ll be incredibly useful down the road.
Sounds like you are off to a great start :-)!
February 16th, 2007 at 8:28 am
Nice Vic!
February 16th, 2007 at 9:27 am
To what Sarah said… Yes exactly.. that is why we have this site. Not only do I look for people with the passion but I also look for WOMEN who have the passion… or even the possiblity. As for going over to Obtiva.. The guys over there are going to take good care of you I am sure. Dave Hoover is one of the smartest, nicest men I have ever meet and he is an awesome teacher. I am very excited for you and glad they are going with the apprenticeship model. Just make sure that you carry on the teaching. Also if you haven’t yet read the book “Software Craftsmanship - The New Imperative” you should pick it up. Dave was working on a book about apprenticeship patterns so if you can get a hold of the chapters he has already written that would probably be a good thing to read as well. I actually believe strongly in this model of teaching and I feel students learn far more as apprentices than they might from any classes they take in college. When we finally get this group and site where I envision it to be I hope to have a system where everyone involved is an apprentice, journey women, or master within varying levels of experience. For instance an elementary school girl in 5th grade might be an apprentice to a 7th grade middle schooler but she may also be a master to a 3rd grader and journey girl to a 4th grader. I want to grow a community of women developers who are taught the art and beauty of coding from the beginning. I want them to pick up on our passion and take responsibility for their own learning and advancement but also be responsible for helping the next group do the same thing. Its a work in progress in my brain but I would love to discuss the ideas with you… especially as you move through your apprenticeship program with Obtiva.