
Ask HN: Is it possible to build a company where everyone is a software engineer? - wenbin
Everyone is software engineer, some of which happens to do HR, marketing, sales, recruiting ...<p>Small team. Move fast. Automate as many things as possible (software is eating the world ...)<p>I know, this is kind of idealism. But, seriously, any success example?
======
thaumaturgy
Let me answer with some examples from other popular niche forums:

"Ask accountingnews: Is it possible to build an accounting firm where everyone
is an accountant?"

"Ask shockedhackers: Is it possible to build an electrical business where
everyone is an electrician?"

"Ask housebuilders: Is it possible to build a home construction business where
everyone is a carpenter?"

etc.

At some very very small scale, sure, but usually it's because of necessity,
not because it's a good way to do things. Specialization is awesome! Having
people in your company that are very very good at particular aspects of your
business is a huge advantage over all the poor saps that are trying to wing it
with a bunch of folks that don't really know what they're doing when it comes
to marketing, sales, design, copywriting, accounting, law...

------
patio11
I know of a few teams on the order of 3~5 people where that's true, but am
skeptical it would make sense as something other than a very expensive
statement of purpose after you get into the tens of employees.

As an intermediate step, I'd like to see more companies actually put 1+
dedicated engineers on permanent assignment in marketing, sales (preferably
not solely as sales engineers), and recruiting. Most SaaS companies that I've
worked with which have, say, 20+ engineers have _not a single one_ assigned
permanently to those three jobs. Great news for me back when I was consulting,
not so great news for their long-term results.

~~~
kcorbitt
At a startup I worked for several months as a university intern, I ended up
(because of my location) working out of the office with the inside sales team
instead of engineering. At first it felt like I was in the wrong place, but as
I got into the swing of things and really figured out how sales reps were
spending their time, I realized that there was a ton of manual labor just
related to bookkeeping and tracking leads that was repeated for everyone they
contacted.

I asked my direct boss's permission to be officially moved to the sales team,
and spent most of that summer developing a custom CRM that facilitated the
flow the sales staff used. When it was finished, the average number of leads
contacted per associate increased 40% basically overnight, dramatically
affecting the growth rate of the company (and the sales staff absolutely loved
me).

Any software developer could have built what I did, and had the company
realized what they were missing I'm sure they would have got one of their
"real" developers to spend a couple of weeks and probably put something
together better than what my intern-self was capable of. The value I added in
that situation wasn't my engineering prowess, but rather my ability to see
exactly what was needed and build the right tool for the job.

~~~
patio11
_Any software developer could have built what I did, and had the company
realized what they were missing I 'm sure they would have got one of their
"real" developers to spend a couple of weeks and probably put something
together better than what my intern-self was capable of_

Unless you have personal knowledge that that actually happened, I will bet you
dinner that it did not. Yes, it is absolutely the case that it would have been
in their best interest to do it. No, software companies cannot routinely self-
motivate to actually do this.

Great news for anybody here, though: if you can unbork sales/marketing/etc for
a software company that ability is _quite lucrative indeed_ as a consultant.

~~~
dood
This makes a great deal of sense. How would an average dev, with experience of
fixing sales/marketing/etc, go about becoming this kind of consultantant?

~~~
pchristensen
Look through patio11's comment history and his essays on his website. He
answers that and links to other answers extensively.

------
stuartaxelowen
The challenge there is that tasks like marketing and sales take an immense
amount of talent and experience to do well - and they gain very little from
software engineering knowledge. Sure, there might be sales tools to help track
progress, or marketing may be able to implement the A/B testing themselves,
but realistically the real value they bring is outside the scope of
engineering software.

The time it cost them to be software engineers is time they wouldn't have
spent becoming better at sales/marketing, so your company would be in a
disadvantage in the market. Even genius engineers can't overcome bad sales or
marketing.

------
declandewet
At my company, we_almost_ fit that bill. We're not small, but we're not a
large team either. The company was started as a PHP development shop 15 years
ago but has switched tech and brand and name and grown so much in just 10
months. We have an HR lady who is teaching herself to code, a social
networking boff who started several of his own websites and owns a custom PC
build shop, our marketing lady writes a lot of technical journals, the
CEO/founder, co-founder, creative director and technical director all code
(and have very intense backgrounds I might add), and some of our dev team are
independent contractors, one of which owns a music production company on the
side and is in 2 locally famous bands! :D

~~~
wenbin
Awesome!

------
raverbashing
Let me be honest

The non-sw knowledge of your average Sw.Eng. is _abysmal_ , even though on HN
there are _exceptions_ (sometimes, surprisingly)

At the same time, the "I think I can do it!" spirit is high on Sw.Engs.

So you'll have a lot of people thinking they can do "HR, marketing, sales,
recruiting" while fumbling at it.

Here's the simple fact (and even then): beyond a small scale it's _easier and
cheaper_ to have somebody else doing it.

Especially for things like accounting, legal, HR (Payroll/recruiting) etc.

Possible profit of your time per hour doing your specialty: $lots

Possible profit of your time per hour doing something foreign to you: $0 to
negative

~~~
greenyoda
_" Possible profit of your time per hour doing something foreign to you: $0 to
negative"_

And the negative can be a _very_ large negative, resulting in civil or
criminal liabilities:

\- If you screw up a sensitive HR situation (e.g., ignoring a sexual
harassment complaint), an employee might sue your company for millions of
dollars.

\- If you screw up your accounting you might get a letter from the IRS saying
you owe them thousands in back taxes and penalties. If you fail to send the
IRS the withholding tax you deducted from your employees' paychecks, you could
face criminal charges.

\- If you screw up your accounting and don't have enough cash left at the end
of the month to pay your payroll, rent, utilities, etc., you could go
bankrupt.

------
DanielBMarkham
Is it possible to build a company where everybody can sing? Write in cursive?
Play the ukulele?

Sure thing. The question is: why?

Frankly I think such a company makes a lot of sense. It's easier to teach a
software engineer management than it is a manger engineering. That's because
software engineers are paid to learn all sorts of other domains as part of
their work, whereas other folks get into a certain domain and stay there.

One of the key reasons such a company makes a lot of sense is that whatever
you do, you should be looking to automate it. Part of building a company is
this tension between forming a business model and codifying a business engine.
Folks should be good at both parts of that.

The problem is, the education system wants to stick people in little buckets.
Modern education is full of people who are a mile deep, but only an inch wide.
So the trick is finding people with broad life experiences and multiple active
interests that span much more than just software engineering. Also folks with
a lot of different worldviews and personality types, if you want you team to
sizzle. Putting all of that criteria together in one place by design can be
very tough, if not impossible. (But it happens a lot by accident)

------
seekingcharlie
This works in the early stages of startups.

When it starts to fall apart is when you scale - you need to switch from
generalist to specialist roles very quickly. The person managing your sales
now is likely not going to have the experience to build out a dedicated sales
force (when you reach this point). It's the same for marketing, HR, design
etc.

These 'titles' will require full-time dedication one day, which would require
your current team to give up their engineering tasks. I'm not sure they'd be
prepared to do that.

------
shin_lao
Be wary of monoculture. I know we would not be where we are now if we didn't
have people with real sales experience.

Scientific background is however great whatever the position.

------
kabouseng
Sales, marketing and HR can all be done by engineers, and sometimes is (our
company for example).

But you'll run into a roadblock with finance. Not many engineers knows in the
inn's and out's of tax law, GAAP or financial instruments available to a
company.

But would you really want all your people to be engineers, awfully expensive
and wasteful to engineering experience for tasks not at all related to
engineering.

~~~
blumkvist
I want to see the conjoint experiments your sofware engineer folks in
marketing are doing. Would be magnificent, I'm sure.

------
unchocked
If you're lucky enough to scale it, look to the Marine Corps. "Every Marine a
Rifleman" is a close analog for a very large organization. Of course many
Marines do other things, but they are all expected to be proficient riflemen.

A nice thing about studying the military is that most training material is
public domain, and the pedagogy is exceptionally well worked out.

------
adventured
You wouldn't want your software team doing HR, recruiting, sales, etc.

The mental dislocation that comes from switching roles, having to maintain the
tree of work in your brain for each, and being able to switch on and off at
any given moment (sales won't wait, you have to take/make that call) - will
severely reduce the productivity of a software engineer.

If you really have to stretch, outsource some tasks. If you can't afford to,
then that's a different issue.

If you absolutely had to do it in-house, then make it _everyone sells_ until
you can hire a dedicated sales person. This aligns everyone in the sell or die
box together, shares the responsibility, and forces everyone to really
understand the product they're making from all angles.

------
drawkbox
Many small companies are just that, a handful of developers doing all these
roles. You probably also get better outcomes in a technology/software company
where people are or were former engineers/programmers. There is also manager,
business, advertising, design sides that would be needed within those
developers.

Part of the reason small companies do better is they are usually people that
have worked in those fields deeply.

This also works with other specialties. For instance I bet Neill Blomkamp runs
the 3d animation/art side of his movies really well because he was one for so
long. There might not be a better 3d art/direction currently in film because
he has such experience there.

------
lewisl9029
It could definitely be possible with some kind of _niche_ technology
consulting company.

I'm limiting it to _niche_ technologies because, like others have mentioned,
operating at any significant scale will eventually necessitate specialization,
even for a consulting company (marketing to acquire customers, designers to
build good looking software, managers to shield developers from abrasive
clients, etc).

------
vvilp
I think it could work definitely.

I know a small team for mobile game development which has around 10 people, 7
developers and 3 designers.

This small team run pretty well at the moment.

------
pawelrychlik
Surely possible, and proven to work at a small scale (less than 50ppl I would
say). If you have people who are not afraid of leaving their comfort zone, who
like to push forward, learn new things, inspire one another and are
communicative, then it turns out that you can do a lot, including marketing,
sales & HR even without specialists (one thing I find crucial is outsourcing
the accounting, especially if you live in a beaurocratic country).

At rspective
([http://www.rspective.com/#team](http://www.rspective.com/#team)) we are 11
people, _everybody_ is a software dev with strong technical background. E.g.
we get lots of sale opportunities despite the fact that no-one in the team has
any real experience with sales. We hire people by ourselves. We run marketing
actions/campaigns. We are pragmatic, we figure out how to do things on our
own. 2 years on the market and it works out perfectly for us so far.

------
shawnreilly
I'm not sure about non-Engineering roles, but this somewhat reminds me of my
experience interviewing with Facebook for a Network Engineer position.
Traditionally, Network Engineers are experienced with Vendor provided
solutions (Juniper, Cisco, etc) and most interviews would cover experience
implementing/supporting different types of architecture using these Vendor
provided solutions. Facebook Engineering exemplified a refreshing new approach
where Network Engineers are also Software Developers, and the focus/goal is to
proactively correct and automate Network Engineer tasks. This means there is
less time fighting fires, and more time building solutions. I found this to be
an interesting new approach (for me anyway). So conceptually, I could see this
working; an HR person that can write the company HR tools, marketing and sales
people that write their own tools, etc.

------
Singletoned
I own a company where everyone is a software engineer. I'm currently the only
employee, and I don't imagine I could scale to much more than one or two other
people before I had to hire non-software engineers.

I also think that a marketing department full of software engineers would be a
bit of disaster.

------
malditojavi
Related with this: I found out last week that a javascript developer
([http://julian.com](http://julian.com) | @shapiro) is vp of marketing in
webflow and I had a similar reaction, 'wait a js dev in a marketing
position?!'.

Amazeballs!

------
liquidcool
Is outsourcing allowed? Lots of SaaS options for HR (benefits management),
payroll, lead generation, etc. Plus contractors/freelance service providers.
Enough so that a CEO could handle that for a small team and not take much of
his/her time.

------
pluma
Yes, but at least some people will have to juggle hats a lot. And at a certain
scale they'll probably spend more time not being a software engineer than
being one, up to the point where it doesn't really make sense to call them
software engineers at all.

The reason most companies have dedicated employees is that it's very hard to
be a generalist and stay on top of everything you do. It's more efficient to
specialise and become much better at a handful of things instead of being
barely competent at everything.

------
porter
No. At a certain point it won't make sense for a software engineer to code and
also to manage the books, recruit, do sales, or manage a marketing budget.

You'll find that as you grow it's best to maximize the time people can spend
on what they are best at. Maybe the leadership could all have engineering
backgrounds, but it'd be dumb to make them both engineers and in charge of
some non-engineering thing at the same time.

------
zippy786
It's not unheard of for a single person to be responsible for a
product/company. Sublime text, IDA Pro, Pinboard.in and there are quite a few
more examples that's handled by a single person. As Internet and its effect
grows, it's more likely to see these type of products where an individual or a
group of few wear many hats.

------
dustineichler
Speaking from personal experience, I'd second what people are saying about
doing this on a very small scale. However, there are soft skills engineers
really don't have, nor want. Running a business "where everyone is a software
engineer" is about so much more than the type of employee you hire.

------
vimarshk
I think Engineers could do HR, marketing, sales etc. having said that how many
such engineers would you be able to find? There are two things here: 1\. How
would you scale based on the question above? 2\. How would you pay them? (For
eg. an Engineer doing HR would be paid like an Engineer or like an HR?)

~~~
catshirt
neither scenario for 2 makes sense though. why would you pay an engineering
salary for HR work? and, why would an engineer want to work for an HR salary?
and if you're hiring an engineer and paying them like an engineer, would they
really want to be doing HR work?

although now that i think of it... if you pay me my salary i'd might be happy
to switch to HR...

------
jklein11
This is more a question of supply and demand. If you consider your problem to
be the following:

You need the following amount of work done per week: Accounting: 40 hrs HR: 40
hrs Marketing: 80 hrs Sales: 160 hours Software Development: 160 hours

Your job is to now cover these hours in the most efficient way possible.

------
Kiro
Sounds like a dream. In all companies I've worked at everyone outside
engineering has been useless.

------
konradb
It doesn't seem like an obvious route to success.

It feels like you wouldn't be getting as much efficiency out of a company
where many people were learning on the job, or executing processes that were
very dissimilar to the sort of work they typically enjoyed.

------
kristofferR
[http://en.wikipedia.org/wiki/Decentralized_Autonomous_Organi...](http://en.wikipedia.org/wiki/Decentralized_Autonomous_Organization)

------
jstanley
Are you talking about software engineers who stop doing software engineering
to start doing the other things, or about people who are doing both software
engineering and the other things?

------
known
[http://en.m.wikipedia.org/wiki/SAS_Institute](http://en.m.wikipedia.org/wiki/SAS_Institute)

------
lmm
AIUI Facebook made a point of hiring only programmers in their early stages,
even for roles that weren't primarily programming.

------
sudeepj
As far as I know, whatsapp had very few employees (about 50). I wonder how
many of them were non-technical

------
andrewstuart
Why would you want to? Makes no sense.

~~~
deciplex
The only reason I can think of is OP wants to avoid the inevitable drop in
prestige and decision-making power once the suits roll in and regard every
engineer in the firm as an interchangeable cog in the machine. A better
question is "is it possible to build a company with engineers in executive
positions?" and the answer is "yes, but it might not be enough, cf Google."

------
rectangletangle
Seems like it would be expensive, and hard to maintain beyond a very small
number of employees.

------
ribs
Sure, but it seems terribly near-sighted to me. Why would you want to?

------
w_t_payne
Small multidisciplinary teams FTW.

------
MichaelCrawford
I'm an example in the sense that I run a company all by myself, where my
service is custom software development, but I also do all my own sales, web
design and so on.

It would not be hard for someone like myself to team up with several
colleagues.

Even if someone devotes their day to sales, if they are selling software it is
helpful for them to have some experience as coders.

"Small team. Move fast." An Apple Developer Evangelist visited Working
Software one day at the time we had about ten employees. She was overcome with
jealousy at our ability to quickly respond to changing market conditions. (At
Apple, every new product, and many new releases of existing product require
sign-off on an 'Engineering Requirements Specification' or 'ERS'. While the
ERS is generally a good idea, at Working Software I could just say 'Hey Dave I
have this idea for a new product - OK if I write it?')

Where you find more-specialized staff is commonly with larger companies. A
very serious problem I see is that marketing people don't have the first clue
about web design.

