If there is anything which life as a student has taught me, it is how to learn. Prior to my start as an apprentice, I could not imagine the incredible community of developers into which I was about to enter. Indeed, living the country life and learning on my own was an exercise in "doing it wrong."
The journey I have taken from then until now, upon reflection, aligns well with a few "patterns" from the book Apprenticeship Patterns by Dave Hoover and Ade Oshineye. It is a wonderful resource for the perpetual student and comes highly recommended for those either seeking or already in an apprenticeship in software development.
Find Mentors
When I made the switch to software development as a career goal, I was a few years out of college with not much computer science experience. School will only carry a person so far; I needed something more. To quote the problem from Dave and Ade's book, "You're walking along a path with no idea of what's around the next corner or how to prepare for it. You need help and guidance."
In an effort to find my way forward, I sought the advice and experience of my college instructors. My two greatest supporters, Adrian Herbez and Pamela Dunn, were more than willing to help me discover my path. While I would not consider them my mentors, nor myself their apprentice, they gave of their time and knowledge as a true mentor would. We found some gaps in my own experience and worked to fill them in.
The next step in my journey comes from both their sage advice and another pattern from the book.
Kindred Spirits
As the pattern describes, "You find yourself stranded without mentors and in an atmosphere that seems at odds with your aspirations." While I had the support of my instructors, I did not truly have a mentor. What I did have was an environment, far from the city and almost completely devoid of fellow developers. I needed a community.
I was encouraged to network, to seek connections with others in my chosen profession. I researched a few meet-ups in Chicago which seemed interesting, then made the voyage to the first of many. Timid, yet motivated, I introduced myself and joined in conversation. On this very first evening, I learned some important things which helped me to find direction. The most notable of these was that there is such a thing as an apprenticeship in software development. Until this time, I had never heard of such a thing.
At this meet-up, I realized much more than what my next goal would be. I also learned the steps I would need to take to reach that goal. New and important ideas, such as test-driven development and "clean code," would prove crucial to my own preparation for an apprenticeship. Not long thereafter, following many more conversations with developers of all experience levels, I was accepted as an apprentice at 8th Light under the guidance of Colin Jones.
This community has led me to many wonderful opportunities. Still, one of the greatest lessons to learn was soon to come.
Unleash Your Enthusiasm
"You have an insatiable excitement and curiosity regarding the craft of software development. You find yourself holding back..." Dave and Ade describe the "holding back" as a result of being "conscious of how much more enthusiasm you have for the work than your colleagues do." My own enthusiasm was withheld for a slightly different reason: I was still apprehensive around more talented and experienced developers than myself. More to the point, I was intimidated.
In the midst of my apprenticeship, I was invited to attend the StrangeLoop conference in St. Louis. Uncertain of whether I could make the most of the experience, I was quite simply advised to "just take it in." By the end of the first day, being surrounded by experienced professionals and respected leaders in the field had me completely overwhelmed. I was at a loss for some perspective. At dinner that evening, one of our craftsman exclaimed, "I love being in a room surrounded by people so much smarter than me." It took a moment or two to digest, but I realized the wisdom in these words.
In the time since, I have been less apprehensive and instead more engaged on occasions such as this. Being around this wealth of knowledge and experience is not something to fear, but something to embrace. When the next conference came along, this time 8th Light's own SCNA, my enthusiasm was not hidden away. I networked with attendees and speakers alike, unafraid to learn something new or make a lasting connection. Much like my very first meet-up, I discovered opportunities for personal growth which I otherwise would have missed.
The greatest resource you have as a learner is your community. Avail yourself of the guidance and support which no book nor tutorial can offer. Attend meetups. Participate in discussions. Kindly ask for advice and feedback. Seek others willing to sit down with you and help you along, and treat them to coffee. If you humble yourself and reveal your willingness to learn, knowledge and growth will soon follow.
Your own path of learning may take a completely different course from mine. Your goals and aspirations might be entirely your own. Regardless of your chosen path, always remember that there is a vast collective of beginners and masters and everything in-between. Everyone has something to teach; everyone has something to learn.