In college, I was in an a cappella group called The Tigressions, and it was one of my most fulfilling experiences in college. Years later in real post-college life, I am routinely reminded of the many lessons I learned by being part of a group endeavor. Here are some that are relevant to software and startups:
Blend and diversity
We always talked about blend. Sure you want the great soloists but not everyone can solo all the time, and they need to be able to blend their voices with the group when singing harmony. Some girls had great solo voices, some were incredibly musical and arranged music for vocal groups, and some were very quick learners. The diversity in skills made our group stronger.
Experience isn’t everything
Most of the time all we had was a card they filled out with some of their musical experience info. What we found though, was that sometimes the ones with the most ‘promising’ cards weren’t that great. You can’t imagine how many people we auditioned who had 10 years of voice lessons but were completely tone-deaf, and how many people who said they just sing in the shower who had the most beautiful voices.
The most reliable auditions we had were through ‘referrals,’ or when someone in the group had previously sung with the auditionee in other groups around campus and recruited them to try out.
Don’t lower your bar
Being “blessed” with the ability to hit extraordinary low notes for a female, I was slotted into the role of an alto II, the lowest range in the group. But it’s hard to find people who can hit those low notes, so we were down to two AIIs, and inevitably whenever auditions time rolled around, people would try to justify bringing in someone who was just ok but could technically hit those notes. That’s not fair to them or the group. What we ended up doing instead was moving some of the girls in the group to AIIs while we waited for the right people. They were fast learners and adapted quickly.
Within months, the group size could fluctuate between 10 and 20 members, as people graduated. Once we went on tour with 9 people when we were used to having 15. People stepped up to learn new parts to fill in where they were needed. One thing we could’ve done better was to have more people comfortable with singing solos for each song so that we could have a larger repertoire even when people were missing.
Pairing expedites knowledge transfer
With one quarter of the group leaving each year (on average), and being replaced by completely new people, there needed to be a process for knowledge transfer. Each incoming member was given a “Tigressions mom” who would teach them their parts for existing songs. After a month or so, new members were slowly weaned off and moved to a different part of the formation to fend for themselves. Fun fact: I think I now have Tigressions great great grandchildren.
Culture trickles down
As individual personalities fluctuated with members graduating and new members joining, the culture remained respectful, open and collaborative. Surprisingly, personality and culture fit were not a deciding factor in admitting new members. I think most people auditioned just for the groups they could see themselves fitting into, and each group had fairly established reputations that traced back decades to the very beginning of the groups.
As a child, I never really questioned things that were told to me. Even though I ended up an engineer, I don’t remember spending hours taking things apart to see how they worked, and trying to put them back together. I took what teachers told me as truth, never asking why I had to “simplify” 10/3 into 3 1/3 or why I had to memorize formulas instead of learning why they worked intuitively. In retrospect, I realize that that was a large part of why I did so well in school, as the school system is set up for those who do not question the status quo to excel.
I used to take things at face value. Something not working the way I intended? Just learn to deal with it. As I develop as an engineer surrounded by creative minds, I’ve started to see problems as things to fix, things that I can fix. Being able to code is incredibly empowering because the changes you can make are so tangible.
Now I find myself reading things online and offline and thinking, that’s not really a fair generalization, or hey that’s just not true. As much as it infuriates me to read anything by Penelope Trunk, seeing her posts published by TechCrunch and other “reputable” online sources, has made me realize that things people spout as “this-is-the-way-things-should-be-done” are entirely opinion, heavily biased by the filter of their own lives.
I received some engineering advice recently, which was to “question everything that is technical” because people are still figuring stuff out and there’s no one right way to do something. I think this could be generalized to just “Question Everything.” As Tiny Fey puts it so eloquently in her book Bossypants,
“When people say ‘You really, really must’ do something, it means you don’t really have to. No one ever says, ‘You really, really must deliver the baby during labor.’ When it’s true, it doesn’t need to be said.”
The world is revealing itself to me as a dynamic but uncertain place, a place where I don’t have to just sit idly by and watch others change the world. A place where I can make a meaningful impact.
I recently had a long conversation with a college roommate of mine (an Art History major) who expressed interest in learning a bit of coding to help organize some artwork-related data. Not really sure how serious she was about it, I pointed her to CodeYear (run by Codecademy), and was thrilled to receive this email from her the next day:
“Thank you for sending this! I signed up and have already completed the lessons for week one. It was exciting and challenging, but the emotional reward of discovering where I had left out a semicolon or parenthesis was extraordinary.”
I’ve been reading a lot of blog posts lately about how Codecademy is not going to make serious coders, and how it’s flawed in this way and that, but honestly, it’s a start, and more importantly, it’s something that was accessible enough that she actually started doing it. I know and she knows and you all know that Codecademy by itself is not going to make her a software engineer. But maybe she’ll finish a bunch of exercises in Codecademy and feel confident enough to learn more herself or take a class. Maybe she’ll learn Python and be able to write some simple scripts to help automate some tasks. Hopefully she’ll even build the artwork-related webapp she envisions so clearly (I think this is actually the greatest motivation for learning how to code).
Instead of picking apart Codecademy because it’s not a silver bullet that teaches everyone how to code, I’d like to thank the people who made it for making programming (however basic) accessible to people who I would have called completely non-technical. It has also brought a lot of much-needed exposure to what programming is and what amazing things you can do with it, especially to people outside of Silicon Valley and other tech communities. People are learning that programming is not tech support or typing in binary all day. In fact, according to CNN, “Mayor Bloomberg tweeted his intent to learn computer code by the end of the year.” Hey, it’s a start.
Why is it that children seem to revel in consuming the same exact content over and over? I remember watching a lot of movies with my family as a child, and whenever someone asked me what I wanted to watch, I would always answer Pollyanna. Though most of the time I was vetoed, this went on for a seemingly long time and I’m pretty sure I would have been perfectly happy watching that same movie each and every time.
When I was older, I had all my favorite books in bookshelves lining my bedroom, and I would just grab one and open it to a random page and start reading. For most of those books, I probably read parts of them more than twenty times, and not because I had poor memory so it would seem new each time (although that seems to happen more often now…). It felt familiar and comforting, like visiting old friends, though I guess I wouldn’t have known what that felt like at that age.
As a “grown-up,” I find myself looking for new content to consume constantly. New books, new articles on Google Reader, new tweets–streaming by me as I struggle to keep up. Despite having lots of gadgets for digital consumption, I still have hardcopies of the books I deem “worthy” of the physical space they take up because I want the physical experience of reading them as books again. But I never really do. Maybe as an adult, it seems wasteful to read something I already read, but then again, I waste plenty of time on the internet surfing around or watching crappy videos.
I’m trying to read more this year, and have the time blocked out to do so on my newish commute to SF. I think I’ll spend some of that time revisiting some old favorites. At least I’ll know they’re good already, right?
Every year around this time, people start asking if I’ve made any New Year’s resolutions. I don’t remember ever making any resolutions in recent years, mostly because I feel like it’s a hopeless cause, and it seems arbitrary to only think about self-improvement at the beginning of the year. Usually I don’t make any resolutions, because I know that if I make a whole bunch of out-of-the-ordinary demands of myself, I’ll just feel unmotivated when it’s halfway through January and I’ve already messed up.
This year, I decided (as of today) that although I won’t be making any New Year’s resolutions, I would still like to do something in the spirit of self-improvement. But rather than list a whole bunch of things I’d like to do, I’ll just focus on one per month, and they will be more habit-oriented. Habit formation takes time and persistence, even if it’s something as tiny as doing at least one pushup a day; if you consistently do something that you usually don’t do, it becomes a habit in a few weeks and you don’t have to work as hard to keep doing it. So instead of listing out 12 habits I’d like to have by the end of 2012, and forgetting about them by the time February rolls around, I’ll just tackle forming one habit at a time. This also satisfies the part of me that finds setting goals only at the beginning of the year completely arbitrary.
First up: Walking 70,000 steps per week for each week in January (tracked by my Fitbit).
Discussions about hiring so often revolve around what you should look for in a candidate and how to evaluate their technical abilities and if they will fit in with the existing team. The market is currently incredibly competitive in favor of engineers, so I’d like to turn the tables around and ask what companies can bring to the table in this relationship. My previous post on Redesigning the Technical Hiring Process touches on the idea of seeking a two-way fit rather than a one-sided evaluation. At the bare minimum, this could be having a candidate in for lunch to see is he will get along with the rest of the team, but if that is all you’re doing, you might want to think more deeply about some of these areas and what your company can offer specific candidates.
Every hire you make will reflect your company and your company’s culture to future candidates. Having a team composed of individuals that work well together is much more important than having a few “rockstars” that don’t play nice with each other. Think about hiring 10x teams rather than 10x individuals, and think about what different perspectives, backgrounds, or skills each additional person is bringing to the team. Most people I know like to be in a workplace where they are challenged but respected, and feel like they are contributing something new to the team.
Respect and Trust
A company’s culture and priorities are reflected in its benefits and work environment. Terracycle keeps morale high despite paying admittedly below-market rates by building a fulfilling, considerate and transparent workplace. Unlimited sick days and good health insurance tell employees, we care about your health and trust your judgment about when you are getting sick and should stay home and rest. Of course, free food, massages, and on-site gyms a la Google are nice-to-haves, but there are less over-the-top ways to demonstrate respect, such as frequent one-on-ones to make sure people find their work fulfilling. Flexibility around work hours and vacation days also reflects a culture of trust and self-motivation.
Respect also means being fair, especially with initial job offers (and be generous with equity if you can’t pay a fair salary). Save your low-balling for when you’re not dealing with your team. Even if people don’t know what they’re worth, they’ll figure it out at some point or another, and I’ve heard people speak about being underpaid with a bitterness that lingers for years afterwards.
Learning and Growth
If you’re looking for an Android developer with 3-4 years of experience or a designer who can also build your backend, you may need to reassess your expectations or be sorely disappointed. People like to be experts, but they also like to be constantly learning new technologies. So if your job search is targeting those who can already do the job (or they already have done the job elsewhere), think about looking for someone who would jump at the opportunity to learn how to do the job.
I had a conversation with a friend a few months ago who was looking for someone to build out automated testing frameworks for iOS and Android. The problem, she recognized, is that someone who is experienced in both iOS and Android development probably wouldn’t want to work on testing for a year. Instead, she targeted smart developers who could learn quickly and wanted to get into mobile development. For that person, the opportunity to take a few months to learn the ins-and-outs of mobile development in both iOS and Android via building a testing framework could be incredibly appealing.
Living Social recently announced Hungry Academy, a five-month program to teach participants how to program in Ruby (no programming experience required). If you make it through the program, you get a full-time offer with an 18-month commitment. This is a great example of focusing on what the company can offer candidates. For someone who wants to learn how to code in a more structured (and paid) environment, this could be a very appealing way to jumpstart their career change.
Whatever your hiring process looks like, it’s worthwhile to take the time to have an open conversation about what he or she wants to get out of their new position. She may be an experienced web developer who would love to dabble in mobile, or would like to learn more about product design and start her own company in a few years. He may be a junior developer who wants to become an experienced staff-level engineer. Knowing what it is that motivates them can help you see if they will be a good fit, and will also help you help them achieve their goals.
A few weeks ago, I was asked to be a mentor at the Women 2.0 Startup Weekend at The Hatchery in SF. I’m very excited to be there Saturday, November 19th, to meet interesting people and see what ideas all the groups are working!
Whether you’re a developer, designer, or just interested in getting your feet wet with startups, Startup Weekend is a great chance to work on something new. It’s a 54-hour event where people pitch ideas, form teams, build, and demo their product.
If you’ve been thinking about going, here’s more info on the event, and you can also use coupon code “jeanhsu” for an extra $25 off (so it will only be $50 if you register by tomorrow). And please say hi!
Coding is sort of like a superpower; with it you can create things that millions of people see. You can change the way people behave, the way they think, and the way they interact with others. This is beyond awesome, but I’ve also met a lot of people that think that this ability is inaccessible to them. I’ve met a lot of “non-technical” people who seem to think that this superpower is only bestowed on those fortunate enough to have it come easily to them at a very early age.
I took two Computer Science courses in high school, and I’m fairly confident that had it not been for those classes, I would have been way too intimidated to major in it in college. Those who major in CS with no pre-college programming experience get my greatest respect, because even with a few classes under your belt, it can feel extremely daunting.
Beyond college, I’ve spoken to several friends who have expressed the same sentiment to me. They wish they had known how important it was, how many opportunities being “technical” opens up, and wished they had learned to code. They always say this with a wistful attitude that implies that they assume it’s too late. They are around my age, 24 to 25.
It’s easy to think that it’s too late, because look at those people who spent four years in college learning to code! But those four years I spent in college learning CS? The first two I spent trying to figure out what to major in. Over the next two years I took eight courses in the department, but many have no direct relation to applications-focused programming, which I assume is what most people want to do. In my entire four years at college, I took only one class that was applications-focused. Going into it, I had no practical knowledge of HTML or CSS, but worked with two other similarly inexperienced students to build a webapp with MySQL, PHP and HTML/CSS.
It’s easy to think that it’s too late. There will almost always be people who have more experience, but it’s important to remember that every one of those people started off as a complete beginner.
So if you’ve been thinking to yourself “I wish I had learned to code,” why not do it? When you do, please keep some things in mind:
- It is difficult! Things that take awhile at first will come naturally to you later on. Of course some people are more naturally disposed toward the type of logical thinking that programming demands, but I believe that in the majority of cases, people assume they aren’t cut out for it before giving it a fair shot. Though of course, having people believe that programming is “too difficult” and that the average person is “not smart enough” strokes our egos and makes us feel like we’re part of some super-elite hyper-intelligent group.
- Mentally prepare yourself for roadblocks. I used to think I was cursed, because every time I tried to setup something new (new development environment, tool, library, etc), something would always go wrong. It took many years for me to realize that with all the different combinations of user operating systems, software versions, etc, the documentation was often outdated or not comprehensive.
- Do you like it? Forget about if you think it’s too hard; do you think it’s fun? When you struggle for hours debugging something, and finally, it runs as expected, do you feel a rush of excitement? Do you look forward to having a few hours to figure something out? Those are the things that attracted to me to software–I just didn’t worry too much about if I could make it or not.
There are plenty of great resources out there to get you started, but I’ll stick with one to avoid option overload. Stanford provides free online access to a good number of CS courses, including three introductory classes. Click here to get started!
The Pulse office was jolted suddenly this afternoon as coworkers announced the news coming in from Twitter. Was it a rumor? A few minutes later, TechCrunch and other sources posted confirmations, but many of us were still in disbelief.
Where would we all have been in a world without Steve Jobs? Many of us would never have met each other, and I’m almost certain we wouldn’t have been in that office working together on Pulse. The ability of one man to have such a wide-reaching effect on people everywhere (and especially in Silicon Valley) is mind-boggling. Twitter, Facebook, Google+ and Hacker News were completely devoted today to remembering Steve Jobs.
In the commencement speech that Steve Jobs gave in 2005, he talks about how dropping out of college and getting fired from Apple were actually some of the best things that happened to him. “You can’t connect the dots looking forward,” he said, “you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever.”
As I drove home today, I reflected on my past 24 years of life and tried to see how my dots connected; I was amazed at how many of my dots, especially in the past few years, were somehow related to Steve Jobs. I didn’t know him personally, but his life and work has had an immensely strong impact on my own life and work. He has truly left an inspirational legacy, and will be missed.
We may not be able to see how our dots connect going forward, but we can try to lead a more meaningful life and ask ourselves every morning, “If today were the last day of my life, would I want to do what I am about to do today?”
I’ve very excited to announce that we just launched Logcat, a blog dedicated to Android development. I’ve been working with Albert Lai, Indy Khare, and Daniel Lew to get this off the ground, and we have a lot of exciting blog posts in the pipeline.
Please check it out and leave us a comment letting us know what posts you would like to see!