Archive for July, 2007

How can I compete against a stubborn boss?

Posted on July 15th, 2007 in Programming | Comments

I’m sure most of us have had that ’special’ kind of boss. You know, those who don’t listen to you, who only think their ideas are the correct ones, who under-estimate your knowledge over their “infinite wisdom”. I’m sure we’ve all had these types of bosses around. Overall, it’s just hell for the employee to be subjected to this type of boss on a daily basis.

I think I can say I have this type of boss. To be fair, though, it’s not a full-time thing. My boss can be fair sometimes, and takes the time to listen to some of the things I say need to be done. Other times… Not so lucky. No matter how much I try to explain myself, I fail miserably at getting my point across his brain. Maybe he’s just over-whelmed by a lot of the daily things he has to do. But I don’t buy that as an excuse. If you’re a higher-up, that brings a lot of responsibility to the table. If you can’t handle all the additional responsibility, either allow someone to do part of your work, or just step down. But that’s another topic for another day.

When I first started working at my current job, as any new guy, I kept my mouth shut during meetings. Since I didn’t know the direction the company wanted to go towards, I couldn’t say anything. I just blindly followed along. However, once I had a clearer idea on what the company wanted, I slowly started to question some of the business decisions. Even though I wasn’t successful most of the time, needless to say, at least I gave my piece of my mind, and that alone helped me feel better.

But then there are times when I just know that a particular business decision isn’t right. It’s either because I know from previous experience that something won’t work, there’s a better way to do it, or simply just a good old-fashioned gut feeling. But it’s something that I know the company shouldn’t do. So I let my boss know. If he agrees with me, then fine. If he doesn’t, at least I get to say “I told you so” in the future if I’m right. Of course, if I’m wrong, I’m just screwed.

Still, the main point of this blog entry is that if you disagree with your boss, tell him/her so. As simple as that. I’m not saying that you should scream at your boss, calling them “idiots” or something worse. But as a professional, you should calmly but firmly give your counter-argument. If your boss thinks rationally, you can find a mid-point where both camps are satisfied. But, if your boss is constantly stubborn, it’s time you pack your bags and find a new job. You’ll never get ahead in these circumstances, and you’ll be miserable for the rest of your life there.

This story stems from something a co-worker told me this past week. She had a meeting with our boss about some new changes to the software. After about three hours talking about things that weren’t directly related to the original question, she left the office. She spoke to me later in the day, telling me about how bad things went. So I asked the simple question: “Did you tell him why that won’t work?”. Her answer? “No, I’ll just do what he tells me, even if it won’t work.”

Of course, this will then unleash the following predictable chain of events:

  • The co-worker will do what the boss told her.
  • The changes will take a very long time, and screw with the non-existant schedule the boss has in his mind.
  • Once the changes are made, it will not work, as the co-worker said.
  • The boss will see it didn’t work, and my co-worker’s ass will be promptly chewed out.
  • My co-worker will say that she knew from the beginning it wouldn’t work, to which my boss will ask why she proceeded to do it, knowing it wouldn’t work.
  • After an unsatisfactory answer, my boss with either fire my co-worker, or give her less responsibility.

Instead of just saying something that took 30 minutes in the initial meeting, months of work were lost, confidence was lost in the employee, and it’s just a bad situation all around the office.

So in short, just stand up to your boss. Of course, not in a mean, foul-mouthed way. Just give your points. Counter his arguments. Even if you have to say that he/she is wrong, do it. If your boss can’t respect that from you, then get the hell out of dodge, or relegate yourself to being a “yes-person” from that point on.

Firebug – The best tool any web developer can have

Posted on July 5th, 2007 in Open Source, Programming, Software | Comments

During these past months, as I’ve been learning Rails and getting my feet more and more wet with all the integrated AJAX goodness that’s inside Rails, I’ve found it increasingly frustrating to debug erroneous AJAX code. With regular web development, most of the times you can plainly see if you have an error in your code. Sometimes the results are incorrect, or some aspect of the page is displayed wrong, and other times there’s a big, fat error page letting you know something is seriously wrong. However, with AJAX, whenever erroneous code is executed, most of the times you get nothing. The page stays the same, nothing changes, except that feeling of doom inside the pit of your stomach. Then it’s time to hit the code again, trying to see if something’s wrong.

Luckily for us, there’s a very awesome tool made to debug these types of errors quickly and efficiently. Firebug is simply a godsend for anyone who works with web development of any kind. It can help you debug your web apps so easily, this is certainly one tool that I don’t know how I lived without these past couple of years. It’s a Firefox extension, so you need the Firebox browser installed to use it, no matter if it’s on Windows, Linux or Mac. But I wonder, why the hell wouldn’t you not have Firefox installed in your computer already? That’s a no-brainer.

Firebug helps you debug HTML, CSS and JavaScript. Since it’s a browser extension, it does all the debugging right in the browser, while you’re executing your page. You don’t need to load any other tool, it’s all at the touch of your fingertips. It can be used with any programming language. I’ve used it while developing in PHP, Python with Django and, of course, Ruby on Rails. Not only can you debug the code, you can even make Firebug do some neat things, like edit the HTML, CSS or Javascript code directly in the browser to see the changes immediately, and it even has a profiler that can tell you where your site is slow.

Oh, I forgot to mention the best part of Firebug: It’s 100% free. You just have to love Open Source projects. It’s still difficult to believe that people out there can put out such a quality and life-saving tool for everyone’s use without asking for a single cent in return. That’s the beauty of Open Source. I don’t know if there are any commercial tools that do what Firebug does, but I wouldn’t trade this tool for anything.

If you’re a web developer, and haven’t heard of this awesome tool, I suggest you click the link I set above for Firebug and get it as soon as possible. Unless you like torturing yourself with debugging the old-fashioned way.