Fog Creek Software
Discussion Board




Working For A Small Software Company

Folks,

I am interested in getting some feedback from those of you who have worked in a small software firm, say < 25 employees.

I would appreciate any insights you have regarding:

* Project successes/disasters
* Aspects of the job you liked the most/least
* Comments on management
* Background regarding your responsibilities

Please respond to whatever catches your fancy. 

As always, rants and raves appreciated.

Chad R. Millen
Monday, January 27, 2003

I'm a developer for a company of 44 people.

It can be great and it can be terrible.  I think that the key to success lies with those who started the company.  Your founders - they are the key.  They are the true believers and they've staked plenty on this venture. 

I think the key questions become:
. What are they like?  Are they dedicated to the company?  Or just in it to "turn the crank" or flip an IPO?
. Are they in charge?  What did they give up to get funding?  Who is in charge?  An investor appointed CEO?  The board?

It is not to say that an investor appointed CEO is bad - ours is great - but now you must add him/her into the equation of potential success.

To be small and succeed against much larger companies everyone must be first rate in their area of expertise.  If its customer support, development, test, sales...  The only way you're going to succeed against much larger companies is to be the very best.

The vision and enthusiasm that the founders bring to the culture is what is going to help motivate you and your fellow worker bees onto success.  That, love of what you do, and your first tastes of success really help.  Because there is downside, lots of downside...

Early on, you get no respect.  Not from anybody.  No one will give you the time of day, let alone a functional spec from a disinterested 3rd party.  Be ready to do some reverse engineering, because that might be all you have - and its likely you're going to have to operate in a world of something: hardware, network, proprietary protocols, other software, ...

Mistakes in small companies have much more impact that in large ones.  You feel them.  That is a good thing - in a way.  You get feedback, and you learn quickly.  It helps hone what you know to be right and what you learn to be wrong.  You learn from your mistakes quickly - adapt as early as you positively identify what is wrong.

So far, 2 years and very rewarding.  Lots of headaches, lots of stress.  But worth it - just so long as you trust the management to do the right thing.

FWIW.

Nat Ersoz
Monday, January 27, 2003

Things great about it: agility, fewer layers, faster communication, easier to make a difference, less organizational 'goo' to slog through. More intimate, friendlier teams, people get used to working together. Better sense of 'team' and belonging due to shared (and conquored) adversity.  Less insulated from reality. Sales folks learn pretty quickly that they better not sell shit nobody can build, and those of us who implement appreciate the poor folks who have to bang on doors and burn up phone lines trying to sell stuff so we can all get paid. It gets pretty apparent pretty quickly what everybody brings to the table, and if anybody slacks, that gets visible pretty quickly too (but it's not very likely to happen then, either). So, fewer slackers -- hell, no slackers.

Going from a big company to a small one is kind of like getting in your car in the winter time with deep snow outside--at first the windows are all frosted up, you can sort of see what's happening, but not really, it's hard for people to see you in the car, and the car doesn't move too well pushing and sliding through the slush. There's a lot of spinning, snow and mud flies, but there isn't much progress. Then, your defroster kicks in, the windows clear up, you can see well, you break out onto clear, plowed road and suddenly you can pick up speed and make progress more easily, hardly any splash and splatter, lots of forward movement. There's still danger, but it's easier to see it coming and deal with it.

anonQAguy
Monday, January 27, 2003

I have had both my best and worst job experiences working at small companies.

In one, the place was controlled tightly by a very dictatorial owner whose ego was on the line any time an employee did well on something. He regularly belittled employees, lied on whim, and had very cruel policies. In every situation dealing with him, it came down to him exerting power, regardless of what was best for the situation or the company. I will say that friendships formed at this company lasted forever, because everyone was terrified of management and their cruelty. The micromanagement was overbearing and miserable, and the personal manipulation made people cry.

In the other job, the owner was very laid back, and trusted the decisions made by the people he hired to make them. He was kind and honest. There was no micromanagement and policies were very relaxed and always favored the employee. Vacations were always approved, and even asking for time off to decompress was given without hesitation. In fact, even the working hours were flexible, any time... no one was ever watching the clock to see when you left or when you came in. Working at home was allowed, purchases re-imbursed, and every effort made to make the employees happy in their work.

How can you tell one from the other? I have no idea. The first job looked like heaven during the interview, and frankly, the work was quite enjoyable (it was the personal cruelty of the management that made the place awful). The second seemed like a huge risk that I actually avoided until months after I was first asked to interview.

Someone Else
Monday, January 27, 2003

Working in a small company can be great.  I would sooner work somewhere small than somewhere large. 

My previous employer had grown to around 28 people by the time I left, where I am now has over 100. 

One difference I've noticed is in focus.  The small company was too technology focussed: build the cool technology and then try to figure out how to sell it. This is a problem if no-one wants it (or wants it for the price you want to sell it for).

The larger company tends towards the other bias: accept the latest fad/whim from the market and try and build it.  Markets can change too rapidly for this to be a great long term strategy.

Of course as a developer what do I know about cash flow and financials :)

Just another dude
Monday, January 27, 2003

"I am interested in getting some feedback from those of you who have worked in a small software firm, say < 25 employees."

Chad,

Define what you mean by "small software firm".

There are three types of companies (that I can think of at this moment) that fit your criteria:

1)  A small consulting firm that does project work and staff augmentation work for clients.

2)  A dot-com company that produces some type of web-based product.

3)  A software firm that produces some type of commercial product (i.e. third-party components, CityDesk, etc.).

Generally speaking, the smaller the company the more you will be required to do (wear many hats). 

Of the three companies that I mentioned earlier, I have only had experience with companies from category one. 

I had a good experience with the first small company I worked for because I was performing new development type of work (mostly coding) at the company's office with other company employees.

I have worked for two additional small companies during my career and left both of them as soon as they tried to bill me out to clients.  Imo, salaried staff augmentation type of positions (vs. hourly) suck big time!

One programmer's opinion
Tuesday, January 28, 2003

You might be interested in this article - http://www.angrycoder.com/article.aspx?cid=10&y=2003&m=1&d=21

.
Tuesday, January 28, 2003

Worked for a small company <15 people for 4 yrs.

Management:
- Run by 3 brothers.
- technically one of them far exceeded any body in his field.
- HR wise they all sucked BIG TIME.

Roles and responsibility
- moved from trainee to PL in 4 yrs.
- at the time of leaving was head of dev team.
- delivered word-class products across 3 platforms which kicked the butt of 2 cometing products
- did not get the credit for hard work I left, so did the others.

Pro's
- Great learning experience
- Can easily match the skills of people 1 1/2 times my experience.
- Became expert in some technologies and developed some own.

Con's
- HR policies didn't exist
- Reactionary policies
- Family relations superseed business decisions.

R K
Tuesday, January 28, 2003

R.K.,

What specifically bothered you concerning HR?

What would you have done to change it?

Chad R. Millen
Tuesday, January 28, 2003

They followed a standard increment pattern. Even you do excellent work or average work the raise was almost the same.
Any information about the products which we had made was not given like no of copies sold or how many companies have bought our OEM technology etcetc. All bad reviews which were more or less their fault of ignoring the feature was brought to our notice and blamed on us.
A leading company called us and bunding our application by discontinuing competitors products which it was doin for 10 yrs. This was proudly announced and all the credit taken by them.
I've seen almost all of our ideas were twisted and proclaimed as their own.

You talked about improvement:
- I made them get the right/decent infrastructure.
- Never put my personal feelings and gave 200% to make the product success.(And it did !!)
- Never compromised on quality, even pointed their technical and engineering fault in the reviews which they amended quietly without acknowledging.
- I gave each member of my team their due credit and encouragement. And had(still have) EXCELLENT working realtionship with both good/bad, new/old team members.
- Well I still am in touch with the old bosses and have not spoiled the rapport.

One most important thing. The product was in mess before I got control over the decision making. My seniors/mentors had left who personally confided that they were afraid of it.
I took it as a challenge and brought about the changes.

Enough of this rant, but my philosophy is good work should be rewarded without asking for it. I didn't get it so I left.

All I say here is tip of berg. I still want those people to improve. But their bloated ego's and devil may care attitude will not let them.

So Chad some things don't change and its better to leave them as it is and move on. I am happy atleast that I tried !!! and succeeded in most of it. And I'm now more wiser, experienced and carefull(I doubt :))

R K
Tuesday, January 28, 2003

I've worked in large companies (over 400 employees), medium sized companies (50 employees), small companies (15 employees) and really small companies (just me and the company owner). And what comes to mind the most is the old McDonalds vs a top chef argument.

In a large company, you get a lot more processes, bureacracy, and frustration that things seem to move slowly and you can't react quick enough to changes in the market or from competition ... but everything that goes out of the door is of a consistent standard. Good enough, but not necessarily a world beater.

In a small company, if the culture means that people get hired because of their talent and are trusted to produce great things and form a good team, you're pretty likely to have a good product and a good culture. If, on the other hand, your small company is a card carrying member of the "Hit And Run" school of management, you're going to come up against idiotic decisions with no line of defence much more often. All in all, it really boils down to who's running the show at the top. You could have Jamie Oliver churning out haut cuisine at the rate of knots, or that bloke who was briefly famous for being the most abusive and intimidating restraunt owner of all time. (What's his name?)

So there you go. All great chefs are men but not all men are great chefs. Try a small company, by all means, but make damn sure you're going to get on with the people you work with.

Oh, quick rant - there's a "popular" UK comedy series on at the moment called "The Office" (think it's being exported to the US soon) which I can't stand and is a great advertisment for a small company you should NOT work for.

Better than being unemployed...
Tuesday, January 28, 2003

I have worked for both types of small software company: the Cottage business and the heavily invested for a big end event.  I prefer the cottage business since people are in for the long term and organized for steady constant revenue.  The heavily invested company IMHO is not very fun for anyone except the big shareholders.  I have only had the pleasure of working 100+ hours, unrealistic expectations and short term goals.

The truth is both have strengths and weaknesses.

Chris Woodruff
Tuesday, January 28, 2003

One nice thing about small companies is that you can learn
about (or at least observe close at hand) all the other parts
that make up a business.  At one job, my cube was next
to that of one of the salespeople.  Not the best spot for
noise and distractions, but it was interesting to see how
skillful a good salesperson really can be.

Jeff Hultquist
Tuesday, January 28, 2003

Here's the dark side of small companies. They can be incredibly Darwinistic about non-mentorship of people and they can "develop" entry level peoples' careers  right down the toilet. Also, someone with a personal style that doesn't fit the company is often personally blamed and driven out when things don't work out.


On lack of personnel development: I've worked with a small company whose one owner writes and/or controls 95% of the code written at the place. Last summer the owner sacked a goofy guy that they more or less scraped up off the street years before. The owner's posture was that this individual needed to "shape up" and be more professional and organized, but from the looks of it this employee had been allowed to run free for years and had had 0 mentorship or been given any concrete suggestions as to how to improve his work.

On Darwinism: I have a friend who was driven out of a small DOD contractor literally in a screaming match in the lab, where the company's "golden boy" (techie with much management visibility) was browbeating this guy into stating when a product would be delivered (which was dropped into this guy's lap only a couple of weeks before and which had floundered for over a year.)

I agree that small companies can sometimes be more rewarding places to work. Unfortunately, the lack of "buffering" of the positive stuff in a small outfit is also associated with a lack of buffering of the negative stuff. Sic: at a larger company one negative personality with power can't generally run amuck and literally  destroy someone else's life and career on a whim - at a small company, VERY probable that this can happen if someone becomes a target or is in the way.

Curmudgeon
Tuesday, January 28, 2003

Working for a small company can be great, but you have to pick carefully.  There are a lot more bad ones than good ones.

Try to learn the basic goals of management before joining a company.  If it looks like they are just in it to get to IPO to make a quick buck or if there is a lot of outside investment, avoid the place (unless that's what you want).  Look for signs that the company is dedicated to a quality software development environment and intends to be around for a long time.

If you do find such place, watchout for changes in direction.  I worked for a small company that did great software development, at least when they could find customers.  When the dot-com boom came along the owners decided it was time to start growing and then they decided that after 20 years they wanted to cash out so they sold the company.  After that it quickly deteriorated.  It really no longer exists.

z
Tuesday, January 28, 2003

I had good and bad experiences at one small firm in which there were 2 hardware developers and 2 software developers and myself who was both. There were also a few dozen others whose purpose was not clear.

Anyway, my own boss was an OK guy who enjoyed designing things and I enjoyed working with him. But the CEO was a strange gentleman who:

1. Came into work one day with a shotgun after a developer asked for a raise and blew a hole in the wall of the guy's office while shouting the next developer who asked for a raise would get it in the head.

2. Insisted that the power switch was an unnecessary part of an important product and had to be removed. The first review on this product said it would have been the best in its category except that someone forgot to include a power switch and thus they could not recommend it.

3. Slept with married and divorced more than half of the women who ever worked for the company.

4. Would require attendence at bizarre ceremonies he called seminars touting his own weird and incomprehensible religious philosophy.

It was a fun experience but I only needed to go through that once.

X. J. Scott
Tuesday, January 28, 2003

I've worked for 5 people companies and for 20,000 people companies (and several in between) - each has their advantages/disadvantages.

My first employeer was a 2 man partnership started by Ex-Anderson employees (15 people). They were CPA's-turned-programmers but were really more interested in having a company then running it... They (and the 'senior' employees) also, unfortunately, didn't understand analysis or design. The main product I worked on was a mortgage lending system. The main table had 254 columns (the max the DB would take), 40 of which were only used when a loan was rejected. I tried explaining normalization to them, but it did no good. I left right before they decided it was time to start laying off people...

My second company was a 5-person shop doing a Point-of-Sale app for hardware stores. The boss/owner was 'interesting' (and more of a con-man then a business guy). He was funding the company out of the money he got selling his previous company. He kept away from the programming, but he did other wacky things. When he bought equipment/supplies, he'd pay by COD with company checks - which every-so-often bounced (because he'd forget to transfer money between his bank account).

He also insisted that *no one* open any mail addressed to the company (i.e. invoices, tax notices, etc). The problem with this was that he mainly tossed it all in a box and cleared it out when it got full. The problem was that this produced late payments and even got several collection people after him. Again, he had the money, it was just his parnoia ('knowledge is power') that caused this problem. When the receptionist/secretary suggested that she start opening anything that looked like a bill and put it in a special file for him, he almost fired her on the spot!

I've learned more about how not to run a company from my first two employeers then I have from all the rest.

jeff
Tuesday, January 28, 2003

The first software company I worked for had 20,000 employees. It was cool to be part of exciting, strategic products, but I felt my personal contribution and learning was minimal. I was a tiny cog in a huge machine.

Then I joined a start-up that grew from 5 to 20 employees. It was very exciting to be building Something New, but I worked too many hours and was underpaid (even unpaid at times). And my stock options are worthless. Without a real HR department or processes, getting payroll or insurance questions answered was difficult.

I think I have now found the proper balance. I work for a company with 2,000 employees. My personal contribution (on my product) is significant, but there is less stress that the company might not payroll next month or go out of business. And there is an established HR department that can handle any questions.

runtime
Tuesday, January 28, 2003

Working for a small company is totally a learning experience.  You'll always have the option of wearing many hats, you'll always have a big and fairly immediate impact, and if you're in the right sort of place, experimentation will be tolerated most of the time and occasionally encouraged.  I couldn't live without the sense of risk (that I might fail, or that the company might reject my sometimes far-out ideas) and the possibility of a big payoff (in terms of seeing my designs built and working, or my process implemented and running smoothly).

Some people find out they don't want to wear a bunch of hats, they like one particular system or part of the process and would rather only do that.  Some people want the stability enough to accept the "same year of experience, repeated ten times" that goes with it.  You have to be passionate about what you do to be happy at a small company.  At a big company, you can choose if you wish to be just good enough and collect a paycheck.  At a small company that's good, you'll be elbowed out of the way, marginalized, fired, or better yet not hired in the first place.

Not all small companies are good.  Yes, the people have a massive effect on the place.  A large company has its own momentum, such that even the people theoretically in charge can't change things for all they want to.  When I was burned out, I felt safe in a larger styled company.  I could have faith that they wouldn't go from good enough to horrid at a pace faster than a glacier.  But they weren't going from good enough to exceptional either, and I couldn't change that.  I couldn't love that kind of work; I did what I was told, they paid me, that was the whole relationship.  No brilliant ideas from me, no changes, no revolution, just over-glorified mental prostitution dressed up as all-American work ethic.

Someday, the small company I work for will be my own, and I won't have to worry about crazy people at the top.  They certainly are there, you have to be prepared to deal with that.  For me, I have enough "Fuck You" money to not ever be motivated by fear of losing my job (if they have to do that, it sucks eggs anyway and I don't want it), and enough good friends and common sense to pack my bags when it's time.  I've done it once, I'll do it again.  To me it's worth it, to love my job, and hopefully someday provide jobs for other similar folk, jobs that are worthy of that love.  That's the cult factor of small companies, some people buy in, some don't.

Mikayla
Tuesday, January 28, 2003

>>> But the CEO was a strange gentleman who:

1. Came into work one day with a shotgun after a developer asked for a raise and blew a hole in the wall of the guy's office while shouting the next developer who asked for a raise would get it in the head. <<<

Anyone who ever came in to work again for this guy after an incident like that would have to be even stranger than he was.

z
Tuesday, January 28, 2003

At a small company peoples' personalities are much more visible, as evidenced by some of the stories presented.  The personality and character of the owner(s) and management will be a significant factor in how much (or little) you enjoy working there.  A lot of decisions and "policies" come from what the owner thinks is right or best.  That can be great... or awful.

Because of this, it pays to do your homework before taking a position at a small company.  Try to figure out what their reputation is; pay close attention during interview for subtle cues as to the personality and character of the owners and management; ask around as to what it's like to work there.

I'm currently at a very small company whose members (including myself) mostly have come from a not-quite-as-small company that was in its dot-com death throes.  I would not have come if I didn't trust the abilities and character of the people I was coming with.  That was easy for me to evaluate, of course, having worked with them for some time.  Even though the workload is heavy, the pressure is high, and the hours are sometimes hard, I enjoy working with, trust and value all of the people here.  That makes it worthwhile for me.

-Thomas

Thomas
Tuesday, January 28, 2003

"1. Came into work one day with a shotgun after a developer asked for a raise and blew a hole in the wall of the guy's office while shouting the next developer who asked for a raise would get it in the head"

Where was this? In bumfuck, texas? Was the CEO also the county sheriff? I'm from bumfuck, midwest, and even there behavior like that would send someone to jail for quite some time. I tend to doubt the truth of that story.

skeptical
Tuesday, January 28, 2003

"Where was this? In bumfuck, texas? Was the CEO also the county sheriff? I'm from bumfuck, midwest, and even there behavior like that would send someone to jail for quite some time. I tend to doubt the truth of that story. "

If it were in Texas, then someone would have likely taken that shotgun from him, shoved it up his ass and then tossed his butt off the top of the building. That just wouldn't go over too well here. You shoot a shotgun in my office and there's gonna be hell to pay; boss or not.

Unless it happened in Austin. Bunch of college sissies there. :')

Skeptical Too
Tuesday, January 28, 2003

Well I didn't think to take any snapshots or videotape it for you. It's no skin off my back if you don't want to believe me.

Yes it did happen in a sounthwestern city, population 2 million.

Yes, I was stupid not to leave after it happened as that was the first sign. I was ready to leave when it happened but my boss spent a lot of time calming all of us down and making excuses for the CEO, insisting that he did these sorts of things for dramatic affect and was not really dangerous. I suppose he was not physically dangerous but he was crazy and like I said, it was quite an experience to go through it once but I wouldn't do it again.

X. J. Scott
Tuesday, January 28, 2003

Reading some of these postings gives me a strange feeling that there is something about the market for software development that I don't understand.

Several of these stories are about companies run by near incompetents or crazies, yet they do seem to survive and even do quite well.

I used to work for a small company that had good management, always made a profit, built good software, hired good people, etc.  Of course, they had some problems, but still stood out from any other place I have observed.

The one thing they  had a real hard time doing was getting work.

It was a contract software development house.  Considering the supposed demand for good software, you might think they would have customers lined up at the door.

They did get enough work to keep employees busy, but often had to take staff augmentation contracts, basically being a temp agency and sending people to work on-site.  It was not at all what the management or the employees wanted to do.

mackinac
Tuesday, January 28, 2003

I agree that small companies are better for most of the reasons already mentioned but one downside I've noticed is that they can sometimes be penny-pinching.

Trouble is: your boss owns then company, so he feels any expenditure (on new PCs etc.) right in his hip-pocket nerve. This means you can get stuck working on old equipment forever and/or having to implement code components you really should be buying off the shelf (both false economies IMHO).

Andrew Reid
Tuesday, January 28, 2003

If you feel like you are contributing more than 25% of the total accumulated input to the company, you should not work for them, but be a partner.

Just me (Sir to you)
Wednesday, January 29, 2003

On penny pinching: I once heard about a local small company that wouldn't pay for a new lithium battery for someone's motherboard. Every time the PC was restarted the guy using it had to reset the clock and reset the BIOS configuration. This edict came down from the owners of the company. No, these owners weren't blue collar nor idiots, they were engineers and it was an EE owned and run company making a geek B2B product.


A few small companies can be nice places to work. The rest can be completely hideous, soul twisting dumps with deeply ingrained creeds of working stupidly, wasting your time, worshipping local cargo cults, and working around moronic cheapness, all to appease the owners who want to see their people suffering and sweating bullets to earn a paycheck.

Curmudgeon2
Wednesday, January 29, 2003

Avoid small companies at all cost.
Just had a conversation with our office boss, one of the owners.
They didn`t need my ideas, they don`t trust me, they don`t trust my friends' company which I proposed to use as a partner due to a lack of skills in some areas in our company (these guys are experts in these areas).

Stick to your work and don`t think, just type -that`s all.
They`re bosses so they`ll think of a big picture, so screw your IQ 157 and look into the screen.

I`m going to leave this company soon...and find a big one, which isn`t managed by owners.

I worked for big companies and banks and altough you can`t much impact of your ideas, there were no such a totalitarism, I was always able to find someone to listen.

My $0.02

Slava
Friday, January 31, 2003

Can`t _see_ much impact, I meant.
I can`t even type correctly now:)

Slava
Friday, January 31, 2003

Oh, yes, I almost forgot to tell you about crappy hardware we have here. My PC at home is faster then servers here. They`re saving money, right?

Slava
Friday, January 31, 2003

Penny pinching and crappy servers, yeah, sounds familiar...this morning when I came in and DNS was down, we had that "Are any of the servers here not built by Dr. Frankenstein?" discussion.  (And of course the answer is "no.")

But it is a personality crapshoot, not all of it is bad.  Even my megalomaniacal boss/owner at an old job had his good points -- both of my raises were his idea and the stated reason was "because you told me I was wrong, and stuck to it, and I've realized how right you were."

Mikayla
Friday, January 31, 2003

*  Recent Topics

*  Fog Creek Home