Re: Mission Statement for a New Company based on Voluntarism-taken-to-Extreme
Shlomi Fish <shlomif-ik1l9ssToec+JF/[email protected]>
| Newsgroups | gmane.culture.hackers.israel |
|---|---|
| Message-ID | <[email protected]> |
Hi Nir!
No longer CCing Perl-IL where it isn't tolerated very much. I believe
discussions about the startup idea are, but not such "Why I got fired" ones.
On Tuesday 03 April 2007, Nir Simionovich wrote:
> Hi Shlomi,
>
> I'm really sorry you got fired, it was kind'a nice seeing at the Black
> Steer from time to time.
>
> But, I couldn't help but read something you wrote on your blog: "My main
> problem (and the reason I got fired) was that they were relatively clueless
> as far as software management was concerned". Please tell us that you don't
> really believe what you just said, as, I'm very sorry to say, that
> according to your motto, we should all stand up and leave our current work
> places.
>
> My advice to you is this: next time when you get into a new work place,
> try not to stick out like a soar thumb from day one. Blend in, let time
> take its course,
> Nir S
>
You're right, of course. However, this time I feel the problem was with them,
and let me explain.
My experience in this company has been very positive. They were very
professional: had a great technology, had professional, friendly, good and
productive people, the environment was nice, the location was OK, we got some
perks like a kitchen with many snacks, and lots of informal meetings to
celebrate birthdays, etc.
I blended in relatively well for over 2 months, in which I had no depression.
I expected my job to be a kernel hacker hacking on Linux/BSD/etc. kernel
code, but as it turned out most of what I did was getting things to compile
and work, especially on VMware ESX which gave us a lot of trouble. We sold
high-end equipment (10Gbps cards) and we practically dealt with every
customer specifically, which I suppose was the right thing to do in our
position.
However, from my knowledge and experience in software management, I detected a
few problems:
1. We didn't use the best tools and equipment money can buy. I had only one
VMware ESX computer, which had to be rebooted and re-installed often. At my
first day at work, I was given an old computer with a small hard-disk
(20-40GB) and a CD-ROM (Not DVD-ROM or CD-RW or DVD-RW - CD-ROM!) drive. At
one point we ran out of space on the only hard-disk of our development
machine, which was 40 GB and the only hard-disks the lab bought were a
whopping 80 GB disks.
While I believe in equipment re-use and re-cycling, I think developers who
don't want to be delayed by such problems, need a bit more than that.
2. I was sometimes "caught" playing Sokoban or PySol, and was notified to
stop. Now, they had a policy of allowing the workers to surf the Internet
indefinitely, but did not like them playing games. Now, I'm not a game
addict, and frankly I play games to put my mind back into focus, not to waste
time. (There's a limit to how much I can play puzzle games.)
I think they were worried that developers who play games made a bad
impression. But to quote Feynman "What do you care what other people think?".
Some people work. Some people pretend that they are working. These two are
orthogonal. Sometimes playing games is good for one's productivity. If you
have a good programmer who you know has an average ("DC") productivity, you'd
better leave him alone and let him be.
3. There are other things I detected which I won't detail here.
------------------
I didn't comment on any of these things. I didn't tell him how to do things
differently. While trying to be as "Rosh Gadol" as possible as far as the
technical side of my work was concerned (given the limitations of it being
completely new to me, and not fluent in it). However, I simply let them be as
far as managing the company was concerned. Perhaps sometimes I quotes a
software management guru for support to what I wanted to do, but not often.
Often, I just made sure I can work the way I like despite limitations.
I was productive and achieved a lot of things. My supervisor, my co-workers
and my boss were as a general rule happy with me. So why did I get fired? I
was assigned a task to write a disassembler of sorts to our own internal
processor. I first thought I can do it in Perl, but later was instructed to
do it in C, so it will be capable of being in the drivers. At first I wanted
to do it quick-and-dirty, but my supervisor then wanted me to do it using a
dispatch table.
All of this delayed me.
Once I started writing the code, I decided to use Perl to generate at least
some of it, make and the GNU tool chain to build it on my local machine,
Python and ctypes to test it (with some unit tests for the Perl code in
Perl), and Test::Run ( http://web-cpan.berlios.de/modules/Test-Run/ ) to run
the tests and summarise everything (in colour - ;-)). I know it sounds like
an insane configuration, but it worked pretty well.
Obviously writing C code, even by generating it using Perl takes some time. My
boss (who's a brilliant Electrical Engineer) expected me to finish it in a
day or two, but then I told him that there was no way I could do it. Perhaps
it was my problem that I didn't tell them that one mother cannot deliver a
baby in one month. Perhaps I should have been more "Rosh Gadol" and told him
that it will take some time. Perhaps I should have asked him how urgently
they needed it.
However, I believe this was a human mistake. It was not my first mistake
there, but possibly the biggest one. ( My father, who is a bio-technological
manager, once said 90% of his decisions were mistakes. ) However, I've always
done mistakes, and while trying to learn from the mistakes of mine and
others, will probably always do mistakes. Even the largest and most
successful companies have done many mistakes, and I don't claim to be
anywhere near a good or experienced a manager enough to run such one. If I'm
ever going to be.
Perhaps they noticed a general trend of me being not independent enough and
too dependent on my supervisor and other workers. (Or so I've interpreted
it.). That was true, but it was because I still had too little experience
with it, and had to pick the brain of someone with more. [1]
{{{{{{{{{{{{{{
[1] - The reason workplaces want experience is not because people with
experience write better code, but because they know how to deal with problems
easier. For example, once someone on Freenode's #perl asked us why he gets
a "syntax error at line X" when the line was fine. Without looking at the
code, I told him that he was missing a semi-colon on the previous (code)
line. This indeed turned out to be the case.
I learned it by experiencing with Perl a lot. On a different time someone
asked why her script won't run when the sha-bang (#!/usr/bin/perl) is fine. I
told her I believe the she had a trailing carriage-return (CR or \r or
whatever) at this line and should remove it. It also turned out to be the
case, as the file originated from Windows. This I learned from hanging on
#perl, helping many people.
}}}}}}}}}}}}}}}
As I could tell, my boss was a brilliant developer, but had too little wisdom
in managing people. Some people who become managers or team-leaders right
after university become very good managers, while other people with a lot of
experience in development and then management still suck at it. I'm not
saying the latter ones can't improve, but it takes some attitude and
determination to do so. (To quote Socrates - "I know that I do not know.").
I hope I didn't defame my workplace here. Like I said, they are a great place
to work, and they are good and friendly people and hopefully will improve.
For the record, I spoke perfectly honestly and sincerily here, although it's
just my side of the coin, and should be taken with a grain of salt. As you
can see, I didn't mention the company's name, and ask you to avoid mentioning
it here in semi-public.
Regards,
Shlomi Fish
---------------------------------------------------------------------
Shlomi Fish shlomif-ik1l9ssToec+JF/[email protected]
Homepage: http://www.shlomifish.org/
If it's not in my E-mail it doesn't happen. And if my E-mail is saying
one thing, and everything else says something else - E-mail will conquer.
-- An Israeli Linuxer
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/hackers-il/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/hackers-il/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[email protected]
mailto:[email protected]
<*> To unsubscribe from this group, send an email to:
[email protected]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/