July 16, 2012
Mondays have a tendency to suck in most jobs. As I've been bragging, though, I now work for a company that does things a little differently. I wake up at 6 a.m., get ready and drive 2 hours over to Orlando on Mondays now and I'm happy to do it.
Now I'm not sure if this is a routine thing, but the past 3 Mondays have started off with Nick showing us how to do something rad.
A bit of an adjustment
The front-end dev team here thinks things through and implements things in a very smart way. It is the type of atmosphere that I have been dying to be a part of. I wish I could say that I harnessed a bunch of Chi and instantly became part of the think tank. Not so much.
What if someone sees us
On one of our recent Mondays, Nick wanted to share the process for creating a slider for a project we're working on. So he, Drew and I paired to work on it. As Drew and I were sitting behind him, I couldn't help being a little uneasy. "What if someone sees us not typing something, but instead huddled around a computer." Well, everyone that walked in saw us because we have glass walls. The boss man, Gregg, saw us and waved 'good morning' to us on his way in. That was that. No checking in to see what was preventing us from typing, no casual recommendation to get back to producing something or to only spend a couple minutes with this (as I have experienced in my past). Wow.
The benefits of this approach
For this particular slider, an optimistic estimate for me to do it on my own would have been a couple of hours. Getting it into CoffeeScript would have added a bit since I'm new to that too. Instead, WE WROTE CODE ON A WHITEBOARD AND TALKED THROUGH IT. It was so cool. We talked through how this particular slider needed to work, named things on the board and worked it out in our heads and on the whiteboard. Then Nick typed it up and we worked through the kinks.
I'd say we probably spent about 30 minutes or so together, though I'm sure Nick had spent some time thinking through it in advance. Either way, it was at worst a 'wash' on the time I would have spent. (Considering 3 of us at 30ish minutes instead of me at 2 hours.) However, rather than me knocking my way through it and then Nick and/or Drew having to figure out what I did whenever they had to work with it, we all knew how it worked. Any time now, I can jump into the slider and make sense of it very quickly as we all agreed on the function and the naming.
So this week Nick showed us some awesome that he cooked up for handling a unique carousel. It involved some very logical thinking and honestly it was way over my head. Nick is a programmer in disguise, IMHO. The rad thing is that he applies programmatic thinking to front-end solutions and Drew and I get to benefit from it. So, again I spent a little time behind Nick as he explained how to dynamically assign absolute positioning to a list of items and to assign classes to smooth things out. Fifteen minutes (or less) of brain dumping that makes me reimagine how to approach things and expanded my understanding of logical JS and CSS.
Following the fun, we do a company and then a project stand-up. Monday is a fantastic day for this, in my opinion, because you kick off the week sharing what you're going to do and then you go ship that ish.
Not just Mondays
The design/front-end side of things isn't just awesome on Mondays but they stand out so much that they were worth sharing. Drew has shared that he codes more in his head than he does in his editor. He and Nick have cherry picked a bunch of things from the various CSS processes and shared their collection. Jason thinks through everything and is one of the most pragmatic people that I have met. (As an aside, he is going through some stuff. So if you are the kind that offers thoughts or prayers for wonderful people, give him and his health a mention in your next round please.) Justin is just crazy good at visual communication. Hearing him talk through how to communicate something and seeing the end product is fantastic. There are little things that I probably shouldn't be so excited about but that I am. They use dashes instead of underscores for naming, they alphabetize CSS properties and they don't bind themselves to a complicated CSS grid structure. All huge plusses for me.
Think before you code
So I am now working on being as cool as all of them. I was hired on to a team of thinkers and I'm working on breaking my production-first training. It bit me a little last week as I tried to get to having a viewable item too quickly in some HTML email stuff, but I'm fixing that. The best part is that I have 4 fantastic people to learn from immediately and an awesome team of people beyond them making everything else rock as well.