

I am a Female Sole Founder with no Dev Experience… Yeah, it’s a Tough Road - static47
http://harperlindsey.com/2010/12/08/i-am-a-female-sole-founder-with-no-dev-experience%E2%80%A6-yeah-it%E2%80%99s-a-tough-road/

======
wccrawford
Why even bring the 'female' bit into it? It means nothing, unless you think
it's a handicap... And then it is, but only because you think it is.

As for finding a co-founder... You expect to do that without giving up equity?
What would be in it for them? I'm not surprised you haven't found anyone.

~~~
Mz
Her "day job" is "being a mom of twins and a wife". I doubt any man doing a
startup can say something similar. She doesn't really talk much about how that
impacts her work but there is substantial evidence that raising kids and
running the household routinely interfere with female career ambitions but
usually don't interfere with male career ambitions. So perhaps it is relevant
(to her challenges with trying to do a startup), even if she hasn't made it
clear why.

Just a thought.

~~~
grovulent
'"being a mom of twins and a wife. I doubt any man doing a startup can say
something similar.'

A bit hard given that men by definition can't be mothers and wives...

Seriously though - there is certainly a sense where adding the 'female' into
the description of the reality actually does get extra information across. The
fact is that life balance is often more important to women and they do still
tend to get lumped with the majority of the housey chores in a relationship.
Plus women have a much smaller window of opportunity to 'have it all' with
biological clocks exhausting very quickly.

I do wonder if women might be better suited to start-up life in their forties.
a lot of women of middle age and beyond seem to have an eerie kind of clear-
headedness about things - whereas men really start to go to seed and have mid-
life crises and all that. That's precisely the sort of time where men benefit
the most from engaging in strong family acttivities..

~~~
Mz
_A bit hard given that men by definition can't be mothers and wives..._

They can still be parents and spouses, even if a different (gender-specific)
term is used. However, men rarely do the full-time father thing and, from what
I have seen around me, even when they are unemployed and financially dependent
on their wife, they don't typically take over the housework and cooking to the
point of doing it 40 to 60 hours per week like women. (The last statistics I
saw: full-time homemakers do 60 hours of housework a week, women with full-
time paid jobs still do 40 hours of housework per week. Men have tried to take
up the slack and are doing 10% more than they used to, which amounts to 10
minutes a day or 1 hour and 10 minutes per week.)

I'm a woman in my 40's. I've read that hormonal changes make men and women
more like the other gender past a certain age. My sons are grown, I have no
specific plans to have more kids, and my career goals are being given a much
higher priority than trying to "find a man" post-divorce. So I can't say I
would particularly disagree with your thought (in your last paragraph).

~~~
untamedmedley
Raising children can be tough, but 60 hours of housework per week? In my house
there's maybe 1-2 hours of cooking for dinner everyday and maybe 5 hours of
cleanup on Saturday morning (this includes cleaning bathrooms, sweeping,
mopping, vacuuming, etc.). Laundry takes 10 minutes to separate, then the
machines pretty much do the rest of the job. Laundry gets done once a week for
a family of four here for another 2-3 hours.

Maxing all those values, that's what, 22 hours? Where are the other 38 coming
from?

ETA: I'm not being facetious here, I genuinely want to know what those hours
are being spent on. When you have very young children, sure, but by 6/7 kids
in my family are expected to start being self-sufficient (in the ways they
can, such as picking up their toys, brushing their own teeth). By the time you
hit 10, you've been doing some serious work around the house. I also got my
first job at 14...

~~~
kenjackson
Depends on the age of the child. With an infant you're changing 7 diapers per
day, feeding 6 times per day. Also you forgot making breakfast (7 days/week),
lunch on the weekends (although many husbands take a bag lunch, so the wife
makes that too) and 7 days/week for the kids. Dishes (and if you have kids you
probably know that a lot of stuff needs to be handwashed).

Additionally there is bathing the child. Once they get teeth and hair,
brushing their hair, and brushing their teeth twice per day.

Also grocery shopping. Clothes shopping. Random nicknack shopping. Going
anywhere out of the house takes an extra 10 minutes on top of how long it
normally takes, with the car seats and grocery carts.

When children get older, 2-5, you don't have the diapers, but you have potty
training, which takes forever (and sometimes results in 3 baths per day). Also
the bedtime routine (which can be an hour per day for nap and nighttime).

Then there's random stuff like dentist visits for the child. Doctor's visits
for the child.

And then there's just teaching the child. Teach the child how to eat for
themself. How to pick up their toys, taking them to the park or on playdates.

And this assumes you have a pretty troublefree kid. Add relatively common
complicators like a kid who is collicky or has food allergies (which often
means a span of a few months with a lot of trips to the hospital) or has GURD
and there's more time there.

I don't know how many more hours this stuff. I suspect it is highly variable.
And if you have four kids, it's probably a lot different than one. But if
someone told me they were working 60 hours per week taking care of a household
with kids age 0 to 6, I'd believe them.

Once children go to school fulltime, things change quite a bit. But I think
most people are referring to the period of time when they have to take care of
the kids.

BTW, I had my first job at 10. Paperboy.

------
il
I would strongly urge you to reconsider your approach and get a technical
cofounder. I've seen countless startups founded by nontechnical people
outsourcing everything stumble because crucial technical and architecture
decisions were made poorly in the beginning.

Outsourcing development seems almost orthogonal to the principles of building
a startup-iterating fast, making do with limited resources, etc.

I've done consulting before for some startups that outsourced all development,
and although they were run by brilliant business people, everything moved at
an incredibly languid pace.Even something as simple as pasting analytics code
into their site took several emails to their development team in India and
hours of waiting.

And, although I don't know about this from experience, I would assume that
lacking a technical founder will severely reduce your chances of getting
funded.

~~~
static47
I 1000% agree with you (this is the author of the article btw). I am
constantly in search of a techincal co-founder and I will give equity to the
right person, but that takes time. I feel outsourcing can get me to a place to
keep the project going until I find the right person. In no way do I see
outsourcing as the end all solution :) I have the upmost respect for
developers and truly hope that I can find the right fit eventually for
Swayable. Thanks for your insight!

~~~
potatolicious
My fear for you is that the more you outsource to "get things going", the less
likely a capable founder would want to hop on.

Unless you are paying an extreme premium (and you're _beyond_ swimming in
investor cash), odds are your system started as a technical nightmare, and is
only becoming moreso by the day. As a dev I would be _extremely_ hesitant of
hopping on board anything with such a questionable technical past, especially
if the product momentum is too high to make a total rework possible.

------
rksprst
A few comments regarding the product.

\- What if I am deciding between more than 2 things? I might have 3 watches
I'm choosing between.

\- I don't want random strangers to vote on this, I want people I trust. What
about private swayables?

\- Not everything has a picture. I'm deciding between a vacation to Africa or
China, do I need to go looking for pictures to use the product?

\- The use cases that make using this product "natural and easy" are very few.
Sure, there are a ton of ways you could use this, but then it doesn't become
easy anymore for most of the use cases I can think of - it's easier to just
google the info or ask a friend. Do you really expect people to use this to
decide which movie to see? Or what restaurant to go to?

\- The captcha you use to register is insane. I don't even want to give you my
full name to register, why would I watch a 15-30 second video clip to find the
captcha text. I quit at this step. (Also, I assume you're getting some money
from those captcha video ads - makes the product seem "cheaper".)

\- Some decisions are time-sensitive, how do you handle those decisions? Time-
sensitive swayables would need to be more likely to appear than regular
swayables. Can you guarantee I'll get X number of responses within Y minutes?
It's going to be a chicken-and-egg type problem in getting people to use it
for use cases like "where to go for dinner".

\- Also, I'd suggest making the swayable viewer ajax and pre-loading the next
few items. If I click next, I don't want to wait a few seconds for the page to
load, I just want the next item.

Good luck! It's an interesting idea.

~~~
static47
Fabulous feedback rksprst, thank you! Couple of comments on your feedback:

\- Currently you can only compare 2 items. (love the idea of more though)

\- You can set your Swayables as private so they don't go for public voting,
so you can send it to just 1 person or share on your social networks.

\- Regarding items that don't have pictures - You can use any website or
search any term to find an image, it's all automated, so if you do want to
create a Swayable for "Africa or China" just enter those terms into our search
box for Africa, then the other item for china and we'll show you image
results.

\- Agree with the natural and easy, working through a new revision now to make
this more intuitive and better looking. The iPhone app is coming soon as well,
so you can create Swayables on the go.

\- Captcha, thanks for the feedback on this one.

\- Thank you for the ajax tip as well.

Totally appreciate you taking the time to provide such constructive feedback,
and for checking out the site...

\- Lindsey

~~~
rksprst
Also, wanted to mention that I think your main issue is going to be the
behavioral change that your site requires. Users aren't used to making
decisions by using a Swayable.

With new users that you acquire, the product might be awesome at first but
once the novelty wears off, the users usually go back to making the choices in
whatever way they were before.

Others might would not be interested because while this does solve a problem
of deciding between two items, people have already established processes in
making those decisions (be that asking their significant other, looking at
product reviews online, or asking friends). Using a Swayable doesn't make the
decision making process so unbelievably simpler to make a user take the effort
to change the way in which they make decisions. As a rule-of-thumb, products
that require a large behavioral change (and I think this is one of them) need
to provide a 10X improvement for the user in order for them to consider making
a change.

I'm sure you've probably thought about these issues, would be interesting to
see how you address them and how consumers respond. Although this might just
be "fun" enough that makes them use it.

BTW, there's a great paper on this topic: [http://hbr.org/product/why-
consumers-don-t-buy-the-psycholog...](http://hbr.org/product/why-consumers-
don-t-buy-the-psychology-of-new-prod/an/504056-PDF-
ENG?Ntt=why+consumers+dont+buy)

------
da288
I've seen quite a few similar concepts out there, but I think your functional
but cool domain name is one that I would easily remember over the rest. I
really don't get why startups go for some obscure fabricated name linked to
some deep Latin or Greek ethos instead of a more functional engaging name.

------
ladon86
I had some fun rating things on Swayable. The total variety of different stuff
makes it quite compelling.

Actually I think just the rating part alone would make quite a fun iPhone app
(i.e. make that the focus of the app, as only ~5% of users will actually be
creating Swayables). It's a fun game. However, your list of Swayables doesn't
seem to be randomized at present - please have that fixed as it's always the
same choices every time I visit the site.

~~~
static47
Great tip! I am actually in phase 2 development now and updating that exact
feature ;) making it more random and being able to sort by category. The
iPhone app launches next month, along with a new site design :) Thanks for
checking out the site and for your feedback!

------
tibbon
I added in a comment on her site as well that she might want to look into
making some more of those images on the page actual text for some SEO boost on
the page. As it is right now, there is almost no 'text' on the page.

As google sees it: <http://bit.ly/gZ2inI>

------
dj_axl
Please link to your startup (in this case, Swayable) at first mention in the
first paragraph! Name is mentioned but not until the third paragraph is there
a link to <http://www.swayable.com>.

------
HilbertSpace
Part I

Mostly you don't need and don't want a 'technical co-founder'.

Also, the concept of 'a developer' without being a lot more specific makes
little sense.

Here's the situation:

(A) You can go to college and study stuff and learn, say, (1) getting good at
reading for comprehension and writing clearly, (2) the precision, discipline,
and tools in pure math, (3) some topics in 'computer science', and (4)
thinking 'critically', that is, accurately putting candidate ideas into the
correct one of the three buckets True, False, and Not Clear Yet.

(B) You can learn how to do the programming you need for your project.

(A) can help with both (B) and your project, but it's likely quite possible to
do both (B) and your project without (A).

For (B), what you need to know about 'development' is what you need for your
project.

Here is a fact of life in Computer-World: The world is like a hardware store
the size of Texas and packed floor to ceiling with tools. There are LOT of
tools. Each tool takes time and effort to learn to use; the main problem is
that the tool builders are just awful at describing their work; if you have
the usual advantage in verbal skills over male computer nerds, then the
documentation may cause you to yell and scream in outrage and agony.

The best technical writer is God, usually better than the pure mathematician
P. Halmos. Way down on Earth is D. Knuth. All the rest in computing are in the
infernal reaches.

But, for anything very complicated you might need to do, there is likely a
good tool for it, and it will nearly always be easier to learn to use the tool
than to do without or build your own.

So, most of what you need to do to be the 'developer' you need is just to
learn to use some good versions of the tools you need.

Yes, now largely the software you need to write is just a little 'glue'
joining together the 'blocks' that are the tools you use.

Can a 'developer' learn all the tools in that big collection the size of
Texas? Not a chance! Heck, even being a 'librarian' just cataloging the tools
would be more than a full-time job.

Further, the collection of tools keeps growing, quickly.

So, here's a deep, dark secret ALL, REAL MALE HACKER nerds keep to themselves
(and never but NEVER tell women!): At the start of each new project, it is
necessary to learn at least some new tools.

So, really, NO developer is ready to 'develop' without learning some new
tools.

So, one of the main differences between you and any 'developer' is that you
just have more tools to learn.

Next, you will need some basics: So, you will need a PC, at least reasonably
current. I built mine from parts five years ago, and it's still fine.

You need to get good enough to send and receive e-mail and to use a Web
browser. Since you are already posting on Hacker News, apparently you've got
this part done.

If you don't know Computer Parts 101, then have someone give you a 30 minute
lecture. The final exam will be to go to Tom's Hardware Page and Tiger Direct
and explain what you are seeing.

For a Web site business (common now), you need to know Internet and Web 101.
Again have someone give you a 30 minute lecture.

Next you need to get started writing software.

Here you should pick between the world of Linux and the world of Windows.
While Linux is likely more popular on HN, I recommend Windows if only because
there is a company behind it with some tens of thousands of programmers, is a
CEO who commonly yells and screams, is a COB who remains one of the sharpest
tacks in the box, is about $40 billion in cash in the bank, are some very
serious enterprise customers that mostly are pleased, is a LOT of free
software (really, after you buy a copy of Windows, darned near all the rest of
their software is available for free in 'Express' editions -- yes, where you
spend your time and effort learning their software so that you can use it in
production and then pay the big bucks), they work HARD on documentation (they
should work much harder), and there are so many people programming Windows
that for nearly any problem you encounter many others have been there before
you, and a Google search can turn up a forum with answers.

One of the best things in computing is Microsoft's .NET Framework. So it is a
collection of relatively low level software tools, maybe the size of half of
Texas, to do nearly anything more than two people have ever needed to do. .NET
is enormous.

Next, heavily your 'development' is to exploit .NET, and for that you have
mostly just two good alternatives, use the language C# or use (the more recent
version of) the language Visual Basic. I strongly prefer Visual Basic because
it is much easier to read on the page and lets you do very nearly as much as
C#.

For C and C++ -- f'get about them on Windows now.

Part of .NET is ASP.NET where ASP abbreviates 'active server pages'. They
aren't very 'active'. Really ASP.NET is just a way to write software where you
mostly don't have to work much with lower level things like HTML and
JaveScript. For nearly anything standard in Web site development, ASP.NET has
tools to make the work easy. E.g., for a lot of what is needed, it's necessary
to write JavaScript code, but ASP.NET does that for you. Nice. You may be able
to make a lot of use of JavaScript without ever seeing it.

There is also ADO.NET where ADO abbreviates 'active data objects'. They can be
somewhat 'active', but I mostly avoid depending on that. ADO.NET is how in a
program you manipulate the database system SQL Server or one of its
competitors, Oracle, DB2, etc.

SQL abbreviates 'Structured Query Language' which is closely associated with
database.

What is 'database'? Since the work on 'relational database' at IBM and U.
Berkeley in the 1970s, mostly we store important data in a relational
database. Microsoft's version is SQL Server. A database remains conceptually
like some stacks of paper forms say, from the IRS.

So a 'database' consists of some 'tables'. Each 'table' consists of rows and
columns. In one table, all the data is for just one IRS form, say, Form 1040.

Each row is like one copy of an IRS form, that is, has the data from just one
copy of the form. Each column is like one of the 'fields' on the IRS form for
that table.

You can designate a column as a 'key' which is like an 'index' which means
that, given a value of the key, the software can read the row with that key
value quickly. In the case of IRS Form 1040, one column may be SSN; you may
designate it as a key; and then you can regard the database as a stack of Form
1040 copies sorted in order on SSN. Simple enough.

A table can have at most one 'clustered key' in which case the rows are stored
on disk in essentially key order, and that can make some operations faster.

Whatever you may do with relational database for a Web site, if your business
gets significant, then almost certainly you will store all your routine
business records in relational database.

The main idea in database 'design' is for the keys and the other columns to be
in 'third normal form' which means that each row is conceptually, in the
problem being solved, 'a function of the key, the whole key, and nothing but
the key' -- think about this a little and you will see why.

Part of the glory of relational database is 'transactions'. The key here is
the 'log file': For each 'transaction', which is just some sequence of
database operations that you say are all part of some one 'transaction', the
operations are written 'provisionally' to the log file and to the database
itself. At the end of the work of your transaction, there is one more 'atomic'
write to the log file saying that the transaction is done -- 'committed'.

So if the computer goes down, when it comes back up the data base software
first reads the log file and 'undoes', 'rolls back', all the transactions that
were in progress but not 'committed',

The classic example is moving money from checking to savings: If the bank's
computer quits, then once the computer is running again, the money has either
been moved or has not been; there is no case of the money being lost 'during
moving'.

Another part of transactions is 'integrity': So there can be many programs
running at the same time manipulating the same database.

E.g., while you are moving money from savings to checking, the bank can be
updating your checking account, and nothing gets confused. To make this work,
relational database has to work with 'locks' and 'deadlock' detection and
resolution.

The simple case is two programs, A and B, that both need to manipulate data X
and Y in some careful way. So, program A gets a 'lock' on data X; program B
gets a lock on data Y; program A then waits until it can get a lock on data Y;
program B waits until it can get a lock on data X; and now programs A and B
are in a 'deadlock' since neither can complete and will wait forever.

Relational database detects such deadlocks and resolves them. E.g., program A
may have its work on data X 'rolled back' and its lock released; program B is
allowed to run and finish, and then the work of program A is just restarted.

Nice.

In particular, yes, it is standard to backup a relational database while it is
running.

Mostly manipulations of relational database are done with the language
'transact SQL' (T-SQL). So, even if you are using ADO.NET, what goes to SQL
Server is T-SQL. You can run T-SQL statements just by typing them into a file
and giving it to the SQL Server program sqlcmd.exe -- I like doing that.

For SQL Server, there is a level lower (closer to SQL Server) called 'Server
Management Objects' (SMO) you can use in, say, Visual Basic.

You now know Database 101.

~~~
HilbertSpace
Part II

Yes, since we mentioned that database and printed forms are close, sure,
database and forms on a screen, from either Windows or a Web page, are also
close, and there is software to make routine 'forms' applications easy.

All things considered, as serious programming languages go, Visual Basic (now)
is close to the top of the list both in what it can do and how easy it is to
do it. Its 'managed memory' is nicely advanced and a real help for
programmers; there's hardly a programmer on the planet both smart and careful
enough to write significant on-line software without the help of 'managed
memory' and not make at least some fairly serious errors.

What do you type into? Mostly the norms are to type your software into an
'integrated development environment' (IDE), and on Windows that would likely
be Visual Studio (VS). For the Microsoft relational data base software SQL
Server, are supposed to type into SQL Server Management Studio (SSMS).

I minimize SSMS and flatly refuse to use VS. Instead I just picked a good text
editor (KEdit) with a lot of power (including an elegant macro language to
automate things) and use it to type this post, TeX for mathematical word
processing, e-mail, Visual Basic code, SQL Server 'scripts' in the language
T-SQL, Web pages (using ASP.NET), and more.

Then I also have a 'scripting' language, ObjectRexx, also elegant. Likely now
a better alternative would be Power Shell.

Then get a copy of

Jim Buyens, 'Web Database Development, Step by Step: .NET Edition', ISBN
0-7356-1637-X, Microsoft Press, Redmond, Washington, 2002.

It is some of the best technical writing on computing ever typed in.

That book will very much get you going.

For more, just look at the other books in the Microsoft series, read the on-
line Microsoft documentation, and find more via Google.

No source of information on current programming is without flaws: For each
topic, it is usually good to have more than one source. If from one source
something is just not clear, then don't blame yourself and, instead, try other
sources.

In the code you write, here's the most important consideration: Put in a lot
of comments explaining what you are doing, and also put in references to the
documentation on the details. Write your documentation clearly enough that
anyone else could read your software and understand it, and that includes you
six months from now. Otherwise, when you write your code, only God and you
will understand it, and six months later, only God. This is why if you ask a
'developer' to modify a program written by someone else, the developer may
just start over.

For 'quality', put the software aside until you forget the details, and then
'proof read' it as if some person you hate wrote it and you will get $1000 and
bragging rights for each error you find.

Another point is, at any point in your code, when you receive data, CHECK it
for reasonableness. So if you are writing some code to scan a list of users
and find those in Maryland, make sure the code works even if the list has only
1 entry, no entries, no one in Maryland, and everyone in Maryland; this is
called testing 'edge' cases. The easiest place to find subtle errors is in the
edge cases. The easiest way to check correctness in edge cases is just to read
the code carefully, VERY carefully, one edge case at a time.

In particular, if your Web site takes in data from a user, write code so that
just absolutely, positively nothing at all can ever go wrong with your code no
matter WHAT bits or bytes come in from the user -- no matter WHAT.

If you hire anyone, then they will have to do maybe 30% as much as you will in
learning. Or, they learned HTML and then had to learn CSS, then ADO.NET, then
Ajax, then Flash, then HTML5, and now four different smart phones. NO ONE
knows all such stuff and, instead, just has to learn. The main difference for
you is just that initially you have to learn more.

If you don't have (A) above, especially for computer science, then will this
be important? Likely not: Occasionally you may do something inefficiently. For
questions, post on fora, including HN. Again, mostly you will just be writing
glue, not blocks that the glue joins.

