
Small company or big company? - dedalus
https://www.benkuhn.net/bigco
======
alangpierce
My experience is that the type of day-to-day work shifts pretty significantly
as a company gets bigger, generally from "build new things" to "maintain
existing things". At a big company, my view of "good engineering" was writing
well-factored code and making systems robust and scalable. At a small company,
my view of "good engineering" is intelligently taking shortcuts for faster
prototypes when the final product is uncertain, or recognizing clever product
solutions that can be built quickly to satisfy a user need.

If you want space to find a perfect solution for a well-defined technical
problem, you probably want to work at a big company, and if you want messy
open-ended problems where you get significant ownership over the product
direction, you probably want to work at a small company.

~~~
marcc
This is well said. Writing well-factored, robust, scalable and easily-
maintainable code takes more time than shortcuts. It produces a much better
result also, and that time is a worthwhile (and needed) investment only after
you've figured out what the final product is.

Iterate quickly, knowing you are building some some technical debt. When you
figure out the product, chances are that significant portions of code have
been thrown out, and now you should focus on upgrading the quality of that
early code.

The engineers I've seen that struggle at early stage startups are the ones who
want to go from 0 to 1 on a prototype but want to write well-factored, robust,
scalable code because they are worried about how it will be maintained. I
can't stress enough, to be successful at most early stage startups, the goal
has to be to create a product that people love, and then figure out how to get
it maintainable.

~~~
redisman
It's a tough switch both ways. The ideal experience IMHO is starting at a
small company with prototyping and fast delivery that then transitions to a
more established business and makes you clean up all your messes.

------
erubin
I like Ben's writing a lot but I think he's not very familiar with just how
much better FAANG is in expectation value for your typical engineer - i.e. at
current compensation levels it would be possible to achieve financial
independence by 35 or 40 for somebody joining out of college. I don't think
Ben has a particularly steep utility curve for money so working at a mission-
driven startup is probably great for him, but the landscape out there has
changed since he was last looking for work.

~~~
flaie
I'm surprised, is the salary that much bigger for FAANG in the USA? I know
someone who's been approached by Google for a position in Paris, and the
salary is not that great (around 110K€/year from what I heard for a Software
Engineer position (more than 10 years of XP)). With that kind of salary, you
can live well but you're not going to reach financial independence nor buying
a house by the time you're 35/40.

I do know a lot of people making this or even much and they're not working at
Google.

~~~
crazyeights777
I was formerly confused by Google's compensation packages as well. I was
focused on first year base salary and not aware of how raises, bonuses and
stock packages play out.

My base salary has been higher than my classmates who joined FAANG since
graduating ugrad. I jumped between non FAANG companies, they have been quite
loyal. However,they are now clearly in a better financial position than
myself.

1\. FAANG compensates for institutional knowledge; engineers are rewarded for
sticking around. my classmates that started at 100k USD 5 years ago, are now
making ~175 base. They have gotten a 10% raise each year. 2\. Performance
bonuses. Not as common, for those who have a perf bonus the target is 15% of
salary. 3\. FAANG will give aggressive stock packages to engineers (which has
real value from the get-go, unlike startup stock options) My classmates
receive an annual stock package of 65-100% their salary.

This effectively bumps their 2018 compensation to between 225-300k USD. They
are 5-6 years out of undergrad.

~~~
jarsin
Sweet then you just need to save 50% of your total comp for 10 years to buy
and pay for that very small $1 million fixer upper house.

~~~
skybrian
Mortgages exist.

~~~
gnulinux
And they create a lot of stress and anxiety for the individual.

------
pluma
The article creates a false dichotomy. A startup is not necessarily a small
company and a big company isn't necessarily not a startup (depending on your
definition anyway).

I understand the two categories are supposed to be generalisations but I think
there's a middle ground worth mentioning: small businesses.

Large corporations are the "low risk, low reward" extreme. They
stereotypically offer good job security (although this has become increasingly
untrue) and career growth opportunities. They are more likely to offer stable
working hours at market rate but also require a lot of red tape if you want to
do anything new or exciting.

Startups are the "high risk, high reward" extreme: typically pay below market
rate, terrible working hours but possibly exciting technology with lots of
self-guided work and in some cases you may even be offered the equivalent of a
lottery ticket.

However there are small (5-50) companies that offer more reasonable working
hours and quality of life than a startup while also enabling you to "leave
your mark". The difference is that unlike startups these aren't necessarily
"growth oriented" but that doesn't mean they won't have an impact -- just that
they don't have to grow their impact exponentially to avoid dying.

In my country (Germany) there are entire industries that are dominated by
small companies. Sure, those industries aren't always the kind you can brag
about (but then again neither is "I built the address widget on the Amazon
checkout page" and if you're honest, nobody _really_ wants to hear about how
you worked on "Facebook for cats" or "Uber but with rickshaws" either) but
they're a legitimate middle ground.

That said, I find it telling that the article seems to mostly disregard the
actual question and focus on finances -- both by going into unnecessary detail
about startup viability and by talking about salary and "revenue
opportunities" but nothing else that's relevant to quality of life (except for
multiple stabs against Microsoft, that is).

~~~
bdcravens
> However there are small (5-50) companies that offer more reasonable working
> hours and quality of life than a startup while also enabling you to "leave
> your mark". The difference is that unlike startups these aren't necessarily
> "growth oriented" but that doesn't mean they won't have an impact -- just
> that they don't have to grow their impact exponentially to avoid dying.

I work for such a company. They've been profitable from day 0 (100%
bootstrapped). The company really takes care of its people: great benefits,
reasonable hours. I've really been able to leave a mark, having a degree of
autonomy in technical decisions I'd get no where else.

------
sanderjd
I think something this article misses is that it is much easier to get good
information on all these things for the relatively small number of big
companies than it is for the enormous number of start ups. Related to that,
information you can get about start ups is much more likely to be obsoleted
sometime within the duration of your employment.

To make this concrete, if you care about work / life balance, you can
independently research the reputations of different big companies on that
front. But for an arbitrary start up, the best you can do is often to ask them
and hope you can suss out the degree of truth in their answer. Then if you do
find a start up that really has good balance, it is (by definition) going to
grow quickly, which often (but not always) results in that balance changing
over time. Things change less quickly at big companies.

This isn't an argument in favor of either big companies or start ups, it's
just an argument against the idea that "big company vs. start up does not add
any information once you know what you care about"; I think it does.

------
ocdtrekkie
If you want to know that you, personally, moved the needle, you should look
for a small company. If you want the CEO to drop by at the company party,
greet you, and acknowledge something awesome you did last month that he or she
noticed... Small company.

There's some incredible job satisfaction perks that come with smaller
companies.

But as others have pointed out, there's a difference between a "small company"
and a "startup". The former is likely filling a need where it is, and is
hopefully growing at a reasonable, but steady pace. A startup is a get rich
quick scheme that's gonna be huge in the next couple years or wont exist
anymore by then.

------
baccheion
Smaller companies if you want to matter and "do things"; larger companies if
you want to make money.

------
jondubois
>> The determining factor in a startup’s success isn’t competition, it’s
whether they can actually make something good enough that they don’t die.

That is so wrong. Very wrong. It's all about competition. If you work for a
well-connected startup or a big corporation, it may feel like there is no
competition... But the competition exists; they just never had a chance. The
reality for most startups is that they're faced with impossible competition.
Competition is everything.

>> You can tell whether a startup has [already] made something people want by
whether it’s growing really quickly

People buy what they're told to buy. People don't actually buy what they
inherently want or need - If they did, they wouldn't be so miserable and
Facebook wouldn't be making so much money. "Make something people want" is a
lie - The quote should be "Fool people into buying something they don't need".

~~~
Drdrdrq
I disagree. Competition is important, sure, because every customer will
evaluate you against them and will only decide for your product if he finds it
better. BUT, you don't need to be better in every aspect. You can represent a
better alternative for only a subset of customers, and still have a big enough
market share.

I think most businesses, when they are driven out by competition, actually
fail at delivering value. Competitors just show them how it should be done.
Unfortunately it is almost impossible to change how an existing business
entity operates.

------
mti27
More important than "big company" is the group of people you're working with
at the big company. If you're working with some smart/motivated people and can
avoid the management processes and overhead, it's a good combination of
resources and autonomy. I worked in a group like this; we delivered projects
and the managers stayed out of the way. They never said no to any training or
software/hardware purchases. Then the bottom dropped out in 08....

------
cylim
I had written a medium article about my experiences. It based on what I see,
won't be the truth for everyone

1\. Freelance: It really depends on the project you accepted. There are a lot
of tasks which some company can’t solve and asked for the freelancer to help.
But there is also a lot of repetitive work like creating WordPress sites which
don’t improve your skills at all.

2\. Software Agency: If it is a small software agency, you will be expected to
do MVP(Minimum Viable Product) for other startups/companies over and over.
There is some software agency that helps to maintain the apps, which you can
understand the issues that happened when scale.

3\. Small Startup: Build fast, learn fast. Usually, don’t have enough people,
you need to do everything in a breakneck pace. It is hard to get someone to
guide you along the way, you have to learn from your mistakes or lousy code
from the previous colleague.

4\. Medium Startup: This might seems to be the perfect ground, I haven’t work
for this type of company. The startups should have a standard in the software
development process and able to introduce changes if it is good for the team.

5\. Big Corporation: Depends on the team you joined. Chances are you are
working for a small part of the whole system and don’t know how everything
works when put together.

You can read the full article: [https://medium.com/@cylim/my-first-year-
working-in-the-it-in...](https://medium.com/@cylim/my-first-year-working-in-
the-it-industry-10f725a4263)

------
simonebrunozzi
The article cites Microsoft as being bad for quality of life.

Despite I would do it again (for other reasons, NOT for quality of life), I
think that my six years at Amazon have been way, way worse, and it's not just
my own experience, it's what I've heard from colleagues or ex-colleagues at
Microsoft, Google, etc.

If you describe Microsoft as bad for QoL, I'd describe Amazon as brutal, and
Google as the pension for Amazonians.

Please, don't take any offense from what I shared, and also consider that it
is still a personal point of view, not backed by large datasets or surveys.

I think it is still useful for HN to read my opinion about the subject.

------
quickthrower2
Nitpick the 5% growth per week is for during YC, not at the point they are
hiring you.

------
blueboo
you can have overly large teams with burdensome processes in a small company

and lithe, efficient, empowering teams in a massive one.

Not that size doesn't have other implications -- but the specific people who
work with/around you matter far more than the size of the company.

\--which is to say, if size is the determining factor in your decision, you
don't actually know what you're getting into either way

------
kqr2
Is working at Microsoft under Satya Nadella still "dystopian" as the author
mentions? If so, how?

------
openIce
Smaller companies if you want to work for free and have no benefits.

Big companies if you want the company to spend money on training you, good
salaries, extra benefits and being to drop the job after going home for the
day.

~~~
matwood
> Smaller companies if you want to work for free and have no benefits.

Maybe you mean startups? There are lots of small companies that pay very
competitively and have great benefits. There are big companies where the pay
and benefits are terrible along with forced OT or on call. I have worked at
both.

I will take the small company over the big every single time, because in the
small I have always been able to enact change to make things better (going as
far as getting them to change the retirement provider to another one with
better fund options). In a big company, even when it is clear there are
problems, it can be almost impossible to push changes through.

