

Life at a startup - emmett
http://abstractnonsense.com/life-at-a-startup/

======
davidwparker
I think the biggest takeaway for me from this is how he had the power to, and
actually said, "no" to feature requests. This has definitely been a problem
for several projects that I've worked on.

~~~
enjo
I was thrust into a similar role to this guy when I was all of 24 or 25... It
took awhile to learn to say 'NO', not just because it's hard but because it
often led to really _strong_ disagreements. The guys on the sales side of the
product just couldn't understand when we couldn't do something. There was
always an undertone of 'are you guys just not good enough?'

I think that's the hardest part. Generally you say know even when it's
technically possible. Hell you probably know exactly how to do it, just not in
the timeframe you have. Learning to keep your ego (I _can_ do this) from
getting in the way of what's best for the product and the business is the
hardest lesson a good developer has to learn IMHO. It's the programmers
version of crossing the chasm.

------
jamesjyu
This is a terrific writeup, and mirrors a lot of the experiences I've had at
Scribd as one of the first employees over the past 3 years.

Build fast and push it live.

------
ideamonk
Had a great read. Growing up watching gates, wozniac, jobs and other success
stories in documentaries, I never wanted a 9to5 at a big establishment. You
touch upon homebrew club which brings me back & close to what I still long for
- the working in the garage/backyard moments. Perhaps its time. Thx!

------
eunice_chen
I love the story and the writing style. He shows his passion in an honest
tone; is proud of his successes and is honest about his (and the company's)
mistakes. Very smart coder/hacker but also with a talent for writing (which
people always think are mutually exclusive!). Props!

------
JMiao
bill: i recall viewing a startup school 07 attendee wiki and being impressed
with your self description. i think you went by "bill bland" back then. good
to see quality people doing great work.

------
idea4gud
I absolutely admire the work by your team. Startup has those energy which I am
hungry for , but I am stuck in enterprise world with lots ...., just watching
in sheer amazement.

------
bconway
Great read, it's nice to see non-founders that are so enthralled with their
jobs. Off-topic, though:

 _All of our early press had evaporated, it turned out nobody actually wanted
to broadcast their lives, and we really had no idea what to do._

How did you solve this? I look into Justin.tv every few months and there's
nothing compelling there for me, but it must be aimed at a different
demographic.

------
kayoone
Great story, also looks like the guy really knows what hes doing. That said i
read a post by him a while back where he talked about how useless unit tests
are and how they dont help finding bugs:
<http://abstractstuff.livejournal.com/60388.html>

I found that quite irritating from somebody who seems so experienced.

~~~
kenjackson
Are there any "hacker gods" that are really big on unit testing or use TDD?
Most of the recognizable names that I see talk about it are agile book
writers. Not actual devs. It was Paul Bucheit who says (from that link), "I'll
make a somewhat heretical claim even: Unit test are 20% useful engineering,
and 80% fad. They are great for tricky code with well defined behavior (like a
parser), but wasteful for most code."

Does Sweeney, Carmack, Cutler, Joy, Thompson, Knuth, Page, Steele, Zuckerburg,
Anders, etc... use unit tests in a big way?

I'm actually a fan of unit tests, although I generally dislike TDD.

~~~
abstractbill
Nobody in Peter Seibel's "Coders At Work" seemed to have very much time for
unit testing as far as I remember, and they pretty much all qualify for that
title in my opinion.

I'd stand by pretty much everything I wrote in my original post, for what it's
worth, but I guess I don't really understand why it seemed to ruffle so many
feathers to be honest.

Unit testing doesn't help _me_ enough for the work I have to put in (compared
to things like good logging and monitoring, for example, unless I'm writing
something like a parser, with well-specified behavior). It doesn't seem to
have helped justin.tv too much either, when we've tried it. But if it helps
someone else, then good for them!

~~~
hello_moto
I agree with you: if it works for someone else, good for them. Definitely.

I think the main reason why people want to burn your article to ground was
because there are way more companies out there that would benefit from their
people writing unit-tests.

Now when some lazy developers who think that they're smart starting to quote
"the VP of Software Development from JTV sez unit-test is useless", then we
have a problem there. These passionate software developers don't want to go
back to the time of Wild Wild West where coders slinging code with no reasons
and start throwing incomplete shitty crap to QA and call it "DONE", get the
gold medals from their team lead for being able to solve things very fast.

You know that movie... Spiderman? "With Power comes great responsibility"...
since you're advertising how cool your company is and you're their "VP", then
there's that responsibility attached with it.

The thing is, it requires a smart person with high level of discipline, strong
principal, and the ability to say "No" to crazy requirements in order to have
the luxury of not writing unit-tests. Especially when there's no safety nets
(I mean QA) around that person.

I hold nothing against you though.

~~~
kenjackson
_I think the main reason why people want to burn your article to ground was
because there are way more companies out there that would benefit from their
people writing unit-tests._

But he's not the only bright dev who tried it an ran into issues or lack of
benefit in doing it. The thing that I seem to read from the more zealous of
the TDD crowd is "you don't know what you're doing -- you don't understand
code/software/testing/development if TDD doesn't obviously work for you".

My concern then is if a large percentage of strong devs don't seem to "get
it", does it make sense to push into an organization w/o strong devs?

And the reason I asked the other question about the "hacker gods" is that
outside of Josh Bloch (now), I don't really know of outstanding devs who do
TDD in a big way. And this scares, because I remember when I used to have
certain devs tell me that UML was the way to do everything, and if I didn't
use UML throughout the product lifecycle I was no real software engineer --
and UML was the only way that in 20 years people would still be able to
understand the design and code. I pushed back on UML and don't regret it for a
second. I don't feel like I'm going to regret pushing back on TDD/BDD so far.

~~~
bluesnowmonkey
Maybe the confusion comes from conflating unit testing with TDD. Different but
related concepts. If you write a unit test _after_ the code, that is no longer
TDD.

TDD is a major change in coding style and doesn't seem to work for a lot of
people, including myself. Unit testing, on the other hand, is absolutely
essential and fundamental to the task of building large, complex systems.

I haven't read Coders at Work, but if the guys in there are doing their thing
without some kind of automated testing, I would be very surprised, and I'd
wonder why they're making it so hard on themselves.

~~~
v21
But on the other hand unit testing isn't the same as testing. Integration
tests, regression tests, stress tests, "miscellaneous automated tests" are all
valid sets of tests.

------
bradleyjoyce
I really wanted to read it but it was too painful on my eyes... tons of text
smashed together, taking up the whole page.

Fluid layouts are great, but there is a reason books aren't generally 12"
wide. (hard for humans to keep their place on really wide texts)

Also, increasing the line-height of the paragraphs would help a ton.

~~~
LiveTheDream
I thought the line-height was fine. Agreed that reading long lines is harder,
but luckily our browser windows are easily resizable.

------
kmc
"nobody was saying much to me"

"I didn't bother to read the irc spec, I just watched the real-world traffic
and used that as a spec"

"no code review, not even any conversation about how I'd implemented things"

Is this really the work environment we want to idolize?

------
TheSOB88
Really awesome story.

From the guy's page, it looks like he's a super hacker - learning to program
at nine, embedding a Scheme interpreter in the Linux kernel. Between this and
jacquesm's recent "it's easy" post, I wonder, do you have to be this kind of
crazy passionate coder to be able to accomplish this kind of thing? I feel
like I could be passionate about coding certain things, but nothing I'm doing
now comes close.

~~~
geoffw8
I'm currently grappling with "Computer science for dummies", wonder how I feel
;)

~~~
stcredzero
If you can get things done, then this counts for a lot. I know people who are
geniuses and polymaths -- the kind of guys who do the calculus to optimize
patterns for making their own juggling balls as a leisure activity. That
doesn't mean that they are the best at _getting things done_ though.

Be able to get things done. Be good at taking into account what you don't
know. Know how to cooperate and delegate. This is the stuff that's most
useful.

~~~
moblivu
Another important thing isn't the complexity of the project, but the impact it
has. Sometimes people tend to build on the big side when the best thing they
can do is the simplest, just look at Facebook or Google.

------
wtn
Oh nice, he beat YouTube to a seek feature that's been in QTSS for a decade.

