Dharmesh Shah

Recent Posts

Startups: Stop Trying To Hire Ninja-Rockstar Engineers

By Dharmesh Shah on August 6, 2012

This is a guest post by Avi Flombaum. Avi is the Dean of The Flatiron School, an intensive program to learn Ruby on Rails in New York. He was formerly the co-founder and CTO at Designer Pages. You can follow him at @aviflombaum or @flatironschool.

Hiring technical talent is often cited as one of the most difficult parts of scaling a startup. Great companies are built by great teams so naturally, when it comes to technical talent, companies are competing harder than ever to entice the best of the best. The rationale you'll typically hear is along the lines of "a great developer is 10x as productive as a mediocre one." That might be true, but it is an impractical startup hiring strategy.

While companies fight tooth and nail over engineers with MIT or Stanford degrees with years of experience, as CTO of designer pages, my best hires were consistently entry-level developers that I developed on the job. Some companies, like Zendesk and GeneralThings have already realized this and are working with schools like Dev Bootcamp in San Francisco, The Flatiron School in New York (of which I'm a co-founder) and Code Academy in Chicago to hire their newly minted web development graduates. Aside from the fact that they're significantly easier to attract, there are tremendous benefits to the company.ninja dev small

1. Cost- Starting salaries for senior developers have skyrocketed in the past few years. The average starting salary for a senior Ruby developer has climbed to $94,000 ($107,000 in Silicon Valley). Compare that with the average salary for a junior Ruby developer, $70,000, ($80,000 in Silicone Valley). At that rate, you can give a junior developer a 10% raise every year for 3 years at the end of which you'd have an experienced senior employee who's been with you that long and is still costing less than a new senior hire.
2. Attitude- Anyone that gets courted the way a senior engineer does today is at risk of developing a sense of entitlement (to put it lightly). When I hired 'rockstars' at Designer Pages, the requests became increasingly ludicrous. Senior engineers had four-day weeks, required conference budgets, and refused to adhere to the language and technology standards the company had established. They always knew best and felt that we were lucky to have them. Junior devs on the other hand, are hungry. They want to prove themselves and are eager to learn. And assuming you're fostering the right culture, are excited to be part of your team.
3. Turnover- High turnover is the easiest way to kill a product. In The Mythical Man-Month, Frederick Brooks discusses problems inherent in a system designed by a succession of leaders, each with his own style and ideas: "I will contend that conceptual integrity is the most important consideration in system design. It is better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas."
Great companies need great engineers who want to solve complex problems. But the majority of work being done on a typical web application does not require a team full of PhD's with 10 years experience, making it no surprise that senior engineers quickly get bored and seek out other opportunities. By hiring junior developers and ensuring they're getting the continual training and development that they need, you can ensure that they stay engaged and derive as much personal and professional value out of your company as your company derives from them.
4. Culture- A prerequisite for being a great programmer is a love of learning. Unfortunately, many senior engineers come with a lot of baggage; they want to work on specific problems, in specific languages, and have little patience for the inexperienced n00b. By hiring junior engineers, and giving them the training and development they need to flourish, not only can you align everyone's technical styles under a cohesive vision, you can more easily create a culture wherein it is expected for the senior employees to mentor and coach new hires, just as they were coached when they first started.
To be clear, this isn't true in every case. I happen to know plenty of incredibly humble, loyal, and generous (though not cheap), senior engineers. And if you're trying to build a better search engine, or solve the world's most complex data problems, you probably do need to recruit from the top 1%. Most companies though just need great leaders who can help their teams think through the difficult questions, and team members who are wiling to work together to implement creative solutions. The bottom line is that for most products, seeking out rockstar senior engineers is like hiring Picasso to paint your apartment.
So what's the best way to put this plan into action? Here are some things I found to be effective when developing junior engineers at Designer Pages:
1 - Deploy on Day One- Making engineers deploy code on their first day is the single best way to get them feeling great about their ability to acclimate and impact change in your organization. Companies like Etsy actually have a hard-and-fast rule that all engineers should deploy to production on day one.
2 - Assign Mentors- Lots of companies say they mentor their employees. I've found that unless this is systematized, senior employees get too busy to dedicate the necessary amount of time. Make sure every new hire has a mentor to pair with basically all-day for at least the first two weeks.
3 - Foster Productivity Early- The best way to sharpen a programmers skills is to write code. Junior engineers shouldn't be trying to learn legacy systems when they first arrive- let them work in as fresh a codebase as possible so they can get cranking right away.
4 - Invest in Training- Nothing will give you a better ROI on your time than making sure your employees are well trained. Create a learning plan for each hire for the first 3-6 months, complete with recommended reading, that applies to the projects they are working on.
5 - Be patient. :)
At the end of the day, when you hire junior developers, you are investing in people. You are creating a culture of growth, promotion, and learning that will pay for itself multiple times over. And it will also help you recruit the Ninja-Rockstars when you actually need them ;).
What do you think?  What's been your experience in terms of bringing on junior members to the team vs. the almost mythical ninja-rockstar engineers?
Continue Reading

6 Tips To Rapidly Raise Funding on Angel List

By Dharmesh Shah on August 1, 2012

The following is a guest post by Rick Perreault. Rick is co-founder & CEO of Unbounce, a Vancouver-based company that develops a web based platform which makes it easy for non-technical marketers to build & test landing pages without having to rely on I.T. or web developers. Rick tweets @rickperreault about marketing, entrepreneurship and backyard vegetable gardening (during the summer months).

I recently had the opportunity to use Angel List (http://angel.co/) as part of raising a Series A for Unbounce and wanted to share a few things that I learned along the way.

angel list icon
First off, Angel List is a pretty awesome service that makes it easy for introductions to happen between entrepreneur and investor, kinda like a mini Facebook for investors and entrepreneurs. However, there were some things I wish I would have done differently or had known before I got started. I made some mistakes. In some cases, I was not as prepared as I could have been and learnt alot on the fly. So today I want to take the opportunity to share the top 6 things I did that helped me raise capital with Angel List.

Tip #1 Use video to tell your story

In hindsight, probably the most effective thing I did was include a link on our profile and in all my email correspondence to a video of me giving our pitch I had the opportunity to pitch at the last GROW Conference here in Vancouver and lucky for us, they recorded it. I included it on our Angel List profile and almost everyone that contacted me commented that they watched it and especially liked the Q&A. Here is the link to the video: http://www.youtube.com/watch?v=1WcpFqKA7So

You don’t need to spend any money doing this either. Record yourself giving your pitch and providing answers to all the typical questions that you get from outsiders and post it on YouTube. Your passion, conviction and knowledge of the problem you are solving will come across in ways that a deck can never achieve and by presenting your own Q&A, you’ll skip all the typical questions and have a much more constructive meeting when you get on a call with an investor.

Tip #2 Get commitments for endorsements early

You probably have advisors and/or commitments from investors already or at the very least, someone of influence that likes what you are doing. Let them know that you are going to raise investment via Angel List and ask them in advance if they would endorse your company. Once your profile goes live, your first email(s) should be to them asking them to comment & share your profile.

There are a lot of companies posting on Angel List and having people of influence endorse your business will help you stand out and give visitors to your profile page a reason to take a good look at your startup.

Reality Check: If you can’t get at least one person of influence to endorse your business, you are not ready for Angel List.

Tip #3 Prepare your email responses in advance

In our first 24 hours on Angel List, we received a lot of followers and request for introductions. Both are opportunities to pitch your company as both enable you to contact the investor but unless you are prepared in advance, it can be overwhelming — I was not prepared on our first day.

Typically, those who follow you may simply be curious while those who request an introduction are interested so use your available meeting times on those who are asking for an introduction. Additionally, there are those who fit your criteria as an ideal investor better than others and reality is, you may get more interest than you can handle so remember to focus on those who fit your criteria as an ideal investor first.

Prepare your initial communication in advance and save them in a text file. Here are the three responses that I used.

a) For those who followed us:

Hello [Name]

Trust you are well and thank you very much for your interest in Unbounce. I’ve attached our current deck and I’m including here a link to a short video about our company [link to video]. Let me know if you have any questions about Unbounce and please feel free to share this information with others.

Best Regards,

b) For those who requested an introduction:

Hello [Name]

Trust you are well and thank you very much for your interest in Unbounce. I would love the opportunity to introduce you to our business. Would you be available [day] at [time] for a quick call? In the meantime, I’ve attached our current deck and here is a link to a short video about our company [link to video] for you to review. I look forward to talking soon.

Best Regards,

c) I had a third response for those who I really wanted to speak with:

Hello [Name]

Trust you are well and thank you very much for your interest in Unbounce. Having read your profile, I would love the opportunity to introduce you to our business. I’m hoping to have a short list of investors by [short time period] and currently have [investor] and [investor] confirmed. Would you be available [day] at [time] for a quick call? I’m also free for the next hour if you have a few minutes to give me a call on my mobile [your number]. In the meantime, I’ve attached our current deck and here is a link to a short video about our company [link to video] for you to review. I look forward to talking soon.
Best Regards,

I tweaked this a little for each individual however, having these on hand saved me from having to write 100+ emails from scratch.

Tip #4 Prepare an investor data sheet

You’ll need an effective way to keep track of all your investor contacts and conversations - your leads. You’d be surprised how easy it is to not remember who’ve you’ve spoken to or how the conversation went. Seriously, after your first dozen calls, your memory will fail you so get into the habit of writing stuff down.

As contacts are made, you will need to keep on top of your leads so prepare a spreadsheet in advance (recommend Google Docs). I organized mine by name, email, contact #, VC firm [If applicable], Links to Angel List & Crunch base profiles, a field for notes and finally, amount they typically invest. The beauty of Angel List is that you can learn a lot about the investors that contact you and based on their profiles, almost predict if they will be a good candidate or not. For this reason I also included a rating for each potential investor on my spreadsheet.

Sub-tip: speaking about bad memory and calls, it’s hard to take good notes when you are pitching so I found it helpful to have someone else on the call with me when possible to act as a second set of ears & take notes.

Tip #5 Rate your investor contacts (just like you would your prom date potentials)

Related to my investor data sheet, I also created (truthfully, by evolution than by design) an investor rating system. Nothing too complicated but effective. Why? Because we were not interested in all investors equally and investors were equally not all interested in Unbounce to the same degree. I gave a sets of points, one for our interest in them and another for their interest in us with low interest being 1 point, 2 points being the middle, and high interest 3 points. For example, a high profile investor with a history of investing in our space and interested in what we are doing might be something like, our interest high + their interest medium for a total of 5 points. Another example might be an investor with no previous investments nor experience in our market and for various reasons is lukewarm on the investment opportunity, our interest low + their interest low or med for a total of 2 or 3 points. By each name I had two numbers and over time these would either go up to down or replaced with a yes or no. Think of it another way, this is really no different than the process you went through in trying to choose the perfect date for your high school prom.

All this is important because you have limited time and it will help prioritize your actions and focus who you want to spend your time on. So when a #6 wants to have a call at 3PM to discuss the opportunity and a #2 wants a 3PM conference call to introduce me to one of their friends that will help #2 validate whether or not this is an opportunity, you will quickly know who to bump to a later date. Again, think of it like the prom, if you spend all your time asking people who are the wrong fit, you run the risk of not having any date for the prom.

Tip #6 Share the responsibility of raising capital with someone on your team

Finally, raising capital is a lot of work and you will not sleep well until you close the deal. However, to get it done fast and as painless as possible, you will need support from your team and you all need to discuss in advance what role each of you would play in this big step for your company. In our case, Unbounce COO Jason Murphy was the other half of this initiative and CCed on everything. We broke down responsibilities like this:

My role was to pitch and get a yes from the investors we wanted on board and was responsible for maintaining our Angel List profile, our deck, leading all the meetings and initial contacts. Jason on the other hand came in after the first meeting to provide all follow up material (CAP table, financials, corporate) and coordinated all interactions between respective legal teams. This division of responsibilities allowed us to move fast but more importantly, allowed us to support one another when either of us were feeling overwhelmed – it will happen.

That’s it — glad you made it this far & please let me know what you think. While this list is just a handful of things that helped me, feel free to add any additional tips in the comments below and maybe we can turn this into the ‘comprehensive’ list of tips to use Angel List. Thanks for reading.

What do you think?  Have you tried raising a fund through Angel List?  Any tips you've picked up along the way?  Any questions on the process?

Continue Reading

Recommended For You


Let's Connect

And, you can find me on Google+, Twitter, and Linkedin.

Recent Posts

Chat with GrowthBot

It's a bot to help you with your marketing and grow. You can research your competitors, improve your SEO and a lot more. http:/GrowthBot.org