I have the opportunity to maybe get a job as a software developer at a small software company that employs 14 people. But my gut is telling me that getting a job at a small company like that might he terrible. Do you guys have any experiences working at companies that small?
In my mind, I imagine the CEO would have a very large presence at the company and everyone would feel a lot of pressure to appease him. I imagine that the whole company would just be a boys’ club. But I guess any company can be like that, so maybe I’m jumping to conclusions, and the size of the company isn’t actually related to company culture?
Please let me know if you have any thoughts.
EDIT: The company has been around for two decades
It’s a two-edged sword for sure.
The good:
-
Lots of room for creativity, innovation, and change. But as others mentioned, this depends on the company culture.
-
Less red tape because of the shorter line up the organization.
-
Faster promotion track if the company grows and you’ve already established yourself. You can also get a huge payout if the company is acquired in the future.
The bad:
-
Possibly not as organized vs a company with an established support group (admin, payroll, HR, etc.).
-
People having to perform multiple roles due to having fewer personnel.
-
As a counter to the 2nd bullet in the pro section, having to deal directly with top management means you’re more exposed to politics.
-
Possibly lower pay. But you said they’ve been around for 2 decades so maybe they’re paying well, and I’m sure you’ve considered the pay already.
People having to perform multiple roles due to having fewer personnel.
A pro in my book. I like the diversity of work rather than getting pigeon-holed into some very niche little task that I would have to do day in and day out.
For sure, but it depends if you actually want to do the additional work assigned to you. It’s all good, until you’re being asked to do some administrative stuff like help Jen from accounting on company finances because it’s tax season. Or finish some paperwork for the lease on the building the company is renting. Or sales/marketing stuff like reaching out to a customer to sell additional features, when you’re a backend developer. Or provide technical support when you aren’t supposed to be customer-facing.
It’s all good, until you’re being asked to do some administrative stuff like help Jen from accounting on company finances because it’s tax season.
There’s nothing like some droll task like stuffing some envelopes to get your mind off that problem you’ve been wrestling with.
But yeah, this all is highly dependent on the company and the work expected of you. I was thinking more along the lines of not wanting to have to do devops all day every day. While I do like that work, I much prefer when I also get to do other work like architecture, programming, db design, etc.
Yeah, this is what happened to me. Went in with a 50/50 business analysis & programming role, and now I’m having to do marketing, customer service, project management, documentation, all-of-the-above because we’re understaffed. Great from an entrepreneurial standpoint to learn a wide-range of skills, but I don’t enjoy it, and I don’t have control over my workday.
Man, I have all of those cons at in an org that has 20,000 people…
Also there may be very good coworkers or very bad coworkers, you’ll probably work closely with either.
And things will probably be a lot more informal.
-
As you’ve already touched on, company culture is everything at small companies. If you fit in well, you’ll love it. If you don’t, you’ll hate it. I would ask to talk to other people in the company besides the CEO and talk to them about what working there is like and what kind of person would fit in well. If the CEO (I’m assuming that is who you are interviewing with) balks at the Idea, that right there tells you something.
pros - you can make a big impact and less strict processes.
cons - you cant just pass the buck and hide, you couldnt say ‘thats not in my job description’ just he ready to wear random hats when needed.
Clique culture in small companies is pretty common. It might not be boys club but there’s no middle man to protect Devs from those in charge so there’s always going to be pressure to hang out if everyone is or to work overtime. You have to work in that clique culture but you don’t have to always say yes as long as you are friendly about it. The phrase “being firm” has never sight right with me for these as it’s the antithesis of friendliness you can be loose and say no and if it’s brought up again stay loose and continue to say no. You don’t need an excuse but a loose excuse is works well.
Security is obviously always scary but the tech landscape does not really have that anyway. Realistically if the only worry is it’s a small company and everything else is good, take it. If you find that you don’t fit into the small team flow, then you can continue looking in the future.
Very small is 3 people. It’s a small company.
My experience working in a dev company exactly that size -
Pros
Less dead wood (people not carrying their own weight).
Everyone knows everyone well, it’s a tight team
Think it, do it - quick to develop and respond
Less pressure
Feels a bit like a family
More chilled than corporate esp. working from home
More support of networking and linking up with industry peers
Higher degree of trust and support
Way more latitude to do what you want to do
Easy to influence senior leadership
Can offer things like equity etc
If you’re a high performer you will be noticed
Way less red tape
A lot more trust
Company can prosper if everyone works hard
Cons
Company favourites
Can be quite political, although far less so than some large organisations I’ve worked for
Less cover if you’re on leave or similar
Harder to get some things done if money is needed (lower budgets and thinner reserves)
Lower remuneration, fewer levers to pull to get a salary increase
More drama with paychecks etc
Fewer higher skilled people to learn from
Culture can go sideways quickly
Nowhere near the same level of support and benefits provided by the big companies
Tend not to attract the best and brightest talent
Comoany more impacted by economic conditions
It also greatly depends on you and your preferred style. Some people just outright don’t like working for big businesses and prefer smaller gigs.
I’m a software dev whose first job out of college was at a tiny company, 10-15 people.
Pros: I learned a lot. Each project had different technologies involved. I def didn’t get bored! Basically no red tape. I reported to the IT director, and he reported to the owner. Nothing could really get lost in bureaucracy there.
Cons: Payscale was weak, but eh, it was my first job out of college. No room for advancement. What even is a promotion when the whole company is only a dozen people? Limited mentoring. While I had a lot of guidance from my boss there, especially early on, now years later I’m looking back, wishing I’d gotten a more varied perspective. You can only learn so much from one person’s perspective.
Whether the culture is good or bad is not strongly indicated by the size. You’ll get a good feel by meeting them. Prepare some questions on turnover and overtime use. You want both low.
You will have to do work that in a bigger company would be specialist work. Some possible examples: Maintain infrastructure, drag network cables, purchase your computer, negotiate with service providers, software architecture, UX, product strategy, frontend, backend, integrations, customer support, QA, fix the printer, argue with the landlord about ventilation, etc. All this could be heaven or hell based on your personality. :)
Ok, I’ll give my experience. I was hired as basically a paid intern. I was in high school, I “knew” computers like a nerdy teenager knows computers… Not real knowledge of their workings but I played with some programming(I got hello world to work using perl) , I could install linux(in the early 2000s, I bought copy of Debian Linux on 7 cds). I was basically told I would be an assistant to the other computer technician.
A week after I got hired, he got fired. For the next several months people got hired and fired after a 2-3 weeks. The company was 3 people, myself, the owner, his wife did the accounting. I didn’t know what I was doing, googling what I could to figure stuff out(i now know that’s normal but also now know how to Google correctly). I leaned on the owner to figure out things. I don’t know if your job is in computers but these are things I learned later were absolutely idiotic.
-
If a computer came in with a suspected virus, standard protocol was no research or investigation… Format and reinstall.
-
We had corporate clients (main client was a credit union), we gave the windows CD and license code to each teller with no record of what they were. He sold the license at the price he bought then for from staples.
-
All servers had local admin accounts. All local admin accounts had similar passwords. I was the only person who knew what those passwords were.
-
My boss thought time spent documenting was time wasted.
Anyways I stayed there for 4 years. It was not perfect and I learned so much wrong stuff. It was a decent job, my boss had really weird rules(why so many people got fired), and my time would of been spent better learning correct information.
That said I ended up causing the company to go bankrupt and the owner and his wife are now Christian consulers…
How did you cause them to go bankrupt?
all that time spent documenting, probably
Long story short… Most of the money the company earned was from the credit union. I went through a depression phase and tried to kill myself (I’m doing better now) so I was inpatient in a mental ward for about a month.
The credit union got a computer security audit from the ncua(similar to fdic but for credit unions). My boss could not access any system. No servers, no firewalls, no intrusion detection systems, nothing. I had the passwords but was unable to be contacted and “documentation was a waste of time”.
They failed the audit. Credit union basically asked “we pay you for computer security, we failed an audit for computer security, so why do we pay you?”
Contract was lost and company went under shortly afterwards.
Your boss caused the company to go bankrupt due to his behavior.
Mostly but that doesn’t make as good of a story 😁
-
Pros: there shouldn’t be a lot of red tape or layers of middle management to deal with. If you have an idea, you know exactly who you have to convince to get them to buy in. Your contributions will have a visible impact right away. If you get along well with the team it may seem like too much fun to really be work.
Cons: resources will likely be scarce. The “IT Department” might just be Ed, one of the greybeard Linux guys, who maintains the servers in his spare time. (or worse yet, Ed might have just retired, and they think you’re the new Ed). There are only a handful of people “in charge” and if you don’t get along with them you may not be able to get much done.
Or Ed is maintaining the servers full-time and doesn’t have time for your desktop/laptop issues
I actually started at my current company when there were only 12 employees total. Now we’re 100+ employees. I witnessed the shift from a small company to medium sized.
When I started, the CEO was very present in day to day operations in the company. We hold a weekly meeting and everyone gets to share their updates and the CEO is involved in the day-to-day operations in the projects.
I lucked out having an excellent CEO so my experience is great when we’re at the small company stage. However since we’ve scaled up to be more than 100 employees there’s already middle management and what we did needs to be filtered thru the middle management.
Unfortunately the middle management layer is not as great as the CEO. So I’ve been contemplating moving to another company but the pay is good and I work remotely, but I’ve been looking around to see if there’s better options.
The upside could be huge, this is where millionaires are made if you kick arse and get stock options…
The downside would just be culture. Can you hack it? Got a thick skin? There probably isn’t an HR to complain to.
A small company like that likely won’t have policies and processes to fall back on. This can be good for some things, but when things go bad it can backfire.
Mainly for things like promotions, HR, complaints, etc. In big companies there’s a formal process for how to get promoted and what’s expected at each level, etc. Same for HR complaints. At a small company you’re going to be more subject to the whims of whoever is in charge.
Same for new projects. In a big company you have red tape and processes to blame when something fails, but in a small company it’ll be more likely to be “your fault”.
Mainly for things like promotions, HR, complaints, etc
Haha this is such a good point.
The CEO took us to lunch and said to me, “I don’t know if your people like the Olive Garden or not.” Which if I was to report to HR, that would be HIS BROTHER.
I also didn’t get a promotion because I don’t go to his golf outings.
Oh and his wife was a CTO and she once asked me why I release software with bugs in them. That was when I started applying for other jobs.
I’ve done both large companies, small startups, did freelancing, anything for a paycheck. I now am a engineer for a major company with 10k employees and there’s so much that I picked up that would have made my life easier when I worked at a small company.
At a small startup, I absolutely was the jack of all trades developer. Everything from setting up infrastructure to web development. I was paid well but I didn’t feel like I knew anything. We were always in rush mode. I remember working 60hr weeks for months because we had so little revenue and we’re trying to save the company.
At a small company of 20 ppl, I was senior developer #3. There were only three developers. All seniors apparently, but paid like 30% less than our counterparts in other cities. The drama was so stupid. Everything was done because “That’s how we did it.” So much reinventing the wheel. The lead senior belittled and was a awful human. When I quit and joined my current job, he asked me for a recommendation. I still gave it, but he failed the first round of technical questions.
The cons of working at a small company?
-
Too many hats.
-
You are in charge of the domain. If you take two weeks off, you will get phone calls.
-
It’s only as good as the experts involved. Good Project managers and testers are a godsend and may not exist in small companies.
-
I was paid well but being in revenue talks and the “we have two months of runway before the whole company shuts down” is so incredibly stressful.
There’s pros too. But at my experience level and current lifestyle, I love turning off my laptop for the day and coding my own stuff on the side.
-
Some thoughts to keep in mind, speaking from my own experiences:
A small company is a higher risk in many regards, less ability to remain solvent during difficult times, less resources so more pressure on the smaller workforce, things like that.
From a dev perspective, you are also limiting the number of similar or better co-workers you could interact with which reduces exposure to things that came to them with experience that you don’t have yet.
I’ve worked at two smaller companies like that. I had a great experience at one of them, and a mediocre experience at the other one. So, I feel like it’s probably just hit or miss depending on the company.