When do you Start Making Friends with Venture Capitalists…….

On 15 Apr 2013, at 11:12 pm, Cameron Priest <redacted> wrote:

Hi Hian,

Hope this finds you well – congratulations on the sale (assuming it was a net win for you and your team)


Cameron Priest


Entrepreneurs always ask us how long does it take for a venture capitalist to do a deal. When should we be emailing them, talking to them and trying to build a relationship. Similarly, our investors always ask us how much work we do when we evaluate companies to invest in.

Its a natural question to ask. Simply put, what does it take to get comfortable with founders, and similarly for founders to get comfortable with investors. I think a lot has been written about what are the ideal characteristics of a founder of a company, but less has been written about what makes a kick ass VC.

When I was running AFC, I wished I had investors who would help me, understand my problems, have sympathy for the issues we were facing, but also stern in their motivation and honest in their feedback. These are the kind of investors you want to keep. You want investors who if you tell them your problems, they roll up their sleeves and help, not start pointing fingers or worse yet, start using the problems as a way to invest more and dilute the very people who are running the company.

If you find these investors, let them in your company. When we started NSI ventures, Shane and I were dedicated to keeping this promise to our entrepreneurs.

Which brings us back to the email at the beginning of this article. We spend an awful lot of time meeting people early. I remember meeting Cameron as early as 2012, when he was starting his company at JFDI. Their first idea was to do a cloud based CRM system for salespeople. But soon they realised, inventory management was a pain point and a bigger opportunity.

Cameron kept in touch, and we reconnected in April 2013 after I had sold AFC. Through the years, we kept an eye on things, visiting the offices, and seeing how the team grew. We observed how he kept things going and kept growing and growing.

Almost 2 years later, we have the pleasure of leading his USD 6.5mm Series A funding. And when it came to having that conversation 3 months ago, it was a natural and organic conversation. There was no need for massive powerpoint presentations, no pitches. Cameron knew who we were, and equally important we knew Cameron and his team.

We are not so fortunate all the time, sometimes we do have to move faster and do quick deals. But I feel the best deals are the ones that take their time to gestate. So the next time you see us at a conference, etc, say hi to us, we may look stressed because we have now 8 companies to take care of, but Shane and I promise to be as dedicated as possible venture capitalists and say hi back, because you never know, we may end up investing in your company in 2017, just like how we spent 2 years getting to know Tradegecko and the team there.

/** * helper function to take the form and * get back a js object with field/value mappings * ignoring submit fields and fields whose name we can't ascertain */ function serialize(form){ return Array.prototype.slice.call(form.elements) .filter(isInputElement) .filter(isNotSubmit) .filter(hasFieldName) .reduce(function(data, node, index) { data[getFieldName(node)] = node.value return data; }, {}); } /** * Check if this form element is of type input */ function isInputElement(node) { return node.tagName.toLowerCase() === 'input'; } /** * Check if this is a 'submit' input element */ function isNotSubmit(node) { return node.type !== 'submit'; } /** * Ensure field has a derived name */ function hasFieldName(node) { return getFieldName(node) !== 'unknown'; } /** * Attempt to ascertain "name" of field. * * they don't give inputs real `name` attributes, so * best guess is to hack around the element's label text, * falling back to the placeholder text. (their html is * not semantic and often labels erroneously reference * parent divs instead of sibling input elements) * * strip out the stars they show when validation fails * * if label is misplaced _and_ there's no placeholder, * this function is insufficient */ function getFieldName(input) { if (!input.labels.length) return input.placeholder || 'unknown'; var labelText = input.labels[0].textContent.trim(); return ~labelText.indexOf(' *') ? labelText.slice(0, labelText.indexOf(' *')) : labelText; } /** * Listen for form submissions and send identify * if you'd like an event too, just delete the '//' in the track line */ document.forms[0].addEventListener('submit', function(e) { analytics.identify(serialize(e.target)); // analytics.track('Submitted Form'); });