

Ask HN: What is the most important field of CS for startups? - gfr

Which field of CS do you think that with a little more time will result in the largest number of new innovative startups?
======
dutchrapley
There is no spoon, there is no important, silver bullet field. There is no
golden standard formula creating a successful startup.

In math, 4+4=8. But, not just 4+4. You can arrive at at the same outcome in
several other ways: 1+1+1+5, 2+6, 10-2, etc. When creating a startup, you want
success, but there is no clear cut path to the solution.

What's important? Identify a problem. Work at it like a puzzle and create a
solution. But, create a crappy solution and employ your customers to help
drive the direction of your product. Don't be a yes man and don't be afraid to
say no to feature suggestions.

Be passionate. If you're not passionate about building something, you'll lose
motivation. If you're not motivated, find another problem and work on building
a solution for that one.

Trying to come up with what is the most important field is a very open ended
question. You could spend a year learning a field/technology/programming
langauge and then find out you don't need it. Build something with what you
know. Don't prematurely learn something. Learn enough to get started and then
only learn more when you need to.

If you think you need to learn a certain field in order to get started, you're
procrastinating. You'll find yourself in an endless loop of "I'll start, but
only when I start learning or have mastered X."

~~~
gfr
good point, but what happens when you get stuck and can't think of something
to work on that people care about? Obviously, a person who loves to learn
won't take it as a moment to veg out, but may instead focus on problems that
stretch the mind to generate some new ways to think about problems.

But there are lots of problems that stretch the mind. Perhaps you choose to
spend your time learning about modern computer architectures. If this
interests you, great. But from a startup perspective, it probably has a lower
expected chance of spinning out a startup for you than say working on an
information retrieval system.

But perhaps it is better worth your time just talking to people about their
problems. I'm sure there are success stories on both sides of the spectrum.

~~~
dutchrapley
>what happens when you get stuck and can't think of something to work on that
people care about?

It's more complicated than creating something that people care about. You need
to solve a problem in a creative way, and also figure out a way monetize,
while being passionate about it at the same time.

Think about web analytics. Google bought Urchin years ago and is somewhat the
standard authority for web analytics. You would think all innovation in that
market would come from Google. Then you have a company like Clicky
(getclicky.com) pop up from nowhere. They do analytics, but they add a twist:
real-time analytics.

Don't worry about thinking up something people will care about. You're not
going to know whether someone will care about or pay for your product/service
until you launch. Start by scratching an itch. Don't have one? Scratch someone
else. If it were as easy as looking into a crystal ball and figuring out a
solution that people would pay for, everyone would quick their jobs and create
their own startup. Why did Facebook succeed where Friendster failed?

This is the importance of starting small, or everyone's favorite term, minimum
viable product. What are the necessary features that someone will pay for?
Maybe you launch with what you think is the MVP, but customers then say, "It's
a deal breaker if it doesn't do x." This is the importance of starting small,
you can change direction quickly. Tim Ferriss talks about preemptive testing
in The 4 Hour Work Week.

>But perhaps it is better worth your time just talking to people about their
problems.

Exactly. And the great thing about this is that there are a ton of problems
outside the realm of IT that need to be solved, where we have a chance to make
a difference and build solutions that matter.

The takeaway is that the barrier to entry is very, very low. A little bit of
money and some elbow grease can take you a long way.

Good luck!

------
Travis
I suppose the obvious answer would be large scale data analysis. Distributed
programming of statistical and learning algorithms.

So, less emphasis on theoretical math, more on applied statistics. Distributed
computing. Experience in huge data sets and the infrastructure technologies to
analyze them.

------
dutchrapley
When I first read your post, I didn't see the second question. I interpreted
the first as, "What is it important to know for startups in order to be
successful?" Then you state your second question as, "Which field of CS do you
think that with a little more time will result in the largest number of new
innovative startups?" My answer to this isn't specific to CS, but IT as a
whole. The next big breakthroughs are going to come from the field of nano
technologies. In this space, you will see some innovative startups.

~~~
dutchrapley
And, to cover CS in particular, expect to see a ton of innovation in the area
of data storage. It's going to be interesting to see what happens in the
relational db, non-relational db, and file system fields.

------
CyberFonic
MBSE: Model Based Software Engineering

You also need in-depth understanding of a specific application domain, your
choice, but it should be one that interests you because you are going to be
involved for a long time.

Startups succeed on the basis of solving a problem that is big enough and
common enough to get lots of clients who are willing to pay heaps. Do yourself
a favour, read up Steve Blank's customer development process if you haven't
already done so.

~~~
kls
Contrary to popular belief software process and design is the antitheses to
minimum viable product. In a start-up proper, cash is constrained and getting
to market should be the goal primo. Getting senior level technical people up
front allows you to short cut software process and go straight to building
that persons vision of the minimum viable product.

This is the essence of a software start-up, the freewheeling idea factory,
that does not have layers of bureaucracy and work that does not readily
translate directly into a product.

You have less people with their hands in the produce so the layers of
documentation, design and communication do not have to be as stringent as it
does in the enterprise. Even in the enterprise it is overdone due to the
pushing of best practices by enterprise vendors with some snake oil to sell.

