Live data from Hacker News

Ask HN: Best business advice for software developers

news.ycombinator.com

91–100 of 325 posts

Re: Ask HN: Best business advice for software developers

#91

Earlier quoted context omitted.

Survivorship bias. Some of the biggest flops also come from people who don't understand the industry at all, and if they had they probably would have never tried to do what they did. You can't understand your customers if you don't understand their industry. Picking customers is like investing: if you pick a bunch of customers that are not going to win their industry, you won't thrive either.

That may be true, but it isn't a reason not to try. Heck in the process you may learn the industry, just too late for current venture. It is however a reason to be willing to recognise a flop and abandon it for something else.

Yes, but what I'm actually trying to do is cast suspicion on the dichotomy between industry and customers. Industry is not a thing that exists. There are only people, their objectives, their resources, and their problems. Those are the things that need understanding.

Re: Ask HN: Best business advice for software developers

#92
post #14

The best advice I've had (and seen applied in practice) is this: You need to get your company to 10k USD monthly product revenue within three months. If you can't, either the product, target market or team needs to be revised drastically. It's hard advice to follow, but it will save you a lot of time because you can't wait months and years doing unessential tweaks to the product and marketing, hoping that sales mirac…

$10k MRR in 3 months seems like a lofty goal to me. Is that from product launch? or from day 0? with or without investment?

From product launch. The point is to launch something that you can imagine selling $10k/month; that you have some kind of plan how to get to that level of sales; and that you'll hold yourself accountable after three months if it fails (and figure out what to do next, not just stick to the thing that wasn't working).

Re: Ask HN: Best business advice for software developers

#93

Beware the dangers of the green field. It seems to be every developer's dream to have a green field for a project. You're there at the beginning, so you think you can spend the time to make the correct design decisions early on to ensure you don't end up with the kind of technical debt you've seen at the companies you've worked for before. You'll thoroughly enjoy being a perfectionist, refactoring your code to your o…

"It seems to be every developer's dream to have a green field for a project."

I've managed at least one developer who was a genius at bug finding and fixing but who was completely lost when given a "green field" part of a the product to work on. I found this out when I "rewarded" him by giving him a "green field" to work on....

Re: Ask HN: Best business advice for software developers

#94
post #90

Earlier quoted context omitted.

This seems really aggressive, especially for bootstrapped companies. My startup took 31 months to hit $10k MRR, and now we're at ~$130k MRR. I'm really glad I didn't quit after three months. I barely even had the product built after three months. I think that for most people, if they abandon anything that's not already a huge success three months in, they'll just end up bouncing from one thing to the next and never s…

I strongly agree. Let's do the math: With a brand new un-proven product with an unproven pricing model, how many customers does it take to get to $10K MRR? In three months, how many qualified leads can you find and reach, and what percentage of those will close? (with an unproven product in an unproven market, 2% is probably a realistic estimate). Of course there are scenarios where $10K MRR is possible quickly, but…

It's certainly not a hard goal -- I wouldn't pretend that even SaaS businesses are all that similar. (The degree of reassessment after 3 months is up to you, after all.)

It's really a way to frame the product launch by forcing you to ask hard questions about what you're doing. If you don't even see a way for the product to reach $10k/month with a short-term plan, maybe it's a side project rather than a startup? Or maybe the product niche is too vague or unprofitable, and you need to work on that first?

Re: Ask HN: Best business advice for software developers

#95

If you build it, they will not come! Scream it in a loud voice, IF YOU BUILD IT, THEY WILL NOT COME! You are going to have to build it, find them, plead with them, fight their refusals and shove it down their throat. There are many unknown "unicorns" that currently exist as code. The code is done, there's just no users, because the world doesn't even know it's a thing and those that do know have not being convinced t…

I have seen this advice throughout this thread - "first find customers, and then build it" but I can't seem to understand the following:

1. why will those customers wait for your software?

2. what if you delay launching your software?

3. As a software dev, I've noticed that 90% of the product is built in 10% of the time. However, it's the final 10% that make/break it - how do you account for that (as you have already promised your future customers a product that you have yet to build) ?

Re: Ask HN: Best business advice for software developers

#96
I'm a software attorney - I negotiate software development, installation, support and licensing, deals, including agile software development, SaaS, PaaS, API agreements, SLAs - you name it. I was also in house counsel for a group of tech startups for five years prior to my current role. Finally, I write software, actively - these days in Node - yes, I know this is an invitation to mockery, which I welcome. All of this is a long-winded introduction to try to say I know a thing or two about this.

tl;dr: 1. The most important thing for developers to understand is the business goal of the software they are delivering. 2. The second most important thing for software developers to understand is how much they cost and their opportunity cost - especially if they are on staff.

To explain in more detail:

1. Software you develop professionally serves a business goal. Engineering decisions should be made in support of this goal - they are, themselves, not the primary motivating force. There are often cases where an engineering decision is a key part of the business offering - e.g., a specification, compliance with a protocol or a law or regulation, performance metric, systems compatibility - but this is still a business point. You are still building software for it to be sold. Part of understanding the business goal of the software is how the client (whether that is your employer or your actual client, if you are an independent developer or studio) actually makes money off of that software or how it fits into their business model. This means that, by and large, while executives are actually very sympathetic to engineering decision - you have to understand that a very large number of engineering decisions (possibly a majority?) are non-responsive to business concerns - i.e., they truly do not care if you go with react as opposed to angular for engineering reasons - but they do care if you tell them that there are more developers out there familiar with angular, they are easier to find and hire, the codebase is more actively maintained, it is less prone to failure, it is more likely to continue to be stable in five years, and it will not cost as much to re-factor the old parts of your production-software to this new platform as opposed to an old platform (NB: this example is made up. I have no idea if it is or is not true, with regard to react v angular). They don't care if one is shinier or newer - unless it has a material impact on the ability of software developers to perform and deliver, or it will have a material impact on the stability, security or performance of the underlying software.

2. Software developers are monstrously expensive. Mind-bogglingly so. And non-technical people have a very, very hard time understanding what you do all day. The many, many attempts to metricize software development - velocity, kanban boards, (god forbid) LoC measurements - are an attempt for non-technical people to try and match cost to output. Please understand that this is well meaning - they do respect what you do, they just do not fully understand it, which is why they have to build these elaborate systems to try and make sense of it. To express this another way - you cost money with every breath you draw, and you are fantastically expensive to keep around. A few months ago I was at a JS meetup here in NYC, where a CTO walked through how much work it took to install bower, grunt and babel into their production stack. He said it took 3-4 senior engineers three months of dedicated time to make this transition. I thought to myself, he must have made a great business case, the business managers must have understood this was necessary for the health of the product, his managers must defer to him without question, or the organization has very loose controls, or some combination of the foregoing, because that is somewhere on the order of 3.5 (persons) * 150 hours (productivity / month) * $125/hr (cost of a senior dev, fully loaded) * 3 months = ~$200,000 worth of work for changes to the stack that were purely internal. The math is crude and very back of the envelope - but consider the opportunity cost - that was senior dev time not being put into feature development, critical bug fixes, or performance optimization - it was purely back-end refactoring. Personally, I have no idea if this investment will turn out to have been worth it - I don't know enough about what it was like to write code in that org before and after these changes - I do know a tiny fraction of JS devs work in es6 - so I am skeptical of the utility of babel at this point, but that may be very shortsighted. What I can say with some certainty, however, having negotiated many, many millions of dollars worth of software development agreements, that this was a major operation, even for an 'internal' client. To put it another way, if you hired outside guns to do this same thing, double the cost. The whole point of this story is realize that, when this was all pitched to the management, who are decidedly not software developers, they had to put tremendous faith in their engineering team that this really large cost was worth it, when I'm sure there was a yard-long list of bugs, features and optimizations that were being de-priotized for this fix that the managers would never actually see, touch or interact with directly. When you are pitching engineering decisions to your clients, you have to make it very expressly clear why it matters for the business case - not just why it matters for the engineering case. You may be right and they may even understand and agree - but in the end, unless the engineering changes are going to have a business impact, it is not a good business decision to invest in them. Please understand - sustainability, security, performance and the happiness of the software development staff are important business considerations - so you can include them in your pitch. But if you just tell a manager that react fiber is better and the way of the future, and you must do a full-stack migration from your static HTML forms to react fiber and it will take 1000 hours of dev time, don't be surprised if you get the stinkeye. Tell them this is an investment in the sustainability of the product and it will mean it will work on more systems, more browsers, work better on mobile and make it easier to hire engineers? You may succeed in your pitch.

Re: Ask HN: Best business advice for software developers

#97
I was a software engineer for 10 years (first 10 engs at LinkedIn -> first 10,000 at Google -> first 10 at Factual). After that I was about to start a company but fell into venture capital instead. Here are a few things I've learned about business from the VC side that I didn't appreciate very much when I was an engineer:

1) Customers don't care about the technologies you're using, the elegance of your XYZ algorithm, or the novelty of feature ABC. What they care about is solving some problem they have, making their day easier, becoming more productive, etc. When you're pitching your product, talk about how it helps the customer, not about how it's built. A great 5-minute video on this is "Understanding the Job" by Clayton Christensen: https://www.youtube.com/watch?v=f84LymEs67Y

2) Think about monetization early on. Like most engineers, I had dozens of side project and business ideas. For each idea, I had thought about the features I'd build and how I'd build them, but not the business viability: who would I sell to? What would the pricing model be? How much money would that translate to for a typical user? Would users have the work/personal budgets to pay what I wanted to charge? Was the price enough to cover marketing and user acquisition costs? I haven't read it, but have heard that a great book on this topic is Monetizing Innovation (https://www.amazon.com/dp/B01F4DYY1I). Another good book to think about business models is The Art of Profitability (https://www.amazon.com/dp/B000FA5TTM, brief notes: https://codingvc.com/the-art-of-profitability)

3) Finally, think about marketing and customer acquisition in parallel with product. After almost 5 years as a VC, I can readily confirm that most products don't sell themselves. Even the really good products need sales, marketing, etc. A great book to get started on marketing is Traction by Gabriel Weinberg (of DuckDuckGo) and Justin Mares (https://www.amazon.com/gp/aw/d/B00TY3ZOMS/)

Re: Ask HN: Best business advice for software developers

#99
Understand that marketing is as important or more important than creating an elegantly coded product. You can have the most amazing product in the world but if no one knows about it or is sold on it, it will never go anywhere.

This can be any method of marketing you want, but you need it and it needs to be effective. The odds of being the exception that does not need it are low.

Re: Ask HN: Best business advice for software developers

#100
post #39

If you choose to run a software development agency: - Shoot for between 3 and 10 clients. Any less and you'll be very stressed about losing a client. Any more and you'll be overwhelmed with juggling too many balls. - Fire bad clients. They aren't worth the stress, frustration, and opportunity cost. - Work on your process. Doing an hour of client works earns you one hour of revenue. Improving your agency processes can…

Fire bad clients. This is a very important piece of advice. Bad clients will kill your energy, drive and time.
Post reply on HN