Live data from Hacker News

Ask HN: Important nonobvious startup/business lessons you've learned?

news.ycombinator.com

61–70 of 256 posts

Re: Ask HN: Important nonobvious startup/business lessons you've learned?

#61
1) You almost certainly can charge more

2) No matter what business relationships you have with other companies, but they will always save them first

3) Being known for paying on time can do wonders when the going gets tough.

4) Get rid of toxic assholes asap no matter how valuable

5) You aren't aware of the tech that exists and can help your business, do seeks for advise

6) Better service is only possible when the entire company believes in it

7) Don't mix confident with competent

8) Not all things should be automated

9) Buy things you need not want

Re: Ask HN: Important nonobvious startup/business lessons you've learned?

#62

Apply your technical skills to a non-technical business. Dont start a tech startup in a tech hub. Run a business completely unrelated to tech and use your skills to improve that business, theres SO much low hanging fruit out there. The venn diagram of tech skills and a non-tech business is where the opportunities are. This applies to many other unrelated skills.

This is amazing advise. People working in tech, especially in high tech orgs live in bubbles and often imagine that the whole world is like this. I know a multimillion £ business that probably gained hundreds of thousands in productivity by simply introducing shared mailbox. Some of those low hanging fruits are litterly on the ground ready to be picked up.

Re: Ask HN: Important nonobvious startup/business lessons you've learned?

#63
1. Verify that co-founders are emotionally committed to stay. For my first startup, I lost half the founding team when things started getting stressful. Needless to say, that made things even more stressful.

2. Don't trust big companies to take you seriously. I've been burned by "lets use market leader XY" and then later "why won't market leader XY return our calls" and then "we're offline due to market leader XY not responding to support ticket AB" more often than I can remember.

3. Never commit to support stuff outside of your control. That means you don't guarantee uptime ever unless you have your own datacenter and your own admin team. Otherwise, always scope contracts to say "we will be online 99% of the time that cloud X is error-free".

4. If stuff goes to shit and it's not your fault, announce that loudly to your customers. Otherwise, they will blame you simply because you're the messenger bringing them the bad news. People just love to shoot the messenger (metaphorically).

5. When you need money, banks will ignore you. When you have too much of it, you get flooded with additional offers for cheap credit. Plan accordingly, so you need to borrow long before you start the project and borrow enough to get you over the cash flow shortage. If you wait until you actually need the money, terms will be horrible.

6. People are suckers for social proof. "Nobody ever got fired for buying IBM". Make sure you have your top customers featured on your website and update that list regularly. Go to conferences so that you can invite your top customers for dinner and people will talk about it.

7. Some people start drinking when stuff gets tough. And some people change their character 180 degrees when they are drunk. Not sure how to defend against that, though.

EDIT: 8. Research the market in advance. I once had a product that people loved, but my customers going bankrupt produced serious churn for us, reduced customer LTV, etc. Building stuff in that market was lots of work for little benefit.

Re: Ask HN: Important nonobvious startup/business lessons you've learned?

#64
post #46
post #33

Here's 30 years of experience for you: 1. Few business problems can't be solved by more sales. 2. Cut expenses when the storm is approaching, not when you're soaking wet. 3. You can't eat assets or inventory. Don't get emotional about what you own, only about your cash balances. 4. Banks are your friend only when you don't need them. Corollary: One bank for borrowing, one for cash balance accounts. 5. 70 completed ca…

Sales fixes everything. Very hard to learn for engineers and designers often.

Unless the product you are selling is defective.

Re: Ask HN: Important nonobvious startup/business lessons you've learned?

#65
post #46

Earlier quoted context omitted.

Sales fixes everything. Very hard to learn for engineers and designers often.

Unless the product you are selling is defective.

Assuming the product that has been sold actually exists!

Re: Ask HN: Important nonobvious startup/business lessons you've learned?

#66
post #46

Earlier quoted context omitted.

Sales fixes everything. Very hard to learn for engineers and designers often.

Unless the product you are selling is defective.

That can sometimes be fixed with "don't walk there" stickers and/or ignored.

Re: Ask HN: Important nonobvious startup/business lessons you've learned?

#67
post #46

Earlier quoted context omitted.

Sales fixes everything. Very hard to learn for engineers and designers often.

Unless the product you are selling is defective.

I wonder how many dev teams exist that think their product isn’t defective.

Re: Ask HN: Important nonobvious startup/business lessons you've learned?

#68

I haven’t seen success at all. That's because people is super hard. Selling to people and managing people. Selling is super hard. Ideas are worthless if you can't sell. My thesis is that make sure you have the connections to make the initial sells and you have the personality trait to ask for referral and grow from the initial sales. If you haven’t figured out a way to guaranteed sales yet, don’t hope for a miracle w…

It seems like a good reason to have a marketing co-founder if you're a tech/product person.

Re: Ask HN: Important nonobvious startup/business lessons you've learned?

#70

As a dev i've always known my hunch when it comes to compromises. Never let the business team ruin your experience building cool rock-solid code. I'd rather resign than to compromise anymore. I know there should be a sweet spot between "perfect" and "working". Even a junior can pull-off a "working" app. But when it starts to scale, all those hasty bad decisions will bite your ass. Never skip planning, plan as long as…

Thanks for sharing your thoughts here. I think it's useful for us to get a glimpse into your thought process and start a discussion.

Though I empathize with the overall desire, you sound inexperienced to me, as in, you might have had some failures that you attributed to lack of planning or business decisions, etc, but you haven't learnt from successes, because some of the stuff you're saying is just extreme counterproductive wishful thinking to the point where it sounds like trolling.

For example, 'building cool rock-solid code' is typically not a business goal or at best, a nice to have. Developers are hired to solve a business problem. If the code doesn't solve the problem, you're wasting precious resources. 'cool code' is a personal choice.

Compromising is essentially a trade-off like any other, and it requires careful deliberation in every context. Your opting to not compromise by default means that you're introducing friction in the team, in the business relationship and potentially affecting the life of the business, not to mention that it's a 'us vs them' mentality when you're supposed to be part of a team to deliver a product together.

Your reasoning about hasty decisions biting you is also backwards. Notice how you're just assuming that a product will start getting enough users to need to scale. Guess what: like most products, the product you worked on was actually not that great, didn't have a good product-market fit and if you hadn't spent all that time polishing and planning the cool non-junior code, you might have saved everyone months of time.

Also you go from 'never skip planning' to 'take as long as you need'. Those are 2 extreme approaches. It turns out that a little planning goes a long way. You can come back and iterate on the plan. No plan is going to be perfect from the start, because you don't have all of the information available to you when you start a project. As you develop a project, you get more information on hidden requirements, user expectations, non-functional requirements and various other metrics that you couldn't have thought about ahead of time.

What you are describing is the waterfall approach to software development and the only way it doesn't fail is if the domain and the product are very well understood (e.g. "build a grep clone in Rust"), but most products aren't well understood ahead of time, only in retrospect, so it's a constant back-and-forth between acquiring new understandings about the product and applying them in practice by changing what's already there. It requires your code to be flexible, not 'cool' or 'rock solid'.

Consequently, you will never get 100% visibility into what you are building. If you find yourself thinking "gee I know exactly what we are building" you are setting yourself up for disappointment when 'the business people' pull the rug under all your diagrams and schemas and types that you spent months designing instead of getting a usable POC out the door asap.

Honestly, it's just a phase you're going through. Once you get burned by your current approach a few times, you'll internalize the need to avoid either extremes and you'll start looking for that middle ground with each project. I know it because I went through the same phase in my career. Good luck!

Post reply on HN