This Blog Has Moved!

My blog has moved. Check out my new blog at

Your Ad Here

Friday, October 2, 2009

Unemployed Again

I was fired from my wage slave job today. I thought I was doing well! They didn't give me any warnings or anything, just "Don't let the door hit you on the way out."

The overly-nitpicky code review might have been a tipoff. It seemed my boss was looking overly-too-hard for things I was doing wrong. Some of his suggestions would have broken the program if implemented. Some of them were outright stupid, like renaming variables. Some of them were somewhat useful, like using class variables instead of function local variables, to avoid allocating/deallocating memory. However, memory was not a factor, and stack allocation is just as efficient as using class variables.

Even though a performance review seems objective, it's really completely subjective. If you focus on the good things the reviewee does, you can make them seem good. If you focus on the bad things the reviewee does, you can make them seem bad. If you're actually doing things, you'll have some good stuff and some mistakes. If you emphasize the small typos, then you can make someone seem unqualified. For example, if I mislabel a variable in my output and it's caught in QA testing, then the reaction is "OMFG!! FSK sucks!!"

All my code ran, and they're actually using it on the site. There were no complaints. They waited until I finished my project to fire me!

As far as I can tell, the reason I was fired was either:

  • They wanted to hire someone else, and had to get rid of me to make a slot. My bosses wanted to hire one of their friends from Microsoft, but he was an unqualified loser. I had the opportunity to interview him, and I was the only person who voted "no hire". I felt I had an obligation to give honest feedback, but they interpreted it as "FSK did a lousy interview." Was it a mistake to vote "no hire" when everyone else voted "hire"?
  • My problem is not "FSK did a lousy job." My real problem is "FSK did too good a job and they were threatened by me." I probably was more qualified to manage the software group than the people actually doing it, but I didn't say that and tried to be polite. I didn't talk about technical issues with anyone other than them, so they shouldn't have felt threatened.
There definitely were some sketchy issues in their subversion history. The two people who wrote most of the site's code no longer worked there. That's a bad sign.

Their business model didn't make much sense. I suspect they're on the failure path, but I gave them the benefit of the doubt while working there. Maybe I should send my resume to their VCs!

The annoying bit was telling my parents. They got upset. It was educational, because I can see their unknowing attempts to pro-State brainwash me know. It didn't bother me as much as I expected, but it was annoying.

It's annoying that my parents' default assumption is "FSK did something wrong and deserved to get fired!" rather than "FSK was unfairly fired!" I can't get them to consider the possibility that I was unfairly fired. The net effect is that they're brainwashing me to be a good slave ("It's always my fault!") rather than independent ("They were scum!").

The only way out of the wage slave track is to start my own business. I'll experiment. I'm only making a few dollars a month from my blog. I might try "promote agorism via standup comedy". I might buy some hosting and expand to other things. For now, "get another wage slave job" seems like the best option.

At least I get to spend more time on blogging! I have to catch up on answering reader comments. The bad news is that I'm stuck at home with my parents all day. Hopefully, I'll get some interviews. I'll look into other things, but I'm probably stuck in the wage slave track for now.

If you live in NYC and want to hire a software engineer, I'm available! On the other hand, you might say "FSK is a pathetic loser. I don't want to hire him."


Anonymous said...

Did you ask them why they fired you?

Anonymous said...

I've worked as a software developer for some time and I now run my own small business. I've done reasonably well. I've not made a fortune, but a large number of well known companies use my software.

Software jobs are not really stable. In the past, I suspect I've been fired to make way for friends of managers. In one job I wrote 50% of the code for a project that at the time brought in the most money, but was fired when a manager wanted to hire a friend.

That is the trouble with software. Once a project is reasonably stable, you can be fired and they can't get a friend in to do the less difficult type work.

Companies are different nowadays. There is no loyalty.

And managers don't like people they suspect are cleverer them they are.

Lots of software developers seem to switch jobs every 1 - 2.5 years. It shouldn't be this way, but it is.

Anonymous said...

>like using class variables instead >of function local variables,

Did anyone do timings? I mean did anyone compare two programs doing a real-world task?

Local variables are on the stack. Anyway just how many local variables does a function contain on average?

Functions shouldn't be too long and so I guess on average they might contain about 5.

That isn't a lot.

Isn't it more likely most of the time is spent getting data from the database, reading/writing to the local filespace, inter-process communication....

I will say it again, has anyone done timings to back up saying that in reality a few more class variables will much a program faster in reality?

What are you doing?

A 3d graphics engine? Maybe such optimisations will be good for this.

If it is a business program then the manager could be an idiot.

Anonymous said...

I thought there was a school of thought that you should define variables with the narrowest possible scope i.e. local variables rather than member variables.

Only use a class member variable if the variable truly needs to persist between method calls. Otherwise your class definition will not make semantic sense.

Some people say compilers will more likely put narrow scope, local variables into registers, where their access is faster. So this idiot is recommending you potentially slow you code down!

However compilers get more advanced all the time and you can't really say such things unless you are up on compiler technology for the particular compiler you use. And this does sound like a waste of time unless you are doing something very time critical.

So basically you can be criticized for not using the narrowest scope, local variables AND you can be criticized for not using class member variables.

Basically your ex-manager sounds like a "language lawyer", over-optimizing, non-thinking, brainless idiot that can't think for himself.

This guy probably made up this rule on the spot or was told it by someone else and doesn't have the brainpower to work out what is and isn't appropriate for the circumstances.

theftthroughinflation said...

Sorry to hear the news; slaves are often disposable these days! I have seen people be fired at the bank who were the best brokers we had but they were singled out and fired. There are plenty of brokers and staff who are utterly incompetent and make errors all the time. The people who were fired were generally independant thinkers and those who are stupid are good slaves...go figure. On the other hand my attitude is very openly critical but I havint been targeted...yet.
Good luck on finding new work!

fritz said...

Too bad Bro...

Why dont you just master mind and net work and begin your own business from home and on the side. After watching your progress I think you should consider this option.

Maybe your qualities are better suited as a project director instead or trigger puller. Put a lot of irons in the fire and see what comes out.

Best of luck to you. I want to see you at the comedy stop!!


George Donnelly said...

You know how it works. The producers can not be tolerated by the parasites or it will become too obvious that the parasites are parasites! I ran into this a lot when I was younger and could not figured it out. In response, I redoubled my efforts and freaked out the parasites even more!

In the end, producers end up working for themselves or at least in a position where they have lots of independence.

Start a business, even something small. It takes a few years in my experience (and others) to get a business administered in such a way as to maximize profit, so start now.

Good luck.

Robin Smith said...

I reckon the reason they fired you was:

"The wanted to take the credit for your, and the previous fireees work"

Plus pieces of the other 2 points. The people that present the most truth are the ones to go first.

This happens to others too. When people ask them why they sued their company for unfair dismissal, they usualy say

"because I was trying to make the company more profit"

Which is true. Thier boss hated them for it. Their colleagues also hated them for not supporting their incompetence and sycophancy to the boss. We can see how winning "friends" keeps one in wage slavery.

You would do far better as an independent employee. It is the only free pathway

Anonymous said...

>"The wanted to take the credit for
>your, and the previous fireees work"

Strange you should mention that because a friend of mine mentioned that exact same reason when he was thinking of reasons why some people got fired in the companies he worked for.

It is not enough to be the company owner and make money, but the company owner should be viewed as the clever one!

It is nasty stuff.

Anonymous said...

Just a thought, but could they have fired you because they found out about your blog and didn't like your views or didn't want the risk of having your views associated with their company?

Could they have sniffed network packets? Did you write to your blog at work?

An acquaintance of mine took his own computer to work so he could communicate privately without any risk of interception. Obviously he had his own office.

Anonymous said...

Elsewhere you added more information and said that you were fired because "you can't handle large projects".

Your clown boss probably picked this reason because it is vague and is difficult to disprove.

They can define all your previous projects as small or medium. Maybe it was a medium sized project compared to a 3 year project done by 30 people!

And if you asked them to be given a larger project, they would say you hadn't proved yourself on smaller projects first!

At for a time a reason for denying people raises or promotions or firing people was that "you didn't show leadership". The managers actually gave the exact same reason to different people! Again the reason was chosen because it is difficult to disprove such as statement. It is so vague and can mean pretty much anything.

A friend of mine says it is easy for a manager to have great leadership skills, because if someone doesn't obey him, he/she can get fired. So people obey managers due to hire/fire power. However if you are a software developer, you have no power to make someone do your bidding (maybe you need some of their work for your deadline). As such you have lesser leadership skills.

What I am trying to say is that managers and directors don't really have great leadership skills - they have hire/fire power.

Anonymous said...

Software developers (and maybe office workers in general) really need unions to protect them.

In fact it need not be considered a bad thing for employees. Unions could make work more efficient by properly distributing work instead of the situation where some managers pile on the work on certain people.

Plus anyone that has worked in a large company knows, that when there are mass firings good and bad workers are equally targeted. Maybe unions could ensure that merit is the only criteria considered when managers decide who to fire people.

This Blog Has Moved!

My blog has moved. Check out my new blog at