As a front-end developer, I’ve never had a mentor; at least not a face to face mentor. The closest I’ve had to a coding mentor was my ActionScript instructor, Liza Brown from Inkling, when I was in design school. Like many other front-end developers, I’ve learned through books, blogs, studying the code of others, experimenting and of course through doing — tackling the problems I come across as I work.

In a profession that is full of the self-taught, mentors and teachers are important. Mentors and teachers play a significant role in passing on the collected wisdom and knowledge of the community — to the community.

The past weeks, I’ve been reflecting on my development as a front-end developer, and I wanted to stop and say thank you to three people who have inspired me and served as my mentors along the way without knowing it: Michael Hartl, Addy Osmani and Rebecca Murphey. Through their work I’ve become a better coder, with a deeper understanding of web app development and I’ve been introduced to the work and writings of numerous others in the JavaScript, Ruby and open source communities.

These developers are not only critical practitioners with deep knowledge they are born teachers who have contributed a wealth of educational material available for free online. They give presentations, write, share the work of others, teach through real projects and their code is full of useful comments thoughtfully written with the intention of guiding and teaching.

What each of these people have in common is an ability to use the tools of our trade as a medium for education. Building applications, solving broken tests and experimenting with working applications are typically the route most of us take into development. The difference here, is that these are guided learning experiences focused on the quality of the solutions produced.

If you haven’t checked out their contributions to the open source developer community, I highly recommend taking a look. A quick Google or Github search will reveal numerous articles, podcasts, screencasts and projects to explore. The following is a list a few of my favorite projects.

Ruby on Rails Tutorial is an in-depth guided journey through developing a basic Rails application. Hartl’s book/tutorial served as my gateway into the world of web app development along with Ruby, Rails, MVC, the command line, Github and test-driven development at a time when all of these things were relatively unknown to the majority of front-end developers.

It’s hard to overestimate the value of design patterns in any programming language. Design patterns are recurring vetted solutions to common problems encountered in application development. Design patterns incorporate best-practices and the collective knowledge of the programming community. Addy Osmani has done a lot of work documenting the design patterns used in JavaScript applications along with extensive references providing supporting evidence and further explanation from numerous articles and blog posts written by trusted members of the JavaScript community. In addition, he has put together a Github repository with well-documented examples of design patterns used in jQuery plugins.

Todo MVC is the ultimate JavaScript MVC playground.
Todo MVC is a web app that has been built in numerous open source JavaScript MV* frameworks including Angular.js, Ember.js, Backbone.js and of course vanilla JavaScript. Along with his book on JavaScript design patterns and a book on building Backbone.js applications (also available on Github ), Todo MVC provides a much needed resource for navigating and understanding the countless JavaScript frameworks in use for website and web app development.

With JS Assessment, Rebecca Murphey has provided a much needed assessment and learning tool. JS Assessment is a behavior-driven development tool for assessing JavaScript skills or for improving your own skills. The app is a set of failing tests covering a number of aspects of JavaScript.

I’ve highlighted three developers, but I do realize that this doesn’t begin to scratch the surface of all the amazing web developers and front-end developers who are actively contributing to the craft, the open source community and passing on knowledge. To each of these developers, I say thank you!