Last night, I went and saw the movie 'Monster House'. It's yet another computer animated movie. There seem to be a lot of these coming out lately. Some good, some bad. In my opinion, most of them bad. Pixar is the rare exception. What did I think of this particular movie? It was OK. This movie tells the story of three kids who discover that the house across the street is haunted and has been eating people. I have to say that while this movie seems very much aimed at young kinds, it does have some scenes that could be quite scary to children. The house, when it really starts 'monster-ing out' is quite scary looking. Maybe that's why the characters in the movie all look very cartoon-ish - to contrast with the very scary looking house. It had a few funny moments, but all in all, I'd say this movie is more for kids than adults.
Well, it's official. As of yesterday afternoon, I am unemployed - at least until Monday when I start my new job. I promised that I would discuss my reasons for leaving. Here they are.
First, let me say the the decision to leave my old job was a very difficult one. While things weren't perfect there, it wasn't bad enough that I desperately had to leave. This is unlike the job I had before that. That time, it was easy to decide. I was miserable there, the boss was an asshole, and the pay sucked. At the job I just left, I can honestly say that's not the case. So why did I leave?
My decision to leave was not based on a couple of big problems, it was based on a lot of small problems that just piled up and made things unpleasant and uncertain there.
Did I have a bad boss? No. In fact I hardly saw my boss, and when I did, I got along well with him. He was a very smart guy who respected my abilities, and didn't talk down to me.
Was I working on uninteresting stuff? At first no. I got a chance to work on TCP/IP servers, XML, XPath, XQuery, and embedded databases, as well as various open source projects. It was fascinating stuff. I was greatly enjoying this project.
Were the pay and benefits bad? No. They pay was quite good and the benefits were good.
So, you may ask, if I was so happy with things, why did I leave? In short, it was a combination of too much bureaucracy and a developing sense of unease as to my future there.
Getting anything done in that company is a nightmare. I wrote about some of the process in a previous entry. It takes a minimum of a week or two to get even the most trivial of fixes out into production. Why? Because there are seemingly a million levels of approvals that you have to get every step of the way. You have to have a code review approval. You have to have a security review approval. You have to have business approval. You have to have DBA approval. You have to test it in development, QA, and Product Staging, along with approvals each step of the way. If even one approval is missing, the entire request is rejected and you have to start over. If one form is even slightly incorrect, the entire request is rejected and you have to start over. I've lost days due to forgetting to put a single 'X' on a form! This is absurd. I understand the need for security and all that, but it was getting ridiculous the number of levels of crap you had to go through to get anything done. I am a developer. It is my job to take a request for a program, make it work, and get it into the hands of the customer. When you spend weeks and weeks fighting procedures that seem to change on a nearly daily basis, it gets very difficult to do this. I essentially finished development on the project I was working on six months ago. The last six months of my life have been mostly involved in forms trying to gradually role this project out into production. Even now, 19 months after I started, code that I wrote over a year ago, is still not in production! This is ridiculous.
My project was sadly underfunded. I started working on this project in about January of 2005. I was doing back end server development on the project full time for an entire year before we were finally given enough money to bring on several full time developers to do the front end on this project! Essentially, the front end was a year behind! I was already a year ahead of the rest of my team. They've been playing catchup ever since. For most of the first year of this project, my team consisted of TWO people (not including the project mananger). Those two people were me and my QA tester. Considering the amount of work that needed to be done on this project, this meant that much less resources were devoted to this project than should have been. On top of that, we were operating on a limited budget. This budget was scheduled to run out at the end of August (this month!). That means that, finished or not, this project essentially gets abandoned until next year (January) when they can get a new budget and continue the project. This means that I'm staring down a big question mark. When the project budget runs out, what will I be doing between the end of August and January of next year? I am a C++ developer and I frankly didn't see much other C++ work around the company. It seemed to me that most of the rest of the work around there was programming in Visual Basic 6 (a very old, outdated, and unsupported programming language) or ColdFusion (an old web development system). I really had no interest at all in either of these technologies, and the thought of having to do these two things full time for at least five months didn't appeal to me. And that's not even to say that had I sweated out those five months of unpleasantness, that come January I would be restored to this project and restored to doing what I like and what I am good at. Could I have done the work? Of course, but it would have bored the crap out of me.
Another thing that really wore me down was when they moved me from the building I was in to the other building. In the first building, I had a desk, in a fairly quiet area, with a nice 18" LCD that was very comfortable to look at for long periods of time. Granted my desk was next to the department printer and in a relatively high traffic location, but it was still fairly quiet and I was able to concentrate on my work. My project was very complex and required a lot of concentration on my part to get it right. Now, I *like* that it was an intense project. It kept my interest and I enjoyed the challenge. This all changed when I got moved to the other building. When the move happened, we were told to move our computer, but leave our monitors at our old desks. I had found out where I was moving to in the new building and had gone over to investigate. It turns out that my new location was not only going to be in a smaller desk, with no desk space and no bookshelves for books, but I would be losing my nice LCD monitor in favor of a serious piece of crap CRT monitor. On top of that, this room I was getting moved to was also housing the customer service department. This means I had to sit in a room with several dozen other people who's jobs it was to answer phone calls from customers and help them with problems. This means that I would hear constant talking coming from all around me. This constant noise would destroy any hope I had of concentrating on my work. You do not put programmers working on complex apps in a large, noisy room. That's just asking for bugs. And now that I am facing losing my good monitor in favor of a blurry, bulky monitor that takes up half of my desk, by itself, you can see how unhappy I was. I even went as far as asking my manager if I could keep my LCD when I moved over there. He agreed to let me put my LCD in his office before everything got moved. That way, when all his stuff got moved to his new office in the other building, I could just go over and reclaim my monitor from his desk and put it on my new desk. I did this. For the next week, I was the only person in that entire large room who had an LCD monitor... That was until Friday of that week, when I came in to discover that my LCD monitor had 'mysteriously' mutated into a CRT monitor. No explanation. No email asking me why I had an LCD. No email asking me if I had *permission* to have an LCD. Someone just decided to replace it, without any explanation or investigation. This was the straw the broke the camel's back. The day my monitor get taken from me, I decided it was time to leave. It turns out that this move to the large room was the catalyst that caused myself and others to leave the company. It was *that* bad of a move.
The incident with my LCD monitor also brings up another issue I had with this company. The equipment they gave developers to use was pathetic. It's bad enough that we are subjected to CRTs when decent LCDs are so cheap these days. But on top of that, many developers that I talked with had computers that had to be a good 5 years old and sadly out of date! You do not give a developer a 900Mhz Pentium 3 with an 8GB hard drive! Most computers didn't even have a DVD-ROM drive! How are you supposed to install development tools off a CD-ROM drive these days? It doesn't happen. How are you supposed to survive on an 8GB hard drive when Windows itself takes up about 1-2GB minimum, the developemnt tools take up another couple GB of space, and the development documentation takes up another couple of GB. You are left with struggling to work with maybe 1-2GB of HD space free on your hard drive. Combine this with a very slow processor and a lousy monitor, and it makes development work downright miserable. Developers deserve top of the line computers with a large LCD monitor and a large hard drive in order to be able to do their jobs efficiently. Some people may think that I am making a big stink over something as 'trivial' as the PC you use to do your job, but I don't see it that way. A developer's job is to write software. That PC is the tool he uses to do his job. Without adequate tools you can't do your job. I do not understand the logic behind paying a developer >$50K per year, but not wanting to spend $1000-$2000 on a decent computer so he can do his job! You are wasting much more than $1000-$2000 a year in lost productivity by giving a high paid developer a piece of crap computer.
So there you have it. It wasn't money or the lack thereof that drove me away. It was the work environment and the crappy equipment that did it. Hopefully certain people will read this blog and pass it around the company so they can understand better why the company is falling apart and why they are losing as many good people as they are.
Running a public web site is an interesting experience, even a small site such as mine. You learn a lot about how the Internet works (and doesn't work). One of the big things you learn, if you are smart, is how to do search engine optimization. Search engine optimization is the process of arranging your site so that it shows up properly in search engines, such as Google, Yahoo, and MSN Search.
My blogging software is a package called b2evolution. It is an open source blogging package that I installed on my web site myself. (You gotta love open source!) One of the things it provides is a quite nice administration site. This site allows you to do such things as enter new blog articles, remove spam on the site and view logs of all the hits on your site. It also shows you statistics on what search queries are directing people to your site.
These search query statistics are an education in itself. It's fascinating to see what search queries people are looking for and how often they end up at my site. I've noticed that a couple of my most popular articles were my review of the Spiderman 3 trailer and my review of Arch Linux. Both of those get hit a lot. I can see why.
My review of the Spiderman 3 trailer contains a lot of information and photos about the movie. I describe in great detail what the preview shows in only brief fraction of a second scenes. It lists my complete guess as to the plot of the movie, nearly a year before the movie is released. It's quite a spoiler for those people out there who are not familiar with the comic books and the backstory hinted at strongly in the movie. That was probably the longest and most involved article I've ever written. Between extracting photos from the trailer and writing up the blog, I spent several hours on it. I feel it was worth it though if someone gained some useful knowledge from it.
As for the Arch Linux review, I'm a bit surprised at the popularity of it. I'd always considered Arch Linux to be a relatively little kown version of Linux, compared to the major versions - Red Hat and Suse. I'm pleased to see that my little review is useful to people.
Another interesting thing I've noticed is that search engines (Google, Yahoo, MSN Search etc.) are indexing pages on my site that I don't think are very important. These pages that they index artificially high, in my opinion are the monthly blog views. These monthly views only show the last 5 blogs I wrote that month. That list can change on a daily basis. That means that it's very likely someone will end up at my site looking for an article that's not even listed on that monthly view anymore! That makes that monthly view link pretty useless in my opinion. The useful stuff on my site is the blog articles I write. Those should be indexed higher than the monthly list. In fact I would even say the blog articles should be the only thing indexed on the site. The rest is not important. There are techniques for doing this, but I have not done much work on it yet. Luckily b2evolution is open source so I can easily go in and modify the site to meet my needs with regards to this search engine optimization. I need to do this sometime soon. For a website to succeed, it is critical that it be properly optimized for search engines to find you.
"People should not be afraid of the government.
The government should be afraid of the people."
That is the tagline of the movie 'V for Vendetta' and an appropriate one it is too, especially in this day and age.
The movie tells the story of a terrorist named 'V' who sets out to topple an oppressive government. This oppressive government, in this movie is the government of England. However, some of the things it shows this government doing bring to mind such stories as '1984' and even many of the events of today. In this movie, we see the persecution of homosexuals, we see the banning of many books and artwork. We see the controlling of the media. We see the government staging tragedies to affect change of opinion. We see totalitarian governments use this manipulation to take over.
These scenes very much bring to mind some of the things we are seeing today, though to a much lesser degree. We see the Bush Administration campaigning against gay marriage, we see books and artwork being banned in our schools. We hear conspiracy theories that the government staged 9/11. All these things we encounter in the world today are amplified in this story. This story is scary in a sense because it takes what we already see today and simply amplifies it to a very possible future. That happens in this movie could very well happen today. In fact, in some countries, such as Iran, North Korea and China, we already see these things.
This movie, like few others before it has the ability to really make you think about the world we live in and where it is going. These are the kind of movies I like. It doesn't have to have a lot of brainless action to interest me. Movies like this, and Gattaca (a movie about 'perfect people') really make you think about what the future may hold.
Way back when Hurricane Wilma hit, I ended up losing a palm tree in front of the house. The hurricane knocked it completely over. The lawn crews came out pretty quick and chopped it up and hauled it off. It was several more weeks before they came and cleaned out the stump. All that was left was a hole where the stump used to be. This big hole has been sitting there in front of my house ever since. Today I finally got around to fixing that.
Today, after several hours of work and eighteen 40 pound bags of dirt, the hole is filled in with dirt. It looks much better now. I also ripped out the rotting old wooden fence around the A/C unit. The thing was falling apart and it was time to get rid of that too. Of course now I need to figure out what I can put up as a replacement for that A/C fence.
Ripping out that fence left me with a bunch of large wooden posts that I had to toss. Of course since the massive recycle bin is already full, I really can't toss this stuff. It really sucks that my lazy garbage people won't take the garbage unless it is in that bin. It kinda makes it hard to clean out my garage. I have a lot of junk in there that I need to toss.Not that anyone cares... :)
I've been spending a lot on doing 'upgrades' lately. I spent a large chunk of money on a pair of new stereo speakers and a subwoofer for my home theater system. I also spend a large chunk of cash on an upgrade to my computer. Did I really need these upgrades? No, but I wanted them and thanks to the stock options at work, I had the money for them. There is one more upgrade that I spent most of this afternoon investigating: Upgrades to my house itself.
Am I buying a new house? No. I'm quite happy with my house. I bought it five years ago before housing prices got too insane. At the time I thought I paid a lot for it. Turns out I got a good deal considering how expensive houses are these days. So what am I doing? Cabling, and lots of it.
For five years now, ever since the day I moved into this place I've been badly in need of some cabling work. I have had stereo cabled stretched across the middle of the living room running to the rear channel speakers on my surround sound. I've also had a jury-rigged phone line running completely around my kitchen leading to the TIVO in the living room. The Tivo needs a phone line in order to call out nightly for it's program listing updates and software updates. It's basically a computer that dials out over a modem. Combined that with my desire to wire the house for gigabit ethernet, plus putting DirectTV drops in my other two bedrooms and it leads up to a lot of wiring. (At last count, about SIXTEEN plugs need to be installed).
I had never actually done anything on this cabling issue for years for two main reasons: 1) I'm lazy. Enough said. 2) I never knew who could do this for me. I'm sure as hell not going to go climbing around in a hot attic and do it myself (see #1 above). What changed? I discovered a website called ServiceMagic.com that gives you a way to request contractor work to be done on your house. I noticed that they listed networking installations on there so I put in a request for a quote. The network installation then snowballed into trying to fix all the wiring problems at once. This was a couple weeks ago. They sent me the names and contact information of three different contractors. It took me this long to schedule an appointment to have them come out and discuss what I wanted done. (see #1 again...) Finally, I managed to schedule two out of the three to come by today and discuss the wiring job.
The first one to come out was a single person. He was a young guy, who looked to be about college age. He came in, I explained what I wanted and he left. He was in and out in about 10-20 minutes. I was surprised on how fast that went. He's supposed to be contacting me with an estimate. I'm not entirely sure about this guy. He struck me as fairly amateur at this. He'd probably end up being cheaper, but I'm not sure he's the right one to go with.
The second one to come out was two guys - the boss and the installer. Again I took them through the house and explained everything. They then told me they were going to go out to the car and work out an estimate of the work. They went out to their car and were there for a good 20 minutes discussing it. When they finally came back in, they gave me a rough estimate. VERY expensive. Of course some of the numbers were just guesses because they didn't have the prices of some of the equipment I needed. Also, since much of the stuff was pretty standard (a gigabit switch, ethernet cable, wall sockets etc.) I could buy much of this stuff myself (and I already had a bunch of it). So, they too said they would email me a final estimate and they left. These guys were here for a good hour to an hour and a half. While it looks like they are going to be a lot more expensive, I got the impression, they knew what they were doing much more than the first guy.
I'm still waiting for estimates, so I don't know what this is going to cost or even if I'll finally go through with it, but it's a start.
Now I just need to take care of the landscaping, the remodeling of the bathrooms, the repainting of the master bedroom...It's always something when you are a homeowner!
Ok, last night I got the new dual core Athlon up and running. It is working quite well. It is FAST. I'm having a few minor problems with it that I need to work out, but all in all, it works very well. I'm quite happy.
In about a week and a half, I start my new job. Last week, I emailed my future boss and asked him what the specs were on the PC that I would be using in the new job. Why was I obsessing about something as minor as the PC I would be using? Because as a developer, that is the tool I use to do my job! If the tools I use to do my job are not up to the task, then I cannot do my job. In addition, I was concerned because of general health concerns. Regular keyboards tend to cause Carpel Tunnel Syndrome and many mice can cause a bad case of 'mouse shoulder'. Obviously I want to have a PC that will allow me to do my job well and not injure my health in the process.
He sent me the specs on the PC. After reviewing these specs, I decided that they were not adequate to do my job quickly and safely to my health. I sent him a list of what I felt I needed in a PC and asked if it would be possible to get a PC with these specs. I also justified every one of the upgraded specs that I asked for. To my surprise, he readily agreed to buy me the exact computer specs I was asking for. Today he sent me the final specs on the PC that he ordered for me, and I am quite happy with the looks of this PC he ordered for me. It looks to be darn near a top of the line PC.
In my current job, my PC is decent, but my monitor is not. For almost 1 1/2 years at my current job, I had a nice 19" LCD monitor. This is a great monitor, especially for someone with bad eyesight, as I have. LCD monitors do not have the refresh problems that CRTs have. This makes them much easier on the eyes, especially when you are staring at it for 8 hours at a time. I was quite happy with my work PC. That changed about two months ago. Two months ago, I got moved from one building to another. When they announced this move, they told us to pack up our PCs but leave our monitors where they were. I had gone by the other building to check out where I was being moved to. All I saw was a sea of tiny desks in a giant room. Each desk had an ancient, piece of junk CRT monitor sitting on it. This means that once I got moved there, I would lose the good monitor in favor of a piece of junk monitor that would not be good for my help. I was not happy with this. I talked to my boss about this and asked if I could move my LCD with me. Since technically we weren't supposed to, he suggested that I just put the LCD in his office and it would get moved with his stuff. Then, once his stuff got moved, I'd just take the LCD back and put it on my desk.
I did this. I was all happy to have my LCD monitor. It made the unpleasant work environment I was in a bit more tolerable. I was the only person in the room who had an LCD. Yes, technically I was dodging the rules by sneaking the monitor over, but I felt it was justified, for health reasons. That LCD sat there on my desk for the rest of the week. On Friday morning, I came in to find that my LCD had dissapeared and a CRT had been placed there instead. No explanation, no questioning why I had an LCD and noone else did. Nothing. My monitor just mysteriously changed. Apparently the finally noticed that I had the 'wrong' monitor, so they replaced it. I was furious. It's bad enough that I have to be placed in a noisy room, with no privacy, and no desk space. To top it all off, the one thing that made this place almost bearable - my LCD, was now taken from me. I asked for an LCD to replace the CRT they placed on my desk, because it was causing eye strain. (which it was). I was basically told, in no uncertain terms that I would not be getting an LCD. This incident alone is what finally pushed me over the edge and made me decide it was time to go. When a company won't even provide reasonable materials to their employees to do their job, it's time to move on.
This problem at work is the complete opposite of what I found with the new job. Not only did they provide the LCD I asked for, but they also bought a PC to the exact specs I requested. I cannot express enough how happy this made me. The fact that a boss considers your needs and is able to provide them without complaint is a very good first sign for this job. This was one of the biggest factors that lead me to accept this job. Let's see how this new job goes...
Ok, I broke down and did it! Yesterday I ordered the upgrades to my PC. Even though the new AMD prices weren't supposed to be announced until today, Mwave updated their prices over the weekend, so I jumped. Here's what I bought:
- AMD Athlon X2 4600+ AM2 Processor
- MSI K9N Platinum motherboard
- 2GB DDR2 RAM
- 320GB SATA 3.0GB HD (Seagate Barracuda)
- 3D Fuzion 3DFR76256GSE Geforce 7600GS video card
It will probably take a week or so for me to get all this stuff, so I gotta wait a bit before I can play with my new toys. Hopefully I won't have as many problems with this setup as I did with the last one...
Today I put in my two weeks notice at my job. I am leaving to go to a job at another company. Why? That's a subject for another blog.
When I put in my notice, some people were suprised, but not nearly as many as I expected. At the same time that everyone was finding out that I was leaving, I was finding out that a lot of other people were either already leaving, or were planning on leaving. You never hear these things in normal day to day conversations at work. Why? I think it's fear.
Noone wants to ever admit that they are not happy at their job, especially not to their boss. Why would you ever go to the boss and complain about something you don't like and take the risk of getting fired because of your complaint. This leads to a lot of fear among employees. Noone wants to say anything bad or do anything that would cause them to risk losing their jobs. Everyone has bills to pay. You just can't afford to risk losing that salary.
This fear of complaining can lead to an unfortunate problem for managers - they never know when something is bothering their employees! If the manager doesn't know there is a problem, how is he going to fix it? I honestly think most managers are decent enough people that they wouldn't fire you if you went to them with a legitimate complaint. Of course, noone (myself included) wants to take the risk of finding that one manager that does mind when you complain.
Today has been an amazing education for me. I knew I wasn't particularly happy with my job. I just didn't realize how many others also weren't happy with their jobs. Many times someone would say to me "Oh, you are leaving the company? Take me with you!" or "Oh, you are leaving the company? Is your new company hiring?" Clear signs that they want to get out too.
I really hate changing jobs. It's always a risk to give up the job you are at. It's a place you've been at for a while and you are comfortable there. You know everyone, you know your job and generally, it's 'safe'. Taking a job is a risk because you are always diving into an unknown situation. Will you get along with the people at your new job? Will you be able to do the work required of you at the new job? Is going to this new company the right decision? Am I making a mistake leaving this 'good thing' I have now?
You have to weigh the pros and cons of leaving or staying and decide what's best for you. I do feel a certain amount of loyalty to my boss at my current job. He's always been good to me and treated me well. I really have no complaints about him. I felt bad leaving him. I was very surprised to learn that he wasn't really surprised by my resignation. He's a very smart guy and I'm sure he's noticed that things have not been going well and that I've been very frustrated. He has been too. He even commented that he had considered leaving himself. His problem is that he is one of the original founders of the company, so he literally is the company. Plus, I'm sure he's getting paid A LOT of money to stay. He offered to try to get me a counteroffer. I told him I would consider it. It would take A LOT to convince me to stay though.