
What you should know as a founder of a software company - nbaksalyar
https://qotoqot.com/blog/founder-skills/
======
ukulele
> Weak user experience design makes people hate your product. Big companies
> can get away with it because their clients often have no other choice, but
> it’s a crucial point for a new market player.

This is not a generally true statement. Big (aka successful) companies with a
poor UX are likely focused on selling or some core feature set that is hard to
create, and if they're big then it means they are or were making that tradeoff
correctly.

In all likelihood, most startups would benefit from focusing less on UX
concerns and more on selling, selling, selling.

~~~
pier25
As a front end dev / designer I used to agree with the author, but now I think
it depends.

Wikipedia, Reddit, even HN are great examples of successful projects with
_good enough_ UI. Even Gmail or Facebook had terrible UI when launched.

If you are solving a unique problem, UI is not so important.

~~~
jszymborski
I'd argue while perhaps they are examples of brutalist functionality, the
wikipedia, reddit and HN offer a very nice UX and a simple, easy to learn UI.

HN/Wiki/Reddit don't: break the back button, take forever to load 1000 JS/CSS
files, have broken "infini-scrolling", or even break when JS is disabled
(well, reddit kinda does now).

Compare that to the majority of over-engineered SPA-style webpages that
employed many, many front-end engineers and UX designers, and Wikipedia,
Reddit, HN as well as old-school Gmail and FB start looking amazing.

Man oh man do I miss old Gmail... that was a great interface. I exclusively
use FB on mobile, no-js mode.

Web brutalism should be the new hotness.

~~~
fastbeef
Funny thing about inifi-scrolling is that it's designed to save bandwidth, but
I'd wager that most of the time the extra JS packages are bigger than the
content actually being "saved"

~~~
Illotus
Sorta, it does save bandwitdth, but more importantly it is used to keep users
on your site longer by removing the decision point of browsing to the next
page. Though for the best effect you need to do it background so that user
never really realises that the feed/list never really ends.

~~~
marcosdumay
Whatever you do, just, please, add a link for the next page at the end of your
results. You can move it later with JS once you downloaded more results, but
make sure the link is there.

I'm quite tired of not being able to use sites on slow connections.

------
save_ferris
How many TechCrunch articles can you find where an acquiring company says "the
software we're buying doesn't really work, but it sure looks good!"?

I just left a job where the founder (who didn't have any software background)
deeply ingrained himself with this philosophy and wound making life a living
hell for engineering.

While building a full-stack prototype, we slapped bootstrap 4 on the front end
because who has time to roll CSS when the project is months behind schedule?

The founder with no sofware experience decided that bootstrap was terrible and
that he'd roll an entirely custom app style. So he went into the codebase on a
weekend and ripped out all the views/controllers/assets and replaced them with
his own, which massively broke the test suite on Monday morning (which of
course he didn't know how to operate or fix.) After a couple of other
"executive audibles" like this, I took the next good offer and ran.

It's weird to see 'visual design' as a mainstay of an article titled 'What you
should know as a founder of a software company', as if managing a team and
building solid engineering fundamentals and culture are either assumed or
unimportant.

~~~
john_moscow
It keeps on puzzling me why don't engineers ever speak up. Like "Hey, man, I
understand the old design sucks and you want to make it better, but editing
things directly would only make the delays bigger. How about you take a few
screenshots of the product, photoshop it the way you would like it to look and
then we, as a technical team, will use our best expertise to make it look this
way without breaking everything in pieces?".

That could have saved you from weeks of hell and would also increase your
influence by a great amount.

~~~
throwawaydoom
Because "shut up or find yourself another job".

I thought this too until recently -- got fired after trying to protect my
employer from a toxic exec.

There are some that do not accept anything but yesmans or silent codemonkeys.
It sucks but it pays. If you are not willing to lose your position, just let
it go.

~~~
john_moscow
Protecting your abstract "employer" from a toxic exec is a political suicide.
The right thing to do is sniff out who's the exec's political enemy and what
move is he planning next against him and aid that person in his move without
directly confronting the toxic exec. It's dirty politics, but it works.

~~~
throwawaydoom
Yeah.. Lesson learned I hope...

Am I naive to think that in a business setting, problems should be
constructively confronted proportionally to the extent of their damage
potential directly with their author? Wouldn't the business be able to grow
more efficiently and be able to keep a peaceful environment free of
backstabbers if people could accept that everyone makes mistakes, that they
don't really matter as long as they are fixed quickly, and that they are all
learning opportunities that can become valuable assets? I feel like am I
throwing buzzwords around and that to some extent I have always heard this in
a form or another but for some reason, never seen it put into practice.

~~~
john_moscow
You need to look at the company's cash flow and competition model to
understand this. Let me try to sketch 2 black & white scenarios:

A) The company is bootstrapped, profitable, gets positive cash flow from
paying customers and is investing profits into adding new features that will
cover larger markets. Its competing with other bootstrapped companies on how
fast it can add features.

B) The company is VC-backed, runs at a loss, gets it cash from rounds of
investments. A competitive factor for getting more capital is showing rapid
growth and creating an impression that the company is sexy, has a great
future, etc. A competitive factor in getting rapid growth is offering services
subsidized by the venture capital and getting high-profile salespeople through
the CEO's network.

In the first scenario it's all about the product. In the second it's all about
the CEO's ability to sell the right impression to the venture capitalists.

Things get more complicated once you bring in psychology. The people that are
good at confidently overselling a product and giving a perfect impression are
usually people-oriented. They can give a good impression, and they draw their
motivation from impressing others and glorifying their social status. If a
person you're talking to starts dropping hints about how much of a big guy
he/she is, that's the personality type I'm talking about and you don't want to
confront that person because you'll be seen as a personal threat regardless
the long-term effects. This doesn't benefit the long-term product quality and
efficiency, but will benefit their self-confidence (hey, I'm a big boss,
nobody dares object me) and will help them attract more venture capital and
get more high-profile sales people aid their course.

So yes, in many real-world scenarios everyone is talking about results,
learning opportunity, positive environment, growth, etc. because this is a
part of the impression you want to make, but in reality everyone is
backstabbing each other because if you don't do this, someone will backstab
you.

------
emptybits
Founder here. That list is a lot of cart before a horse. You could master all
those points and still not have a _company_ on your hands.

#1: Solve an important enough pain point that companies or consumers will
_pay_ you for it.

Sorry it's not more catchy.

~~~
huhtenberg
Don't trivialize.

The list provides a very good insight into specifics of making a
product/company work. These aren't sufficient conditions, but they are often
necessary. Product packaging matters. Customer relations matters. Resource
management matters. As does the non-technical side of things. All of these are
integral to making "companies or consumers willing to pay you for it."

~~~
emptybits
My intent wasn't to trivialize, only to prioritize. You're right; none of
those alone are _sufficient_ for success. But IMO the single most important
priority for a founder of a software _business_ was not mentioned.

~~~
huhtenberg
"Make something that people want to pay for" is an obvious priority for any
commercial entity, small or large.

~~~
cupscale
To OP's credit, it's something that people forget semi-frequently.

I can think of quite a few products that look nice and the workflows are quite
easy, but at the end of the day they're just not solving a problem I'd be
willing to pay money for (and, often, they disappear later).

It's very hard to admit that you were wrong about the fundamentals of your
product, and very easy to think that re-designing the homepage will fix
everything.

~~~
ivm
I feel like I should place the "Marketing" section higher. There's a list of
questions to do a market research before even starting and discover if the
fundamentals of your product are correct.

~~~
cupscale
For what it's worth, I enjoyed the article.

Most start-ups aren't solving any huge problems, and sometimes market
inefficiencies are there for a reason (see all the start-ups involving the
field of law, for example).

Even for the ones that are solving a big problem (that people are willing to
pay for), it's very uncommon to have no competitors.

So typically the way to make a successful company is to be better than your
competitors, and the way you do that is through customer support, UX, etc.

So to your credit, I think for most start-up founders this is the way to move
forward. But it's definitely a bit of a sunk cost fallacy - it's really hard
to admit your idea will never be successful and to start over from scratch.

It's easier, and has more obvious ways to measure success, to adjust
relatively minor things.

------
idlewords
One thing not on this list that is an easy win is to make your pages fast.
This will separate you from 90%+ of competitors. A lot of the bloat in modern
web apps and web pages is easy to remove, and people will love you for it.

I never mentioned it in Pinboard marketing, but I moved heaven and earth to
keep the site fast for everyone, and it was speed that gave the site its first
toehold.

That said, I think the leap from 100 to 10,000 users is very hard, and I don't
know of any advice about how to cross that gap.

~~~
nathan_f77
Yeah, especially your landing page. My site is a mix of Rails and static
generators, but I scrape the Rails pages with wget --recursive, and then
upload everything to S3, and put it all behind CloudFlare. You can put your
Rails app behind CloudFlare too, but this way your site will never, ever go
down.

~~~
nsomaru
How do you handle things like form submits? How do you mix rails and static
files? Using Nginx?

~~~
nathan_f77
My sign up page includes Recaptcha and requires a valid Stripe card token, so
I can keep that static without worrying about CSRF. However, the sign in page
is loaded from the Rails app server, and includes a CSRF token. The form
submits all go to the Rails app server, which is running on a subdomain.

I run a rake task to scrape all of the landing page content from the Rails
app, then copy in the static docs site, and upload everything to S3. So it's
like I'm using Rails as a static site generator.

Basically my root domain is all static files, served from S3 / Cloudflare. And
the Rails server is running on an "app" subdomain. I think it's been working
pretty well. In the future I might make the whole app static, and just use
Rails as an API.

------
rmdoss
Too much content without addressing the real problem with most startups:

They do not solve a customer problem.

Solve their problem, make their life better and you will do well.

~~~
stephengillie
How do startups exist without customers paying them to solve a problem? From
convincing investors that the problem exists? It sounds like the investors are
the real customers and a narrative is the product they produce.

~~~
yeukhon
Some startups do very well. Uber, Lyft, Square Cash/Venmo, Yelp, those really
do solve problems many of us have/had.

Then a few tech startups doing analytics I had some experience with, probably
overpromised (?? perhaps it was my fault) what their engine could do. Requests
are often in backlog and can take many months to roll out, which by then
contract renewal is up.

~~~
ValentineC
I don't quite understand why Yelp's on that list — do you mind elaborating?

~~~
yeukhon
Sure. This is my view. I want to know nearby resturants and their reviews. I
want see photos of the dishes. I want to see the decor. I want to see
discounts if any. I want to see open hours. I want to search based on
location, cusine, pricing etc. i know Google does this now, but Yelp was the
first to make all the above well in one place. Google doesn’t have an app
dedicated at all, just search. Yelp solved my problems. I think you can agree
with me you would hear “let’s yelp it/check on yelp” when someone looks for
resturants. I also use Yelp beyond just resturants. I was looking for a new
dentist and I found him on Yelp after some reviews online. I got to see the
good reviews and photos of his office. I was lucky those reviews were real. If
I were new to a city I might check out Yelp and TripAdvisor for some reviews
and recommenations.

------
BadassFractal
Really, the key is solving something important that people absolutely need,
and will overlook all these weaknesses for. Then something like a good UX is a
can you can kick down the road for a long time.

If instead you're doing Yet Another Pinterest, then good luck, you're playing
a very different game.

~~~
dualogy
> _that people absolutely need_

A tough one. Asking myself what I _absolutely need_ , I come up with
air+water+meat+housing. And I'm a coder! =) but even for softer
interpretations of "absolutely", haven't ran into any such non-niches (we're
talking "people", not obscure-exotic-niche-use-case-prospects) in a long time
lately.

------
paulie_a
Sorry to be harsh and disregard your legitimate content completely but it is
misguided, it lacks the most important word: Sales

~~~
ivm
Good point, I have a B2C bias.

~~~
paulie_a
I am curious about the bias. B2c still requires sales.

~~~
Klockan
What would sales do in a B2C shop? In my mind you just create a product people
want, slap AdWords on it for revenue and add a marketing team for growth. I
have a hard time imagining what for example Reddit would do with a sales team.

Edit: Apparently Reddit have a sales team since they have their own ads
platform, they wouldn't need it if they used AdWords.

~~~
autotypo
Adsense is for publishers, AdWords for advertisers. You are referring to
Adsense, maybe?

~~~
dennisgorelik
He meant AdWords - to help him find customers for his B2C product.

~~~
autotypo
This makes more sense in the context of the GP comment if Reddit's ad network
is found on sites outside of Reddit. I confess ignorance to these particulars.

------
minton
> The market doesn't care what's under the hood as long as it works and solves
> problems.

This is a hard truth.

~~~
mkez00
Very true. However, software engineers care about what's under the hood. And
the longer your company is operational you are bound to encounter engineering
turnover. Attracting promising talent could get very difficult (and extremely
costly) if your software stack and/or code base is antiquated.

------
olavgg
I work at a startup, which is around 15 months old now. We have no UI/UX
designer, and have not focused on creating a good UX. We would love to have
one, but have not found the right candidate yet.

But we are doing very well, we are now over 40 employees and have several of
biggest names in the nordic countries as clients and our software is being
interacted with hundreds of thousands of individuals every day.

Good UX is important, but it doesn't have to be "perfect". The most important
thing by far for a startup is getting out of your office and talk with
potential clients.

~~~
dharma1
I agree with this. Though if you are at the stage when you want an updated
design, I could probably help you. Contacts in my profile

------
evanr
What you should know is that the only thing that matters is solving big
problems for real people problems.

If you are solving real problems and you are constantly learning and improving
based on your understand why your customers hire/fire you then nothing else
will matter.

If you are really customer-value-centric then your UX/Visual design, PR,
marketing, SEO won't matter since all of your customers will be telling more &
more people why you are awesome and they'll keep paying you for more.

~~~
brightball
People buy pain relief :)

------
mi100hael
_> Writing is the part where non-native English speakers like me are in a
disadvantaged position._

While reading the article, I had no idea you weren't a native speaker until I
reached that line. So: congrats.

~~~
ivm
Thank you! Though my editor still fixes 2-3 issues in each paragraph.

------
cdevs
Our CEO doesn't know what UX is and tried to get a marketing email designer to
rebuild our whole tool. he figured the kid knows photoshop so he must know
best.

------
nestorherre
Good article. Concise and to the point with the key elements. Thanks for
sharing

------
ccvannorman
*founder of a B2C software company.

If you're B2B the strategy may be somewhat different.

------
nathan_f77
That was a really great article. Here's a few notes from my experience with
FormAPI.io:

> One of the best ways to do it is to watch people interacting with your
> prototypes without giving them any hints.

This is so true. My product has a lot of very complex features, but after
watching some early users, I realized that people were struggling to figure
out some of the most basic things - even just adding and removing fields. I
had made the 'delete' icon only show when you hovered over the field in the
sidebar, but I made it more obvious by always showing it when the field was
selected. I also added another 'Delete' link to the field option in the right
sidebar. And then I also added a welcome modal that explain how to add and
delete fields with animated GIFs. (Including the "delete" and "backspace"
keyboard shortcuts.) Now that there's 3 separate ways to delete fields, people
figure it out almost immediately.

Even adding fields was hard to get right. My initial version just had click-
and-drag, so you had to first click, then drag to adjust the field width. I
saw that new customers were just clicking on the page, and nothing would
happen. So I added support for single clicks as well, and now it adds a field
at that position with a default width.

It's scary that I might not have realized these UX problems if I wasn't paying
attention.

> Nowadays it’s easy to get amazing stock templates for less than $50 instead
> of spending thousands on a custom design.

I strongly recommend [https://pixelarity.com](https://pixelarity.com). I've
used 3 of their templates now, and I think they're very good. Some of them
even have jekyll versions that you can download.
[http://unsplash.com](http://unsplash.com) is incredible for stock photos, and
I have a subscription to
[https://thenounproject.com](https://thenounproject.com) for vector icons.
There are a lot of free icons out there, but the Noun Project has a ton of
variety, and lots of things you can't find anywhere else.

> When doing the development yourself, it is easy to slip into a false
> productivity when you increase the amount of code without achieving your
> business goals. The most infamous examples are building tools instead of a
> product or overthinking a complicated architecture "for the future."

This is really tough, but I'm actively trying to avoid this. Not just the fun
tools and side-projects you want to build, but even some feature requests from
customers. Certain might end up taking weeks or months, and they'll over-
complicate your product, or they just won't be a good investment of your time.

> New and trendy technology usually means bugs, breaking changes, immature
> tooling and lack of documentation. "Boring" mature tech will allow you to
> achieve the same goals much faster and make it easy to find developers for
> hire.

I used Rails and React, since I'm very familiar and productive with those. I
was tempted to try Elixir, but I think it would have taken me so much longer
to build an MVP. I have a friend who started building their startup with
Elixir, but switched back to Rails for the better productivity.

> Depending on the country, your experience with these business aspects can
> range from mildly unpleasant to the absolute worst.

I've almost finished setting up my company with Stripe Atlas, and I can say
that it has been the absolute best experience. I can't recommend it strongly
enough. I'm going through the post-incorporation stuff now with UpCounsel, and
everything is just so easy.

