

Ask YC: A different kind of scaling question...why don't web dev shops scale? - ssanders82

In a recent submission, I asked if any freelance developers would be willing to share office space. I thought it would be a great environment working around other good coders to share our knowledge and leverage our contacts. With the right group of people and projects, we could develop a better professional reputation than any of us could by ourselves.<p>But that got me thinking: why aren't there any large web development shops? (Or are there?) The largest I've seen is around 6-8 guys. I know developing software for other people isn't as sexy as working on your own startup, but I enjoy it and it pays well. I've worked with smaller shops in various states, and they have developed local reputations as doing good work, but never talked of big expansion plans.<p>I've got a few theories...<p>- It's hard to expand and keep your average talent level high. Great coders want to work for a startup or write internal software for Microsoft/Google, not for some car dealership with an $3,000 budget.<p>- If you do have a group of good coders, it's much more profitable to develop your own software/websites and sell/license them than to continually solicit gigs.<p>- Service-based businesses are inherently harder to scale. The CEO of a product-based business knows each of his stores have a low standard deviation in terms of customer experience. Not so for programmers, carpenters, lawyers, etc. That's why there's no country-wide lawyer firm with a good reputation and thousands of franchises. However, a counter-example is large accounting firms. How do they scale?<p>- I've run into several really good freelancers who work by themselves and bill multiples per-hour of what I can charge. For them, they have no incentive to partner with anyone.<p>Coders are disparaging of headhunters because of the large percentage they scrape off the top, but many still use them to get work. It seems large companies are more willing to deal with a firm because of their reputation and the feeling of safety. If they can bill at $200/hour and pay the coders $60/hour, more power to them - that's why I love capitalism. But why isn't there a coalition of programmers with a great reputation that can do the same thing? They can guarantee the work of their members, buy insurance against data loss or programmer theft, and do all those things which make companies willing to pay $200/hour.<p>One <i>absolute</i> requirement of a setup like this is to only work on large and well-funded projects. No good web developer wants to make brochure-ware or to spend 5 hours on a inventory app for a local flower shop, that's bulls<i></i>*. I'm talking about competing with CyberCoders, Robert Half, MATRIX Resources. Not right off the bat, of course, but eventually...<p>What's your thoughts?
======
lsemel
1\. Each project is generally a one-off, custom solution, rather than a
reusable technology. You will spend a lot of time building features specific
to one customer, in exact way that customer demands, rather than building
generally applicable solutions. You can't say "No, that's a feature only 1% of
the public will use!" because they're paying you to implement it, no matter
how ridiculous the request is.

2\. It is hard to win projects. There is a long, complex, competitive process
that requires account people to find leads, make presentations, and respond to
RFPs. This is a fulltime job for several people.

3\. Companies want to work with firms of similar size. You'll get asked about
the number of employees, yearly revenue, and other details, and if they don't
match up with what the client is looking for, they will not work with you.

4\. Because each solution is customized, you can't specialize in one skill
area. Let's say you are the expert in developing Rails apps. Most web dev
projects are big integrations where your Rails expertise is just one piece of
the puzzle. You may have to integrate with some legacy custom system, or 3rd
party software for e-commerce, CRM, email marketing, accounting, etc. You will
almost always have to scramble to learn something new or find a consultant who
does. This is very nonscalable as you are always forced to pick up non-core
skills or spend your time as a virtual HR department and find people that do.

5\. The custom nature of the work results in a lack of focus. You are spending
all your time serving your clients' needs, being dragged along by their
requests, instead of implementing a focused vision to a specific problem.

6\. You may think that you can turn your consulting business into a product
business. You can, if it is small enough, say, 2-4 people. Once you get
addicted to the upfront revenue of projects, it becomes nearly impossible to
make the investment to build a product, as this both costs money and detracts
from your client work. You will not put in the 6-12 months of no-revenue work
needed to create a new product from scratch.

7\. Web dev shops don't just do development. The biggest are basically full-
service marketing agencies.. You need to have a full complement of
professionals, not just developers. These include web strategiests,
information architects, designers, HTML coders, project managers, account
managers, salespeople, usability experts, branding experts, etc.

8\. Your recurring revenue comes from running operations and maintenance on
existing websites. This can be a good source of revenue but it is
exceptionally boring work that no good developer wants to work on.

9\. The true leaders of a service biz like this are sales and account
managers. To win projects you have to spend your time building relationships,
not technology. The key skills in a consulting business are soft skills such
as sales, hiring, marketing, and project management. Tech people are a cost
center in a consulting business, not a revenue generator.

10\. In a consulting business, you almost always charge by the hour. Even
huge, multi-million dollar projects are broken down into line items by man-
hours, and savvy clients will insist on seeing the breakdown to make sure
you're not "making too much". But hours != value. In a product business, you
can charge whatever the market will bear regardless of how long something took
you to do, but in a service business, if something takes you an hour to do and
you charge $200 an hour, then you're getting only $200, even if it might
generate $10,000 in value. This results in a disincentive for people to work
efficiently, exercise judgement as to the use of their time, and engage in
out-of-the-box problem solving.

11\. Unlike a startup, money cannot scale a consulting firm. With a startup,
more money can be used to hire more developers to build your product, which
will hopefully gain traction in the marketplace, resulting in growth that is
faster than linear. In a consulting firm, the most you can do with extra money
is hire additional sales people. They then need to scare up some projects, and
repeat this indefinitely. This is a slow, linear growth path.

12\. In consulting, projects are self-contained You can't build A and then
build B on top of A that will take you to the next level of profitability,
then build C on top of B You're just building A, followed by A, and A, A, A,
indefinitely. The most that you can take from project to project is general
domain expertise, contacts, and reputation.

------
swombat
They don't scale because they're services businesses, and services businesses
are harder to scale to large number of clients, since you're selling hours
rather than bytes, and hours can't be duplicated for free infinitely like
bytes can.

~~~
ssanders82
Big 4 accounting? H&R Block? I see your point, but there are companies who
have made it work. And even for product-based businesses, only an extremely
small percentage sell goods that can be duplicated for free infinitely. Amazon
is doing okay.

~~~
swombat
Please note the use of the word "harder", rather than "impossible".

It's possible to build a company the size of Accenture or Infosys... but it's
damn hard and requires a LOT of skill, talent and luck for a very long period.

~~~
ssanders82
Noted. And I do agree with your original point; look around your neighborhood
at 10 different small local businesses. Dry-cleaning, carpet-cleaning, etc.
Services. Products are sold by Wal-Mart and Home Depot and Gap. There's no
question that, for whatever reason, service is hard to scale.

------
tstegart
One reason could be the revenue model, its hard to expand without recurring
revenue streams. Many places, like Robert-Half, don't have coders on staff, so
there's no capital expenditures when the market is slow. A large firm would
still have to pay people. Now, an example would be IBM, they're a huge
development shop if you think about it, but they have many contacts and work
on long projects that consistently bring in revenue. Its hard to get to that
level, especially when your clients are diverse and hire you for one-off
projects.

In your example about law firms, I think its inaccurate to say there are no
large nationwide firms. Its more accurate to say there are few large
nationwide plaintiff's firms (although lawyers have other restrictions we
won't get into). Plaintiff firm's clients don't usually come back for a second
round, which makes it hard to employ many people who might just sit around
doing nothing. Business law firms, on the other hand, do have large nationwide
presences, because their work is often on retainer or consistent.

I think you're right that the market is against the structure of a large firm.
Its just much more economically useful to be small or be part of another
company that also does other things, because the revenue stream is
inconsistent and project based.

------
kleevr
For some reason, I started thinking about the barber shop/salon type model.
Where you pay X to rent a booth to do you work in, but has shared resources.
This idea quickly starts to look like a tech incubator, but different.

Would it be a independant Hacker Incubator? Supplying physical space, mail
boxes, phone lines, shared secretary pool, printers, and hopefully some amount
of mentorship; but, centered around the independent spirit of the developers.

(Sorry, I think I rambled away from the topic.)

~~~
ssanders82
No, absolutely, that would be stage 1 of the let-us-share-an-office plan. And
I think that would be awesome (<http://news.ycombinator.com/item?id=232235>).
This post was more "how far could we take it?", but the model you brought up
would definitely work.

And, I might, add, strippers work on this model. They pay a floor fee to the
club and keep the tips. (Don't ask me how I know.) If it's good enough for
strippers, by golly, it's good enough for me! (This also brings to mind the
concept of specialization, although I'm not sure if I want to elaborate.)

------
blurry
In my many years consulting, I've seen two types of clients:

1\. Corporate - pays the market rate but will not assume the legal risk of
taking on individual developers; will only work with another corporation or
agency.

2\. Mom & pop - will work with individual developers but only on a fixed bid;
expectations are about a quarter of realistic budget.

So my choices as a freelancer are: work 8-hour days and get paid my full rate
through a recruiter (yes, they skim off the top but who cares, my rates are
what they are), or work long days + weekends on freelance projects and get
paid pennies on the dollar (both in terms of lower hourly rates and never
getting paid for all the hours you work).

Add to that the tax benefit from maintaining a home office, and you realize
that there is simply no reason not to work through an agency/recruiter. They
take care of finding the good (i.e. paying) clients, billing, etc. A developer
"coop" is simply neither here nor there... at least from my experience here in
New York.

------
aasarava
Don't forget that companies like US Web / CKS, Razorfish, and Organic grew
quite large during the dot-com boom, when there was plenty of Web dev and
design work to go around. (Sure, these companies had major downfalls, but I'd
argue that that wasn't due to a failure to scale up, but rather management
problems and a sudden dearth of clients due to the bust.)

Likewise, if you consider that outsourcing firms like Infosys and Satyam are
likely doing some Web development work in addition to more traditional "IT"
work, those firms have scaled quite well. Infosys has over a billion dollars
in revenue each year.

Maybe the moral is that shops that only focus on Web applications will have a
harder time finding new and larger clients than firms that can provide
services that go deeper than the Web interface -- into CRM, ERP, and so on. If
you don't like to do that sort of work, then you stay small and run a boutique
shop.

------
noodle
they do scale.

but in order to scale, the dev shop has to be willing to take on different
sized projects. and in doing this, they evolve from a dev shop to a consulting
firm. this is because, to be able to ensure everyone has work, turning down
small-scale one-person types of jobs becomes more and more difficult.

for example, the shop would be much more willing to send the java guy in on
contract to fix issues or do some short-term work on an existing system if the
alternative is just having him sit on his hands. if he sits on his hands for
weeks while he waits for work, he's either not getting paid, or the company
isn't getting paid for having him work for them, which is a net loss. and he's
also probably surfing dice while he waits.

------
immad
IBM, Logica CMG and Accenture would be examples of big dev shops. Not solely
web.

I see your point though. Maybe the niche is too small and generally too
cyclical.

------
auston
Viget is pretty large, in my eyes.

<http://www.viget.com/about/team/>

~~~
bscofield
Well, we've got 32 employees right now, but I wouldn't call us "large,"
really. Large to me is ThoughtWorks, or Sapient.

~~~
auston
That's interesting, how is the smoothstart project coming along?

p.s. I'm creating it's competitor.

