> The way you get lots of users is to make the product really great.
That is wrong – or, at the very least, incomplete. "Build it and they will come" is the dream and misconception of every programmer who's talented at software development but not at sales. Hell, this is the number one advice of every business how-to book ever: You can't rely on people finding out about your great product by chance, you need to put in the work and sell it!
> Then people will not only use it but recommend it to their friends [...]
That's not how it works for B2B software, and only rarely for B2C. Usually, if a product is successful, then as a result of good marketing (a good product ist somewhat necessary, but not sufficient).
100% right, and the corollary of this is: you don't actually need to make a great product, if your sales&marketing game is good enough.
Or, in other words, a lot of successful business - including startups - is exactly the "test hacking" PG urges founders to unlearn.
I'm honestly surprised by this essay arguing that "hacking the test" is the wrong approach in startups/business. "Hacking the test" is essentially what your marketing is supposed to do. These "non-authoritarian" tests like selling things are just as hackable as school tests; you just have to discover how the system really operates.
The whole authoritarian/non-authoritarian split doesn't carve reality at the joints, IMO. Football match is really an authoritarian test - it tests who wins under the game rules, which are given from the top. It may be hard to hack, but that's because passing that test is usually synonymous with the terminal goals of the test takers - i.e. they want to win the game. You'll note however that, once money gets involved, people are sometimes made to deliberately lose games; in these scenarios, there are usually other people involved who are absolutely hacking the test.
The best way I've found to carve the reality at the joints is to talk about terminal and instrumental goals. Learning useful things isn't the terminal goal for most students, getting a good career is (and/or not pissing off parents by getting bad grades).
So I'm ultimately surprised that PG argues that building good things, not hacking the test, is how you win the startup game - I would think most of the startups have products as instrumental goals; the exit is the terminal goal. And building a great product isn't the best way to achieve that goal.
> I would think most of the startups have products as instrumental goals; the exit is the terminal goal.
Depressing, if true.
I would hope that most people have a product that they want to build, and more money is an instrumental goal that lets them build it better. For example, I'd expect someone who loves to code to have software they want to write, and want enough money to allow them to do so—as opposed the executive who loves money and views writing software as the best way to get it. I'm not convinced that any great work was ever crafted by someone who was primarily crafting for instrumental reasons.
But you're probably right, and that's probably a big part of what's so toxic about startup culture these days.
> you just have to discover how the system really operates.
One might say that, by analogy, this is like saying you cheated on a test by studying. “Learning how the system really operates” isn’t hacking; it’s the thing you’re formally setting out to do as a business!
What about marketing churn? If people try your product and have a bad experience, maybe they won't try anything else you offer either? It seems like the product at least needs to be somewhat decent?
A lot of companies seem fine with churn, as long as they can acquire new customers faster, or if they form an oligopoly (banks and telcos come to mind).
In general yes, the product has to meet some minimum bar of decency. How high? Depends on a lot of factors. Note the popularity of business models involving some kind of lock-in - e.g. network effect, holding data hostage. Those are all attempts at hacking around the need for a decent product.
"Make people want something that is actually junk." doesn't have quite the same ring to it, nor does it sound remotely more plausible.
Presumably the 10% weekly growth that YC and PG advocate as the default growth metric isn't expected to be in the absence of sales but the contrary, sales plus anything that works that is ethical and not some ponzi scheme.
He provided examples via the link to http://paulgraham.com/ds.html where he describes stripe founders engaging in zealous activities many would call sales despite being the type of startup that could have leaned back and had ample demand.
I skimmed that essay. Zealous activities to make existing users happy seemed to be the emphasis. It's possible that there were zealous activities for acquiring users mentioned somewhere, but I missed them because they were less emphasized.
No. I consult with B2B startups on marketing and have seen the internal data for 20+ B2B tech companies. If anything, the best products with the lowest churn have less referrals, since people don't want their competitors to have the competitive advantage the product provides.
> people don't want their competitors to have the competitive advantage (...)
That sounds like a very cut-throat business.
In my target audience, most people are happy to share how they work and which tools they use. I even occasionally see random people recommending my product online (which makes me very happy)
Generally, different VC firms give a lot of money to similar companies at the same time. In one vertical, I worked with the same company for three years. CPC for the same keywords doubled every year for all 3 years, when the unit economics of the industry didn't change. It's fiercely competitive.
(2) The text editor KEdit with macro language KEXX much like Rexx.
(1) and (2) are far and away my two most important tools in computing, from IBM mainframes to PCs, DOS, OS/2, Windows, and my startup on Windows 7 64 bit Professional on an AMD FX-8350 64 bit 8 core processor at 4.0 GHz with Microsoft's .NET.
E.g., I typed in the 100,000 lines of text for the software for my startup using KEdit and never an IDE (integrated development environment) -- KEDIT worked FINE!
(3) LINPACK.
(4) Microsoft's PhotoDraw of about year 2000.
(5) Robocopy.
(6) Western Digital's Data Lifeguard Tools and their backup and recovery software.
Ha! We use robocopy at work because IT refuses to fix our internal network. We can reliably reproduce an NFS mount dropping off the network around the 12th GB of a large file and the only answer is "stop bugging us and use robocopy". All it does is turn a 30-40 minute process into a 3-4 hour process.
I use Open Object Rexx on Windows (3.1, 2000, XP, now 7, 10).
I'm not sure what is available on Linux but maybe the same thing.
Rexx can be used as a macro language for nearly any software, but I use it just for command line scripting. I have 200+ Rexx scripts I regard as serious and write more for one-shot applications a few times a week.
E.g., I have several Rexx scripts for running Robocopy, and each script has VERY carefully worked out, tested, etc. options.
One Rexx script I leave running in each Windows command line window as a shell: It's useful but dirt simple, just reads the command line, does what it can do and otherwise passes to Windows. In particular with that shell I have the cutest little file system tree walking, jumping, etc. commands.
One of my favorite Rexx scripts I invoke with an icon in the UL corner of my screen. This script moves the windows, maintaining the current Z-order and X position order, so that the UL corners of the windows are on a line from the UR of the screen to the middle left. This way at least a little of each window is visible and can be made fully visible without moving any of the other windows and still leaving at least a part of all the other windows visible. To me THAT is how to arrange screen windows. So, yes, Rexx has a little API to some of the Windows API.
In any command line window,
Rexx can do good things with the environment variables of that window. So, I initialize each command line window with environment variables like
So, that environment variable has the file system directory I use for HN posts, etc. Then via my little shell, I can type
g hn
(go to hn), and my little shell looks up environment variable MARK.HN and makes that tree name the current drive/directory.
Apparently when using an hierarchical file system to implement a taxonomic hierarchy of subject matter, some of the leaves of the hierarchy are wanted much more often than the directories on the path to that leaf. For such leaves, say, x, my little environment variable MARK.x work nicely.
It's common for me to have a file system directory tree name in KEdit and then want to open a window with that tree name the current drive/directory. Okay. In KEdit I put the tree name on the Windows system clipboard, and then my little Rexx shell command
g
makes the tree name on the clipboard current. Dirt simple to implement and darned handy.
There's lots more in my little command shell, and it's easy to implement more.
There's a book on Rexx by Mike Cowlishaw, and it's nicely done, but Open Object Rexx comes with some nice PDF files that might be documentation enough.
Rexx is elegant. E.g., it's a total sweetheart for its string manipulation facilities. The only data type is a string. If the content of a string is the decimal digits of a number, then can do arithmetic on it. Yes, can ask if the content is a number.
Built-in quite nicely are stem variables, essentially collection classes or, if you will, AVL trees. So, for variable i can have
array.i
where array is the collection and i is the key. If have strings i, j, k then can have a three dimensional key
array.i.j.k
Powerful. Easy. Elegant!
Yes, there is a statement interpret where can enter a string and have it executed immediately. So, e.g., could have some code that constructed a string that was the source code for a do-loop, give that string to the interpret statement, and have the loop executed.
Yes there are some plenty good enough trace and debugging facilities.
Rexx is no toy: For some years Rexx on 3000+ IBM mainframes connected with VNET (at the user level much like the Internet) was the basis of administrative computing in IBM.
Can get add-ons for sorting, TCP/IP, manipulating windows on Windows, scientific functions, etc.
I suspect that on Windows PowerShell is more powerful but harder to use for when Rexx will work.
In time I'll have to get okay facility with PowerShell, but I'll likely never give up on Rexx.
Rexx used to be the macro language for KEdit but eventually KEdit wrote KEXX, their own version of Rexx. KEXX is nice, sometimes works better with KEdit than an external macro language could, and has built-in documentation that is likely good enough, especially if had a start with Rexx.
Rexx and KEdit let me have just simple text as the basis of nearly all my computing and essentially all my typing. Rexx and KEdit are for text like a chef's knife and cutting board are for a cook. AFAIK, all source code is still just simple text!
I don't recall E3. But there really WAS an IBM editor XEDIT, written on his own by an IBM guy in Paris. He understood elegance. Its macro language was Rexx. KEdit is a PC version of XEDIT.
The bad kind keeps a legacy API that allows batch scripts from 1985 to work.
In every modern OS, the system packages—and most installable first-party packages in a package ecosystem—are there to make the (legacy) software you might install “just work”, not to provide the best experience for users using those packages directly.
Users, for their own needs, are expected to install their own tools and runtimes, or to consume collections of them through “toolchain environments” provided by software like IDEs.
If the product is great(not only the software, but support, vision, market fit, etc), you need a minimum base of users until it takes off, doesn't matter is B2C or B2B, people will talk.
Yeah it’s a matter of emphasis. When you are starting up, not having a great product is your biggest problem by far. Also your attitude, if widely applied, would result in a world filled with useless crap with brilliant marketing.
What makes you think the world isn't? It hardly ever is the best service or product that wins, but the one that sells best. And that is, to a huge degree, marketing. Maybe crap is to harsh, but not the best products? I certainly would sign that sentiment.
You are perhaps too optimistic. Just heard a scooter start up called ‘Unicorn’ went bust without making a single scooter, losing all the money people gave them for pre-orders. All the money was spent on facebook ads. This is the purest application of marketing, where there is no product, let alone a crap one.
That is wrong – or, at the very least, incomplete. "Build it and they will come" is the dream and misconception of every programmer who's talented at software development but not at sales. Hell, this is the number one advice of every business how-to book ever: You can't rely on people finding out about your great product by chance, you need to put in the work and sell it!
> Then people will not only use it but recommend it to their friends [...]
That's not how it works for B2B software, and only rarely for B2C. Usually, if a product is successful, then as a result of good marketing (a good product ist somewhat necessary, but not sufficient).