Hacker Newsnew | past | comments | ask | show | jobs | submit | Arubis's favoriteslogin

1) As mentioned by another comment, B2B customers may care about the size of your team if you are doing something business critical. From their perspective, they don't want to depend on a product that may not be there if one guy gets sick, takes a vacation, flakes, etc. One approach I have seen some people take is to answer something like "the team is under 10 people" which is technically true (ish)

2) A startup is about risk management. At the beginning, there are ALL the risks (can you build it, are you building something people want, can you find those people in a scalable and economically efficient way, will those people pay enough for the product, etc?). Your goal as a founder is to quantify and reduce those risks in a methodical way. Your milestones should be tied to that goal. For instance, to address the first risk listed, you can set a milestone for developing a prototype. For the second, you can set a milestone for getting the first live customer, and so on and so on. My suggestion is to prioritize risk and set your milestones to address the biggest first (hint: it almost always is figuring out whether anyone even wants what you are building). Another thing to consider is the psychology of progress. Momentum feeds on itself so it is a good idea to set aggressive timelines.

3) Theoretically, no one cares where you live. Practically, it may help to be in a tech-dense area for networking, hiring, etc purposes.

4) Not doing enough (any?) marketing is probably going to be why most technical founders fail. The problem for the most part if not whether or not you can build a thing, it is going to be whether or not you can get enough (any) people to buy and use the thing. You should be doing twice as much marketing as coding as a rule of thumb.

5) Fundraising is a tactic, just like any other tactic available in building a company. There are some ideas that are capital intensive (eg high customer acquisition costs) and would be hard to execute without fundraising. If you do decide you need/want to fundraise, you should understand the implications for you and your company and plan accordingly. For some reason, lots of people seem to form their identity around bootstrapping or VC. I don't think this is a useful way of thinking about the topic. It is better to think about it as a tool and decide if that tool is what you want or not.


I would like to propose "Grove's Axiom" which basically states:

If you're failing, pivot to what your replacement will do before you fail.

"In the midst of the doldrums of 1985, Grove posed a hypothetical question to his colleague Gordon Moore: “If we got kicked out and the board brought in a new CEO, what do you think he would do?” Moore answered without hesitation, “He would get us out of memories.” To which Grove responded, “Why shouldn’t you and I walk out the door, come back and do it ourselves?” [1]

[1] https://hbr.org/1996/11/inside-intel


Nix is advanced alien technology that was badly damaged when it fell from the sky. In particular the docs/blogs/forums are net negative some ridiculously high amount of the time, like start composing an email: “I have a very special set of skills, and I will find you…” amount of the time.

But once it starts working: how does anyone do this any other way?

- The language is reasonably well-documented and those docs are rarely wrong.

- Learn bash, like really really learn bash.

- Check out nixpkgs and use that to figure out how to do stuff.

- Only do this if paying the entire cost in time and frustration in one aneurism-inducing spasm upfront is a worthwhile tradeoff for having everything work perfectly every time thereafter.

It’s kinda like being Paul Atriedes: you get magic powers but first you put your hand in the fucking box. What’s in the box?

“Nix!”


I heard this on Lex Fridman's podcast a while ago. This is Microsoft CTO Kevin Scott on “storytelling”:

Lex Fridman: Microsoft has 50-60 thousand engineers. What does it take to lead such a large group of brilliant people?

Kevin Scott: … (snipped)... One central idea in Yuval Harari’s book Sapiens is that “storytelling” is the quintessential thing for coordinating the activities of large groups of people once you get past Dunbar’s number. I’ve really seen that, just managing engineering teams. You can brute-force things with small teams, but past that things start to fail catastrophically if you don’t have some set of shared goals. Even though this is sort of touchy feely, and technical people balk at the idea that you need to have a clear mission, it’s very important.

Lex Fridman: Stories are sort of the fabric that connects all of us, and that works for companies too.

Kevin Scott: It works for everything. If you sort of think about it, our currency is a story. Our constitution is a story. Our laws are a story. We believe very strongly in them, and thank God we do, but they’re just abstract things, they’re just words. If we don’t believe in them, they’re nothing.

Lex Fridman: In some sense, those stories are platforms.


Storytelling is very under appreciated in business generally. Storytelling is what allows teams to make decisions without running every single one by their manager.

I'll give it a shot. I've been getting out of bed at 4-5 am for the past 5 months when I have no need to other than to accomplish more personal stuff.

1. If you need to get up early for work, leave a good handle on it the night before. Like leave detailed notes on how to accomplish the next step or steps. Detailed enough that your first half hour to hour will be brainless peace and harmony.

2. Leave an exciting reveal for the morning. Say you finished building a cool new feature. Don't try it out until you wake up. I like to leave a 3D image or animation rendering overnight.

3. If possible change your schedule so that the early morning can just be full of fun stuff.

4. Plan to lay in bed for about an hour before you fall asleep. Incentivize it with a bedtime-only iPad or a pile of good books for bedtime only.

5. Lay out your clothes for the morning, the night before.

6. Do not get out of bed cold unless you find that invigorating. I bought 5 long-sleeve cotton shirts and sleep in those and some comfy pants and short socks. If I get hot, I use fewer blankets. I also keep a coat ready to put on.

7. Make breakfast or a cup of tea/water beforehand.

8. Make a fun routine. I bought a nice radio for early morning use. It picks up stations far away and I listen to it while I work.

9. Plan to take a nap later whenever needed. Schedule in the downtime.

10. Lay out a plan for your entire tomorrow. I do a mind map on paper. With this done the evening before, there should be nothing left to avoid thinking about in the morning, making it easier to consider getting out of bed.

Edit: And yes, it will change your life and people will wonder how you do it. Also I consider this practice a great burnout-prevention tool if you can keep work out of it (or out of the rest of your day).


"If not today then soon, gray clouds will gather. Let it come so I might hear leaf splats, watch the wet blotch, taste on my tongue, feel on my face the pentecost of petrichor." --Above the Waterfall, Ron Rash

I think this is an important article. One part that really resonated with me is the studied informality, in a way that becomes a kind of shibboleth for class membership.

"The name that we gave to the culture there was “studied informality”—nobody wore suits and ties, nobody even wore standard business casual. People were wearing sneakers and all kinds of casual, fashionable clothes. There was a sort of “right” way to do it and a “wrong” way to do it

This actually does remind me of something PG wrote a while back in an essay about informal dress codes and programmers.

"Nerds don't just happen to dress informally. They do it too consistently. Consciously or not, they dress informally as a prophylactic measure against stupidity.[1]

I feel a little bad bringing this up, because I don't mean to be hard on Paul here, or dredge up an essay written 15 years ago. I'll also admit I found the statement entertaining, though it had a bit of the competitive nerd quality to it, something I found a bit off-putting even though I meet more or less every demographic check mark for "nerd" for my generation, down to dungeons and dragons and programming in basic on an appleII.

But then there's this part, from the Atlantic article, about suits. "that was in some ways, I think, more off-putting and harder to navigate for some of our working-class respondents than hearing “just wear a suit and tie every day” might have been. The rules weren’t obvious, but everybody else seemed to know them."

Over time, I'm come to believe that the "informal" barriers to entry for programming may be far more exclusive than the formal barriers in law or medicine. We haze through whiteboard coding interviews, we (well google and many others) store results in a double secret database with scores that a candidate is never allowed to see. There's no specific degree you take, no dress code you follow, no formal, well recognized board or exam, conducted consistently by people who are known experts in their field.

I've read articles bringing law and medicine up as a counterpoint to low levels of women in programming and stem fields. After all, women were clearly discriminated against, both in terms of formal barriers and informal hostility, in law and medicine, and yet women are now at much higher levels, in some cases a majority of law and med students in elite schools. So, the argument goes, why do we conclude that discrimination is the cause of continuing lower participation in STEM?

Here's the thing - the formal barriers to entry can be addressed in a formal way. The vague, culturally implicit shibboleths that software uses to enforce entry may be vastly more insidious and difficult to even recognize, let alone abate.

I don't cheer our informal culture and dress code the way I used to. No, I'm not saying I want us all to wear suits to work (or have an ABA style organization put a 150K degree in between programmers and the right to program), but there's something about the "prophylactic barrier against stupidity", the distain of a more formal culture, that I think may be more discouraging to people who aren't as familiar with these cultural habits.

I'll leave you with this - I'm a programmer, but my father is a physician. He was invited to speak a meeting for a society of African American physicians. He wasn't sure how to dress for a lunch meeting, but decided to go formal, with a suit. He said if anything, he was ever so slightly underdressed. Casual dress wouldn't have been anything remotely resembling a prophylactic barrier against stupidity, it would have been a sign of disrespect.

There's a lot here, in this article, to think about.

[1] http://www.paulgraham.com/bubble.html


(1) Start a freelance practice.

(2) Raise your rates.

(3) As you work for clients, keep a sharp eye for opportunities to build "specialty practices". If you get to work on a project involving Mongodb, spend some extra time and effort to get Mongodb under your belt. If you get a project for a law firm, spend some extra time thinking about how to develop applications that deal with contracts or boilerplates or PDF generation or document management.

(4) Raise your rates.

(5) Start refusing hourly-rate projects. Your new minimum billable increment is a day.

(6) Take end-to-end responsibility for the business objectives of whatever you build. This sounds fuzzy, like, "be able to talk in a board room", but it isn't! It's mechanically simple and you can do it immediately: Stop counting hours and days. Stop pushing back when your client changes scope. Your remedy for clients who abuse your flexibility with regards to scope is "stop working with that client". Some of your best clients will be abusive and you won't have that remedy. Oh well! Note: you are now a consultant.

(7) Hire one person at a reasonable salary. You are now responsible for their payroll and benefits. If you don't book enough work to pay both your take-home and their salary, you don't eat. In return: they don't get an automatic percentage of all the revenue of the company, nor does their salary automatically scale with your bill rate.

(8) You are now "senior" or "principal". Raise your rates.

(9) Generalize out from your specialties: Mongodb -> NoSQL -> highly scalable backends. Document management -> secure contract management.

(10) Raise your rates.

(11) You are now a top-tier consulting group compared to most of the market. Market yourself as such. Also: your rates are too low by probably about 40-60%.

Try to get it through your head: people who can simultaneously (a) crank out code (or arrange to have code cranked out) and (b) take responsibility for the business outcome of the problems that code is supposed to solve --- people who can speak both tech and biz --- are exceptionally rare. They shouldn't be; the language of business is mostly just elementary customer service, of the kind taught to entry level clerks at Nordstrom's. But they are, so if you can do that, raise your rates.


I have a pet theory than the reason people procrastinate, is because they don't concretely identify their future selves, as being the "same person" as their present self. Rather, they view their future self as an abstract person, more akin to a friend, than self. This level of relatedness varies with time as well. People identify very strongly with their future self from tomorrow, perhaps akin to their best friend. But they identify their future self from years/decades later, more akin to a distant cousin.

From this perspective, procrastination becomes analogous to selfishness. A very "altruistic" person would prioritize their future self to the same extent that they would prioritize their present desires. Perhaps even more so. Whereas a more "self centered" person sees their future self as a stranger whose desires are inconsequential to their present selves.

What would be really interesting to consider, is the correlation between "future altruism" and traditional altruism. One can imagine these two being completely uncorrelated, the same way a racist person can be completely uncaring towards other races whilst still being altruistic within their own race. But if there is indeed a stronger correlation, that would be a very interesting finding.


Dumb, yes, dumb. The ambitions were unrefined, unintelligent, and I had no idea how to make an ambition more refined and add more intelligence to it. But the truth is, that is a thing you can and must do.

Were I to start again I would use defined models to refine those ambitions. I would analyze them and refine them again and again, the more important they are. Which is to say, my _current_ ambitions are much more refined, flexible, well-modeled, than they have ever been.

[I work with people and coach them on this stuff, and so here I have to say: I don't recommend this course to everyone; this is me relating my own experience. To some, a process like ongoing analysis has a similar effect to removing one's computer's cooling system, and so they shouldn't worry so much about analyzing things.]

If I set out to do something today, I am much, much more likely to succeed. My life has been transformed (see profile). I temper this by saying that this dumb-talk is as much a warning to my future self as it is a lamentation. But recent measurements of my personal health and happiness do seem to indicate that my recent ambitions are much less dumb. If future-me has any complaints he can talk to the spreadsheet, he can talk to the journal, he can talk to the people to whom I listened more, because I was more mature.

I do think I was an intelligent person overall when I was those ages, and hindsight is 20/20, but yeah, still those were dumb ambitions and my happiness suffered measurably.

I don't see "overcoming dumbness" as a neverending pursuit, either. Evidence seems to show that you can minimize your dumbness until its effect is like rolling a 1 on a d100, then a d1000, and so on. In university I believe I had maybe a d10.

Take a simple technology like saying "I'm sorry. I messed up. Can I get a do-over?" That move right there can potentially level you up to a d100.

I am semi-tongue in cheek here, so I hope I don't burn too many of a reader's analysis cycles. Better to learn this stuff yourself through trial and error.

I remember being shocked when a professor told us undergrads in a very respectful way that we were "dumb undergrads." But you know what? He was right in a big way.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: