One of the outcomes from Foraker’s developer retreat was a plan to move away from Backbone to Ember. At Foraker, we’ve found that reading groups are a great way to learn together and stay motivated as a team. Naturally, we opted to tackle Ember’s steep learning curve via reading group, meeting for an hour each week to discuss new material.
We’ve had some good times with Backbone and done some great things. So why switch?
We were primarily motivated by the advantages Ember offers to teams of developers working on the same application. While “framework” might be a dirty word to some, we’ve found the opinionatedness of Rails to work well for us. We’ve found the firm opinions and strong conventions of Rails helpful for maintaining consistency, organizing our code, and ensuring that new team members can be productive quickly. Having one right way to do things often prevents the proliferation of ten technically-correct-but-unfortunate ways.
After jumping into learning Ember, we were thrilled to find a vibrant community. In the place of corporate leadership, we found a community-driven culture. The open source nature of Ember ensures that people are working on improving the framework and the surrounding ecosystem 24/7, without a parent body imposing bureaucratic barriers.
Also, just watch Tom and Yehuda watch each other. It is the sweetest.
Reading Groups at Foraker
Previously at Foraker, we’ve had a Ruby Reading Group for junior developers, and it was a great learning experience. Basic architectural principles, single responsibility, and so on are relatively static.
We currently have a HTML and CSS reading group meeting so that designers, UX engineers, and project managers can be familiar and converse about front end ideas at an implementation level. Again, while HTML and CSS are of course continuing to evolve, it’s not at a breakneck speed.
So How About that Reading Group?
Ember, however, is a constantly moving target. Learning Ember is to simultaneously learn how things are today and to learn how things are going to be tomorrow. This can be intimidating, but it is also exciting. Creating a reading group for a technology that is evolving so quickly does present its own set of challenges.
I believe we were successful in creating a curriculum for our Ember reading group that balances the wisdom of history with the state of the art in a way that empowers people to start building applications using the current best practices.
The Importance of the Materials
People learn best through a variety of methods; no single source can serve your entire company adequately. Some people learn best from reading API documentation. Some people learn best from reading tutorials. Some people learn best from watching videos.
Where possible, our reading group’s curriculum consists of a selection of each for every week. Each week also gets a synopsis for the people who were too busy to actually read/watch the assigned materials.
Get Your Hands Dirty
There’s no substitute for experience, and as part of the reading group, participants worked on their own Ember apps.
We toiled through getting local development environments set up, and then went our separate ways to bang our heads against real problems encountered while building real applications. In our weekly meetings, after reviewing the material, we would take turns demoing our applications, reviewing each others’ code, and offering suggestions.
Frustration is the greatest vehicle for learning.
The power of having an open curriculum is that anybody can contribute. We’re doing our best to keep the materials current, but we would be thrilled to have your help. We’ve already had some great contributions, and we would love some more.
The community that builds Ember and the ecosystem of add-ons, documentation, and tutorials is astounding. We’re happy to be able to contribute, and we hope that people find the reading group materials helpful. If you use them for your personal development or to organize a reading group, please let us know!