
PullRequest pulls in $8M Series A just months after scoring seed round - sethbannon
https://techcrunch.com/2018/04/13/pullrequest-pulls-in-8m-series-just-months-after-scoring-seed-round/
======
antirez
I'm not sure what the intended audience for this is exactly, but I know for
sure that in certain software that have an high degree of complexity and
moving parts, to see if the PR is sane you need to be an expert of that code
base. No way to make "local" decisions. (cit. Butterfly Effect)

Maybe for things like mobile applications or React or stuff like that, where
there are many patterns to follow, it simpler to see if something may be
wrong, but I still expect an high degree of false negatives.

~~~
kornish
Totally. I'm also curious about consistency: if you get reviewers who prefer
different idioms and stylistic points between review, what does that do for
codebase style over time? I wonder how their quality control operates on the
reviewer side.

~~~
encoderer
If that’s what you’re covering or expecting from code reviews you’re doing it
wrong.

The only right answer here is automated code formatting and linting.

~~~
aassddffasdf
That is not what is meant by "idioms and stylistic aspects". Take, e.g.
`o.map(v => ...).getOrElse(v2)` vs `o match case Some(v) => ... case None =>
v2`. The former is idiomatic and preferred over the latter (but of course some
jackass somewhere will disagree and argue incessantly about it).

~~~
paulddraper
Side point, but AFIAK `fold()()` is most idiomatic in Scala.

~~~
Nullabillity
And yet, `match` is the only one that gets correct type inference.

`.map(ifSome).getOrElse(ifNone)` infers the type from `ifSome`, and forces
`ifNone` to conform.

`.fold(ifNone)(ifSome)` infers the type from `ifNone`, and forces `ifSome` to
conform.

Meanwhile, `match { case Some(x) => ifSome(x); case None(x) => ifNone }` will
correctly infer from both cases at once, and give you the greatest common
ancestor.

~~~
paulddraper
Yeah, I agree. ¯\\_(ツ)_/¯

------
agitator
hmm... I don't know if this would ever be worth the money. Any real
engineering outfit knows that the value in code reviews isn't just in
uncovering syntactic or logical flaws, but actual engineering decisions. And
part of the evolution and learning process of a team is in code reviewing
together. I think if you really don't give a shit about code maintainability,
but want a working product, then yeah this is for you.

Companies like Atlassian should allow discounts on their bitbucket product if
you allow an AI to learn from it, and then they should sell an advanced Lint
or auto review feature based on training data from real code reviews. I think
that's where the money is at. I wouldn't replace code reviews, but I'd use AI
to sell a product that handles all the low hanging fruit for engineers so when
it comes to code reviews, they only need to worry about the higher level
stuff.

~~~
jeremyjh
I agree. This sounds to like a way to get almost none of the benefits of code
review at a marginally lower cost.

------
whoisjuan
They must be having some sort of decent traction to close these rounds, so
that means that they have a strong use case. But honestly, I fail to
understand what's that use case.

What kind of value do you get from an isolated code review from someone who is
totally not familiarized with your business logic or your code base? Can
someone here explain what would be a potential use case for this service?

~~~
koolba
I have no firsthand knowledge on them in particular, but I know that large
financial institutions are sorely lacking in this department. If they can pay
someone and get _something_ in return then it’s a net win. It doesn’t have to
be great. Just enough that an exec can justify a line on a PowerPoint for “N
bugs eliminated”.

Combine that with nose bleed pricing for said big banks and this would be a
cash cow.

~~~
poulsbohemian
But see that's the crazy irony... I guarantee you those large financial
institutions used to have teams for this kind of thing, then decided they were
a bottleneck and too costly, so they offshored the work or got rid of the
function altogether. So they reap what they sow.

~~~
hyperpallium
Annual license would be far less than the total cost of employing that team
(roughly 2x salary).

Welcome to AI redundancy.

------
poulsbohemian
Much like the slow food movement, it feels like we need a slow software
movement. The article talks about the compressed cycles leaving no room for
_quality assurance_. Sigh. After the dotCom crash, QA / test teams went away
in a lot of places because it was deemed too expensive. Time marches on and
now we have a generation brainwashed into thinking unit testing and "code
reviews" constitute QA, and apparently want us to buy into the idea that it
"takes too long" so we'd better just outsource it. Jeez I feel old.

~~~
lyal
Yes; unfortunately QA was used here, when QA doesn't capture what we do.
Probably my fault in the interview.

------
htd23
Speaking of automating the process, "Learning From Large Codebases"
[https://www.srl.inf.ethz.ch/raychev_thesis.pdf](https://www.srl.inf.ethz.ch/raychev_thesis.pdf)
won the Honorable Mention for the 2016 ACM Doctoral Dissertation Award;
www.deepcode.ai is building on the technology.

From their webpage: "We automatically learn from millions of available
software programs and use this knowledge to make key suggestions on how to
improve your code"

~~~
ckdarby
Has anyone applied this to a working prototype? Unless I'm mistaken I just see
~120 pages of theory?

~~~
383888
[https://www.deepcode.ai/tech/](https://www.deepcode.ai/tech/)

------
chiefalchemist
On one hand, having the fresh eyes of an objective third party review code
feels like a great idea.

What I'm stuck on is mostly the legal implications.

1) Do companies want a relatively unknown poking around in their secret sauce?
Ages ago, my father worked on a number of projects at Bell Labs where parts
for custom prototypes where sourced to different vendors so none knew exactly
what was being built. Yes, now is not then. None the less how will this risk
be mitigated (beyond contracts and background checks)?

2) And what if something does go wrong? The reviewer(s) miss something and
eventually the shit hits the fan. Now what?

No show stoppers. But friction enough to be curious how they fare.

~~~
paulie_a
Your secret sauce is your sales team and ability to get customers to use the
features. Outside of dropping secret keys etc, your actual implementation in
source code is nearly irrelevant. If you depend on keeping your code a total
secret you are in for a world of hurt. Ex-employees certainly have copies
laying around that could be leaked intentionally or just nabbed by some
malware

~~~
agitator
That's an odd position to take.... If there was nothing special about the code
you worked on, then the product is probably not all that significant.

I mean, why work on something if there is no technology differentiating you?

~~~
paulie_a
> i mean, why work on something if there is no technology differentiating you?

Technology doesn't differentiate, value propositions do.

------
dchichkov
Congrats to PullRequest! They are solving a really good problem!

A shameless plug, if you are interested investing into an intellectual
property of an 'underdog' competitor, contact me - dmitry@articoder.com - I
must have been doing something right, as I've had the exact same idea at the
time and applied/interviewed with YC in the same batch as PullRequest. You can
see the timeline for yourself at the internet archive of articoder.com.

------
nnd
I wonder if there is a market for indie developers looking for a code review
for their side projects?

~~~
scottharveyco
This was my first thought, having a second person look at a particularly
tricky PR could be quite useful sometimes.

------
megadeth
How’re they achieving this ? Static analysis, linting ?

~~~
drchiu
It looks like they use real live human reviewers. Seems like a great remote
job position.

~~~
505aaron
I am guessing the pitch went "It is like Uber for code review" /s

Seriously though, I am curious if the quality will remain high as they scale.
I wish them luck. I would bet one of the big players acquires them within 1-2
years.

~~~
lyal
Thanks much -- this is a company, product, and project where we have the
liberty and passion to say that quality is what we care the most about.

Also: I'm lame, I went with "We're the Hotmail of Food Delivery." Still not
sure how that deck worked out ;-) /s

------
zapita
I like the idea and think this could grow into a successful business... But my
god what a terrible name.

I can't stand it when businesses appropriate terms with a well-established
definition... From Salesforce calling their Ai product Einstein (complete with
disgraceful cartoon mascot), to the recently launched "Stdlib"... Is it so
hard to create your own unique brand and invest in that?

~~~
kraftman
Naming things is hard!

~~~
dchichkov
I would guess it was YC that had suggested the name. Am I right?

~~~
lyal
No.

