Archive for December, 2007

Big Company vs Small Company

Thursday, December 27th, 2007

There are difference between big companies and small companies, I have noticed. I’ve noticed that a lot of new hires coming from big companies are more oriented towards getting something done, versus getting something done right, and when they make mistakes, they brush it off as if it’s not significant or deny responsibility. I don’t particularly like it, but I think there is reasonable explanation for this.

In a big corporation, there is a lot of resources, but few positions, and mistakes can mean that your chances of getting those positions just went down the drain, or possibly you being fired for your incompetence. Therefore, people who’ve worked for big corporations, being so used to that type of environment, instead of owning up to the mistake, they rather make up excuses or deny responsibility.

In a small corporation, talent is hired for cheap, and expectations aren’t too high, so even if you made mistake, it’s okay, since it’s within their range of expectations.

This can be a problem for a person coming in from a big company to a small company, especially if they are coming into a management position or thinking about moving into a management position. A good leader feels responsible for all the incompetence of his followers and when problems occur he doesn’t blame anyone but himself. A bad leader, on the other hand,  might simply pick one of his followers out and make him the scapegoat. A good leader will look to himself to solutions to problems, a bad one might blame his subordinate for them.

The reason why I would bring this up is due to the fact that a co-worker of mine brought it up, and I thought it was interesting, and scary. I never realized how important a good leader is to me, and how they can make or break a company. I know that if I feel useful and appreciated, I’m more prone to do my work well, and go above and beyond all expectations. The worker’s productivity and morale was high with a good leader, but when they had a bad leader that got angry at them over everything, the worker’s productivity simply went down the drain. They no longer felt appreciated, a sense of purpose, or ethusiastic about tasks before them.

A personal note I’m going to make for myself is to plan for the mistakes of my subordinates. When they make them, I won’t scold them, I’ll simply show them the correct way of doing it, and ask that they be more careful next time. I’ll probably going to take the extra step of letting them know that while it’s good to get things done fast and right, it’s much more important they you get it done right than fast. I’d rather have stable code that will last me years than unstable code that will require much more time investment.

PHP Image Library

Thursday, December 20th, 2007

I had to write some code to generate graphs today and I must say that the image library is awesome! It reminds me of the swing class of Java, but I think it’s awfully neat to have a way to programmatically generate images. Although, I think PHP graphics are great for more “static” like pages, but wouldn’t be sufficient enough for webpages that need to see more “dynamic”. Eventually, all graphs will probably have to be done in AJAX, but for now, I can skim by creating simple graphs using the PHP image library. Maybe I’ll have display my email in the form of a picture instead of text, the possibilities are endless.

Foundation

Wednesday, December 5th, 2007

I think the foundation is possibly the most important part of any type of script. In the script world, the foundation would possibly mean the heart of the system, the driving principle behind the component. I’m currently engaged in a project where we designed certain components around a core principle, and suddenly the core principle is de-emphasized. In my opinion this causes the foundation of the script to poor. Our current project is sitting in a crossroad where we can either further develop the system, or revisit the foundation and make sure it strong before we proceed.

I have sufficient evidence to demonstrate that our current system isn’t as strong as it could be due to the fact that I’ve redesigned certain components and these components better represent the core principle in which our system is based. Yet, my group member acknowledges this fact and then says that no change is necessary due to the fact that in his opinion it’s not significantly different. But the current system is not as true to the core principle as it possibly could be, if it was a percentage, I’d say it was 60%, where as after implementing the modifications I recommended, the performance would probably be boasted to 80-90%.

So I’m hesitant about moving forward and further developing the code which heavily relies on its foundation knowing that the foundation is flawed. I know that many times, we should code things to the XP principle of doing the simplist thing that works, but in no way am I running against that principle. In my eyes, the project simply isn’t “working” the way it’s supposed to. An analogy of the situation would be me trying to get an A in every pre-requisite class before taking the class I want, and my partner saying that Cs are acceptable and moving onto further topics. I feel that since this project will be very important to the important to the company that we get everything right, right from the start. This is what I believe. Even if we can code all the code in a strongly “modular” way and revisit them in the future. If anything is worth doing, it’s worth doing right. To me, this is simply sloppy.