The Lone Coder Reflections for the Unsung Linux Saviours
by Ken O. Burtch
Losing Control of Your Linux Startup
Some programming languages manage to absorb change, but withstand progress. -- Epigrams in Programming, ACM SIGPLAN Sept. 1982
Corollary: This also applies to People as well as Python, Perl and PHP. -- Ken B., Dec 2005
In "The Need for Speed", I discussed what PostgreSQL developer Chris
Browne calls "false economies". This refers to doing things to improve
performance such as (1) improving speed when the computer is too fast
already, (2) removing "slow" safety features causing increased
development and maintenance costs, or (3) optimizing in the planning
stage before you know where the final bottlenecks will be and before you
know what features can be safely removed from the project. My example
was a developer running a Linux startup who was concerned about web site
performance.
I spoke with him again a few weeks ago. I'll call him "Bill" although
that's not his name. Honest, hard-working, ambitious but also
inexperienced, undisciplined and insecure. The kind of guy who buys a
fast car on credit and talks too fast because he's afraid of what you
will say. The kind of guy trying to prove something to himself today but
doesn't care where he will be tomorrow. His need for speed went way
beyond web sites.
Bill: I have to fire a guy but I don't want to.
Ken: What happened?
Bill: Well, running a Linux startup means sacrifices. Our "office" is a
run-down building in a bad part of town. Our "server" is a 6-year-old
computer with a fan duct-taped into the case. The programmers work long
hours for low pay. Even when I'm managing the guys back at the office,
I'm multitasking on the phone trying to get new business. I'm generous
with the guys: I don't have any policies or rules because I don't want
to be a tyrant. When someone complained about the lack of air
conditioning, I had to fire him for reducing morale and not respecting
the sacrifices I've made to make this company work.
Yesterday I walked into the office and there was a major fight. A guy
had accidentally saved his unfinished work and broke everyone's code.
Some were saying that he was a bad developer. Some were saying that he
was putting them behind schedule. Some were saying that it shouldn't
take so long to fix. The guy, humiliated and frustrated, packed up his
laptop and took off at lunch-time. He worked at home for a while, making
the repairs. He was back later in the afternoon to make sure everything
was up and running.
Ken: And what kind of guy is he?
Bill: Punctual. Honest. Helpful. Good for morale. Goes beyond what I ask
him to do. Finds work to do when I'm busy. He's drumming up new business
after hours to help keep the company afloat. In fact, he hasn't even
mentioned the incident since it happened.
Ken: So why do you want to fire him?
Bill: He doesn't respect me.
Ken: Respect and 25 cents will buy you a 25 cent donut.
Bill: Respect is very important to me. I have a very firm idea of
respect...though I'm not sure I can describe it.
I want to create the kind of company that I would be happy to work for.
Not those big corporations where programmers get no recognition or
respect. People need to respect each other. This guy had just walked out
of the office! And he had the nerve to walk back into the office! All
without my permission! My friends say I should fire him. A good manager
cleans out the troublemakers and doesn't waste a lot of time doing it.
Ken (scratching his beard): That sounds noble and reasonable, but it's a
person's actions, not his words, that tell what kind of person he is. If
you want to create "the perfect company" for a developer to work for,
why is it that in your company (1) working conditions are bad; (2) pay
is low; (3) hours are long; (4) good work is not rewarded; (5) goals are
uncertain; (6) punishment is unexpected and random; (7) the only
punishment is to have one's career destroyed by a dismissal; (8) And
everyone, sooner or later, gets dismissed. Tell me, is this your idea of
a place you'd want to work at?
Bill: The way I see it, I'm finally getting the respect I deserve. But
look what this guy did. What if someone asked me where one of my
employees was and I didn't know? I'd lose respect. By firing
troublemakers, I'll be respected by the employees and they will do what
I say...out of fear.
Ken: I think you and I use the word "respect" to mean different things.
What should that guy have done?
Bill: He should have maintained his productivity, without hurt feelings.
He should have been mature so I wouldn't have to deal with it.
Ken: ...mature like a robot? The Bible has this thing called "The Golden
Rule": do unto others as you would have done unto yourself.
Bill: A good manager fires people. I don't have time to waste...I've got
a company to run and anyone who doesn't fit in has got to go.
Ken: A good manager is a servant to his team because it's the team that
will see him through to his goals. Look, I've got a feeling that I know
what the problem is. Tell me, what are your plans for your startup?
Bill: I'm going to make the perfect company for me to work for. And I'm
going to be rich in 5 years.
Ken: Those are goals, not plans. Plans are the steps you need in order
to make it to your goals. What steps are you taking to make it to your
goals?
Bill: I don't have time to plan. I'm looking for new clients.
Ken: And your employees? Do they ever work from home? Do they have any
privacy? How do you help them cope with stress?
Bill: They work in a small room next to my office so I know where they
are and I can overhear what they say.
Ken: Bill, your problem has nothing to do with lack of respect or
punishing bad behaviour. It's personal. You're upset because you're
afraid. Your employee inadvertently exposed that you are not in control.
And you think by firing this guy you will get control back in the eyes
of your staff.
-- ++ --
Stress (a fancy word for "fear") is a defense mechanism used when people
feel vulnerable, and people feel vulnerable in a startup company. Some
people deal with stress by trying to maintain the illusion of control.
If you are overseeing everything, then you cannot be hurt by unexpected
events. If you are "in control", then it must be someone else's problem
when things go wrong...something outside of your control. For this
reason, obsession with control leads to fear, distrust and illogical
behaviour.
The fact is that people have little control over what is outside of
themselves. A person running a Linux startup no more controls the
startup than someone pushing against the Leaning Tower of Pisa keeps the
tower from falling. The only Linux startup that has a founder in total
control is a company of one employee (or with a staff of robots).
The good news is that employees don't expect the founder of a startup to
be in total control. The employees know that they are all contributing
to the creation of a successful company, unlike working at a large
company where a person is a nameless number. The founder is there to set
the atmosphere and keep the team working smoothly until the company
becomes financially stable.
The main resource that someone can control is themselves. The employee
that walked out of the office dealt with the stress: he blew of steam,
worked from home when he couldn't face his coworkers, and returned to
the office to do his work. Although he may have overreacted under the
stress--I don't know what additional stress was caused by his home life
--he dealt with his emotions and focused on keeping the team productive
in a stressful work environment.
Bill, in contrast, had no discipline over himself, his emotions or his
decisions. His obsession with maintaining total control caused his goals
to suffer. I'm sure he was sincere about making a wealthy and happy
company. But he had cut-off good workers, severed lines on new business
and spread distrust and fear amongst his developers. A not-so-benevolent
dictator--he was too busy to exercise self-discipline, trust and
listening skills. The company was hostile and unstable, dying from the
inside out.
To run a successful Linux startup you need to be real about yourself.
The founder is a part of the team. If you want respect, earn it: don't
demand it. And don't redouble your efforts while losing sight of your
goals or you may create the very kind of company that you don't want. To
demand control can leave your startup out of control.
As for Bill, I asked him how he was managing his finances, family and
finding new contracts. How had he and his team pulled together to make
his business work?
Bill: Everything's falling apart, but I don't need any help. I know I'm
responsible for everything and I will get it all under control.
January - Prioritizing Solutions on Difficult Projects
« Truth Humility Communication Nobility Freedom Purity
Excellence Right Support Courage Compassion Quality Honesty Trust
Cooperation Challenge Education »
PegaSoft Canada - A Linux Association Since 1994