My first appearance in Chicago Rails conference turned out to be a blast. It's been while since I was in Chicago last time and it felt great to be back in a big city.
Being surrounded by software professionals is an exciting and inspiring experience, and conservations with people working for different companies are undoubtedly valuable, I got chance to talk to the development director of Groupon. I was really eager to know what makes a start-up company successful.
During this brief talk, rather than just standing and facing each other, we sat down in front of a Mac machine and the next thing I knew, we started coding.
Pretty surprising huh? As part of the Rails conference, Group arranged an all day long coding event where Groupon engineers would help other developers design a simple product from scratch, and I was fortunate enough to sit down with the director of the engineering team practicing my skills. As we moved on, the director explained that such an arrangement of “coding in pairs” is a common development practice in Groupon. In Groupon, they called it “pair-programming”, where two developers sitting in front of ONE computer together designing, coding and debugging,. The director told me the pair-programming substantially improved the company's productivity, and many other software start-ups in Chicago such as BrainTree and Hashrocket are trying the same thing.
It is this level of collaboration intensity that shocked me, never once have I thought about collaborating with another developer using only one computer, and I felt a bit overwhelmed by imagining myself collaborating with a software expert and trying to catch up ALL THE TIME.
Soon after my brief conversation with the director, a senior developer in Groupon gave a formal presentation sharing his experience working with college graduates (right on time!), and he started by introducing his life-time hero: Bob Ross. He said,
“Bob Ross taught me how to paint, and in his painting episodes, he showed me how to paint step by step, even a simplest thing... … Bob Ross also showed that he made mistakes and he told me it's alright... … He made me realize that we don't have to be Michelangelo or Van Gogh to make good paintings, we all can do the stuff, we just need someone to kill the fear.”
When he brought his topic back to software development, he said,
“As a software expert, sometimes I forgot how much expertise I learned along the way, and sometimes my ignorance of providing detailed instructions to new programmers resulted in low productivity... ... we more experienced programmers should take the responsibility of not just helping new programmers solve technical problems, but we should dig into details, break down a problem into basic theories and how/why it happened. Most importantly, we should help the new developers kill the fear, show them that 'we all can do the stuff, we just need someone to kill the fear.'
Groupon presents itself as a company with great mentor system, and that’s how nowadays Groupon can not only hire excellent developers from outside, but shape their own good developers from inside as well. My brief encounter with Group IT group convinces me that software development is not a mysterious industry and only people with lots of brains can succeed, it’s the willingness of learning new technology and taking new challenges that makes software developers excellent.