HN user

agmiklas

424 karma

Busy at with alexsolo and bpuvanathasan on our first startup, pagerduty.com

Posts8
Comments55
View on HN

Agreed. A founder should assume any ambiguity in a term sheet will be resolved in the investors favor (since you're very unlikely to walk away from a deal after signed). I preferred more comprehensive term sheets so that we could pin everything down while the investor was still in "courting mode".

Something we did in our later financings was to (very politely) provide an interested investor with a fairly comprehensive (~7 pages) template term sheet that had blanks for the major economic terms, but otherwise fully specified all the details of the proposed deal. This kept things from drifting off "founder friendly" after signing and had the added bonus of making offers easier to compare.

You might enjoy Fred Brook's essay "No Silver Bullet", where he distinguishes between "Accidental Complexity" (basically, complexity created by software engineers when implementing a solution) and "Essential Complexity" (complexity that arises because software is written to solve some real world problem and the world is complex).

I've always thought musical counterpoint and multi-threaded programming have a great number of parallels. Both are fundamentally about setting up independent but interlocking things that need to work together to accomplish a goal without crashing into each other. And I think the first time you experience either done by a real master, it is mind blowing in the same sort of way.

San Francisco AND Toronto, Full Time, H1B

PagerDuty just raised a $10.7M round from Andreessen Horowitz to continue building out our IT alerting and on-call management system: http://techcrunch.com/2013/01/31/pagerduty-raises-10-2m-roun...

We're relied on by Github, 37signals, Heroku, Linode, Microsoft, Adobe, and many others, even though we are still a small team of only 18 people.

We're currently hiring across the entire stack: ops engineers, backend & systems engineers, and frontend engineers. We're also hiring many positions into both of our offices -- Toronto and San Francisco. For more info on our jobs, please see: http://www.pagerduty.com/jobs/

We're especially interested in experienced frontend engineers! If you're a skilled JS programmer who feels that B2B software is often overlooked when it comes to UI & UX, we want to talk to you!

If you'd like to hear more about the jobs, please feel free to email me at andrew@pagerduty.com.

Is there such a thing as a "standard" interest rate? One of the main factors in determining the rate on a loan is the risk of default. For a newly incorporated company -- that's going to be high.

Both partners might work as hard, but they don't share the same risks. One has put X thousand more into the business, and they should be compensated for that additional investment. The fairest way to do that is to consider what terms you'd find reasonable on an investment of similar risk.

I didn't think his IOU solution for founders that either don't take a salary or contribute property made much sense. For that to be fair, you'd have to set a super high interest rate on the loan.

At the same time, I see the difficulty with assigning a concrete value to the shares early on. The angel investment world solves this exact problem using convertible debt. Why not take the same approach with investments-in-kind made by the founders?

If a founder forgoes a salary, why not agree to convert the pay difference relative to the other founders into stock at the time of the first equity financing at the share price negotiated with the VCs?

Correct, we've raised an angel round, but haven't yet done a series A. This allows us to offer a reasonable salary with a much larger ownership slice than would be possible with a post series A company.

By the way, it's also becoming more common to see angel rounds with X,XXX,XXX as the amount raised.

This is something I've never quite understood. Best practice guides say you need to do a "flush all tables" in MySQL and then do a filesystem freeze (possible in XFS) before you can use a snapshot system like the ones built into EBS or LVM. If you don't, you apparently stand a good chance of getting an inconsistent snapshot, even if the snapshotting mechanism itself is (like EBS and LVM) "point in time" consistent.

Why is all this necessary? If the system (i.e. DB + FS + block device) are all working as they should, then once a commit returns, the data should be on disk. If it's not, you have no guarantee data that you thought was committed will still be there after a kernel panic or power outage.

In that case, no amount of xfs-freeze or table flushing during a snapshot is going to save you from the fact that your DB is one kernel panic away from losing what the rest of your system believed were committed transactions.

To clarify: on entry to the US, a visa-waiver national is given allowance for a 90 day stay (usually). If the traveller leaves the US, but remains in North America, and then re-enters the US, they won't give you an additional 90 days. Instead, they'll just treat it as a continuation of your initial 90 day authorization.

Note that it isn't illegal to enter the US for two months, and then spend two months in Canada. It's just that the US won't let you back in until you've left North America. How exactly (or even if) they know you've left North America, I have no idea.

I don't think it is. The following is from the ACM's copyright assignment form [1]:

Each of the Employer/Author(s) retains the following rights ... The right to post author-prepared versions of the Work covered by the ACM copyright in a personal collection on their own home page, on a publicly accessible server of their employer and in a repository legally mandated by the agency funding the research on which the Work is based. Such posting is limited to noncommercial access and personal use by others, and must include the following notice both embedded within the full text file and in the accompanying citation display as well ...

In my area of CS at least, people nearly always hosted their own papers. Finding a free copy of a paper was never a problem -- it was just a matter of entering the paper's title in scholar.google.com, and clicking the first "edu" link that came up, instead of IEEE or ACM. This was faster to do than spending the 15 s switching on the VPN connection to the campus network.

I suppose students / professors hosting their own papers might have been unique to the area of CS I was studying...

[1] http://www.acm.org/publications/CopyReleaseProc-1.26.10.pdf

We really enjoyed the Springboard program as well. In our year, they seemed to put an emphasis on bootstrapable, B2B businesses (possibly because this is the route Red Gate Software took).

We learned a lot from them about how to establish pricing plans and how to market to businesses -- mostly by talking to their staff about how they did these things at Red Gate.

PagerDuty co-founder here...

The group actually changed a bit from one application to the next. The ideas were completely different for the first and second applications. Applications three and lucky number four were for PagerDuty.

Not the original poster, but here's some stuff I really wish AWS had:

a) Ability to map an elastic IP to an ELB. The CNAME thing it uses now has way too many drawbacks [1].

b) Ability to make an RDS instance a slave to or a master for a normal MySQL instance. This would make it possible to use RDS as a backup to our ordinary DB infrastructure using normal MySQL replication (and eventually, vice versa)

c) Retention periods for EBS snapshots. You can get this yourself by writing a few simple scripts, but it would be really nice if snapshots could simply be labelled "delete after 90 days".

d) A cross-availability zone, synchronously replicated EBS volume. This is probably fairly specific to our use case, but it would be neat if AWS natively provided something like DRBD.

[1] http://blog.pagerduty.com/2010/08/31/load-balancers-need-sta...

We applied with PagerDuty twice (first time rejected at the application stage, second time successful). The other two times were different ideas (rejected at the interview stage).

I'm actually curious now if we set the record for most rejections prior to an acceptance.

Even with separate records for each subdomain, I think you'd still have the problem.

You'd need to do: acme MX (mail_server_ip) acme CNAME (ELB hostname)

... but that isn't allowed. The problem is with the records conflicting, not with the wildcard.

Yup -- they most certainly do. I think they switch around the name -> IP mapping in response to traffic rates -- if you suddenly get a surge of traffic, they'll move your virtual ELB instance to a physical load balancer that is currently lightly loaded.

Basically, they are doing load balancing for their load balancers. :)

The problem though is that you can't put MX and CNAME records at the same point in the DNS hierarchy. So if you want to host a site on an ELB at acme.pagerduty.com, you can't then put in MX records for acme.pagerduty.com, because they'll conflict with the CNAME you need to put there.

This all happens because it creates ambiguity. If you want to look up the MX record of a name that has both MX and CNAME entries (say acme.pagerduty.com), should the name resolver:

a) Grab the MX record at acme.pagerduty.com; OR

b) Do what is usually implied by a CNAME record, and pull the target of acme.pagerduty.com, and search for an MX record at that name?

Because of the potential for conflict, the DNS spec simply forbids CNAME records from existing alongside most other records.

(Blog author here) I totally agree -- I don't think there's ever a good reason to use a LB for mail, for exactly the reasons you mention.

However, the problem with using CNAMEs for LBs is that you can't both host mail and a site at the same subdomain. Ideally, what I would want to do is set up redundant MX records for .pagerduty.com to our mail servers, and also set a CNAME from .pagerduty.com to the ELB for to handle the web traffic. The DNS spec doesn't allow this though (it would be ambiguous).

I've thought about using round robin DNS with a low TTL instead of an ELB. Problem there is you don't get all the fancy auto-scaling stuff. I've also heard rumors that some ISPs have their DNS servers configured to put a floor on the retrieved TTL values...

PagerDuty also includes voice calls, which we've seen through experience are more reliably delivered than SMS messages (esp. SMSes through email-to-SMS gateways). As with the SMS messages, you can immediately acknowledge or escalate during the phone call using touch-tone.

I also think PagerDuty's ability to graphically define the on-call schedule and escalation rules is much nicer than mucking around with Nagios's configuration files, but I'm a bit biased :)

Pingdom doesn't provide our full range of alerting features, such as phone alerts, on-call scheduling, and two-way SMS (so you can hand off problems to other engineers straight from your phone).

Actually, Pingdom is one of the most common services used in conjunction with PagerDuty.

At a higher level, what we're trying to provide is an on-call management and alert dispatching tool. What PagerDuty does is let you control who, how, and when people are notified when problems occur. In contrast, monitoring tools like Pingdom and Nagios focus more on detecting problems. While they have some native alerting functionality, we think with PagerDuty's advanced alerting, they can function all the better.