A few weeks ago, I had the chance to catch For the Win’s panel on scaling teams. Scaling 101: How to Grow Your Team Without Losing Your Culture was a panel consisting of leaders from engineering, HR, and recruiting discussing lessons learned from scaling teams at Meetup, Managed by Q, and others. The panel covered recruiting, interviewing, and onboarding in a tight hour. Here are the three lessons I took away from the panel.
I was recently in a one-on-one with a tech lead when we began talking about how his team was doing. His team had recently added one member and lost another, so the chemistry of the team was a topic that was on our minds. He mentioned how he felt the team was coming together, and I found myself asking a question that I’ve been reaching for a lot lately: “What are your signals?”
Angular services serve as a way for us to store data that will be shared through our various Angular components. Services act as a single-point of truth for our application’s data, and as such they are often reused, sometimes heavily. Ensuring services are well-tested is a crucial part of maintaining a healthy Angular app.
Ruby and Rails are both built to help us write concise, meaningful code. One pattern I constantly find myself writing is a method that returns one thing, if it exists, or a default value. This can work well upfront, but it takes a little more care if the case gets any more complex. Fortunately, Rails has just the trick to keep the more complex case nice and lean in its ActiveSupport gem.
AngularUI Router is the de facto routing library in the Angular world. It takes the traditional routing mechanisms, and builds a subtle, but brilliant abstraction upon them. Instead of merely listening for requests at a set of URLs, it creates the concept of a set of states, each one configurable with an optional URL. This abstraction allows for flexibility when refactoring routes, but most interestingly, it creates the concept of a current state and stores key-value parameters of that state. Both the application’s state and state parameters are available for injection with $state and $stateParams respectively, although, as we’ll see, only one is necessary for injection in any given controller.