Jun 1 2008

Get That Raise

I was recently asked for a few tips for negotiate a pay raise. There is not much to asking for a raise, the key is to ask at the right time. Ask for a raise when the company is on a high note, an up swing such as having recently closing a big deal or accomplished a critical milestone. Before asking for a raise you should get a good sense of the current job market and the value you add to the company. If you want a 10% raise ask for 15%, if you want 15% ask for 25%. In addition to just a 25% raise, I would ask for a new title, more training, higher team leadership and management role. When asking for a raise you will have a better chance if you also step up and ask for more responsibility, not just money but a bigger and more visible role in the team. Just to make sure you make every point in asking for a raise, print out a one to two page document which highlights your accomplishments for the past year, take some initiate and make some objects for yourself for the coming year, and also detail your request for a pay raise, new title, additional responsibilities, and other fringe benefits.

Some manager have canned answers for when employees ask for a raise, such as the pay structure is pretty flat in the company, or that you don’t have a required skill or degree required for a given salary range. No matter what, do not walk away with nothing, negotiate either for concessions of other benefits, perhaps educational reimbursements or corporate training.

So go ahead, get that raise, you deserve it.

If you have any tips that worked for you in getting a raise, feel free to comment on them.

Technorati Tags: , , , , , ,


May 28 2008

Java 6 and JDBC 4.0

I just migrated a 4,000+ Java class project from Java 1.4.2 to Java 6. I’ve already mentioned some of the issues to be aware of when migrating a large code base to Java 6. In Java 6, enum is a reserved keyword so I had to renaming variables that had that name, I also had to upgrade to a more recent version of Apache Commons Lang for a similar reason. I also had minor issues compilation issues, such as the removal of compareTo(Object obj) method was removed from the String class, and Apache classes that once shipped with the JRE 1.4.2 where removed.

But what irked me the most about Java 6 was recent changes to JDBC 4.0. The ResultSet interface, in Java 6, has 197 methods that need be be implemented if you are working with custom ResultSet implementation. I am just shocked at the sheer number of methods required for a basic ResultSet, most of which are not used, or will ever be used by our custom implementation! This is what is wrong with Java. The good thing is that Eclipse auto code generation features saved me from typing all of those methods but I wished there was a basic ‘do nothing’ abstract adapter like WindowAdapter.

Technorati Tags: , , , , , ,


May 26 2008

The $100,000 Customer

In today’s age, customer service has become a oxymoron, or a cliché at best. I recently had a bad customer experience at the Fry’s Electronics that made me think about just how right the customer actually is. On recent trip to Fry’s they employed a bait and switch on a in store sale. This had been the second consecutive time this had happened and I asked the casher to see the manager. After going from the Department Manager to store Manager to Customer Service Manager I finally had it. As a customer I thought I was right, they incorrectly and misleadingly promoted a big sale and placed fliers on half an aisle and they were not owing up to their mistake. I demanded to file a complaint, but only after I told him that this was the second time I fell victim to this sort of bait and switch tactic and that I was personally unsatisfied with the service I was getting did he ask me to put my name and number in a little, white, and meaningless piece of paper, which he undoubtedly threw away after I left the store. But before I left the store, and the additional $200 worth of merchandise I was going to buy, I informed him, and half the store that they had just lost a $100,000 customer.

You might be wondering how I figure I am a $100,000 customer if at I had a little over $200 worth of merchandise. We’ll, I’ve been a customer of Fry’s for over ten years. I bought my first desktop there, paid over $2,400 in cash for it too. Since then I have bought other desktops, laptops, video, SLR, and point and click cameras, books, movies, and a ton of other electronic gadgets and accessories. If you add it all together, I’ve been a loyal customer until now.

In any given year, you may spend up to $5,000 dollars in your local grocery store, 20 years of that makes you a $100,000 customer. Take Amazon for example, how long would it take you to be a $100,000 Amazon customer? Not long, if you are a happy customer. Take apple for example, if you are like me you are reading this on your third or forth mac computer and you own and have given an iPod for just about every gift occasion. A satisfied customer has no qualms about spending on reliable service and quality goods, even at a premium.

The retail business is a tough business. Most retailers have a razor thin profit margin of 1-3 percent, and they just can’t afford to mistreat their customer in a rude, unprofessional, deceiving, unethical fashion. When Amazon often has better deals on just about everything, with free premium shipping, how is Fry’s going to differentiate and win back customers like myself?

In the New York Times best seller The Last Lecture, Randy Pausch tells the story of the $100,000 salt and pepper shaker. The story is about how when, as a child, the authors parents took the whole family to Disney World in Orlando for the first time the author and his kid sister bought a souvenir salt and pepper shaker for their parents. In the excitement, the salt and pepper shaker fell and broke minutes after purchasing it. As any kid would, they were upset to the point of attracting the attention of a fellow guest who suggested for them to ask the casher for it to be replaced. They did and to their surprised the got a new shaker set and apologies for not wrapping it correctly. The salt and pepper shaker that they had bought was not worth $100,000, it was worth no more than $10 dollars. But on learning about this, and having the family vacation of their lives, the authors family gave Disney World over $100,000 in business over the years. The authors father in his capacity as a volunteer in English as Second Language organized student trips to Disney World well worth $100,000.

You are a $100,000 customer, so demand $100,000 customer service. Take back and take control your purchasing power.

Technorati Tags: , , , , , ,


Apr 27 2008

In A Startup

After working for upstart startup, I thought of a few axioms of working for a small and agile team in a fast and merciless marketplace.

  • In a startup, you can have any title you want, say VP of Version Control, but no one reports to you other than yourself.
  • In a startup, if you code it, break it, test it, or fix it then you own it.
  • In a startup, if one guy call in sick a third of your development team is out.
  • In a startup, if you been there longer than 3 years you are most likely been there longer than your CEO.
  • In a startup, you have more hats than the Queen of England, and you wear multiple hats at the same time.
  • One year in a startup equals 2.7 in a large corporations.
  • Would you rather start a startup or upstart a business?

If you have any advice or experience from working in a startup, feel free to share them in the comments.

Technorati Tags: , , , ,


Apr 27 2008

How To Kill A Community

If you don’t understand Open Source licensing, don’t start an Open Source project. Keep your code! ExtJS, a JavaScript framework for building business forms, recently made big news, the bad kind, when it changed it’s license from LGPL to GPL. ExtJS started as an extension to the Yahoo! UI library.

ExtJS had been in my radar for a long time, but I never downloaded it, used it, wrote about it, or contributed to the community in any way because since its foundation the licensing of the library seemed awkward to me. If my memory serves me right, earlier releases of ExtJS had interesting clauses that prohibited you bundling ExtJS in frameworks. For me, I keep on using jQuery and YUI.

Open Source is not so much about the code, it is about the community and how that community interacts with other communities. Open Source is community building. In this Age of Meetoo, companies are sprung with VC money simply by cloning services and products of other companies. Look at all the ‘social viral video sharing’ sites are just imitations of YouTube. In this age, the real value of code does not lie in the source code, the value lies in the knowledge and expertize of the community. The same can be said of a service, the value lies in the user base.

The folks behind ExtJS feel that this license change to GPL adheres to the quid pro quo principle. This is true if all you want is code, but community evangelism is worth is worth more than its weight in code. Look at the spectacular growth and good will around jQuery. For every one line of code in jQuery, there is at least one plugin written by a third party. For every one line of code in Ruby on Rails, there is at least one coder-blogger-evangelist promoting the framework.

It is true that you can shoot yourself in the foot with just about any programming language, but with changing the license of an Open Source project you can shoot your whole community, execution style.

Graeme Roche, project leader of Grails, said, “What they have effectively done is built up a community, taking full advantage of the open source model by accepting user contributions and patches and then turned around and kicked their own community up the backside.”

Jack Slocum, the lead developer and founder of ExtJS, responded to all the criticism on his blog. Jack complains, “Shortly before 1.0 is released, there numerous Ext “clones” started popping up that were hacking Ext themes.” Other developer hacking, learning, promoting, evangelizing, and cloning is the great benefit of releasing an Open Source application, ExtJS itself was a ‘clone’ and a hack of Yahoo! UI.

What I find interesting of the whole event is that this is history repeating itself. This is not the first time nor will it be the last time that some organization has leverage a license for some perceived monetary benefit.

What follows is a pretty comprehensive list of articles that talk about the recent ExtJS license change.

Technorati Tags: , , , , , , , ,


Feb 24 2008

Software Piracy

On a recent Java Posse episode, while talking about a price increase for IntelleJ IDEA, Joe Nuxoll of the Java Posse went on a bit of a rant about software piracy. Joe said, “Being a software engineer that has made my living selling software I don’t steal it, don’t copy it, I don’t even do that for music or movies or anything. I totally pay for everything, happily.” On the Posse forums, a fellow programmer said that for programmers to steal software is essentially like stealing from themselves.

Even though we could all agree with the sentiment, the absolutism and preachy righteousness tone of Joe’s comments made me think about his premise, that as software developers, we should never download software we are not ‘entitled’ too.

Let me first be clear, I don’t pirate. I pay for software but not because I write code. I pay for the convenience, quality, and utility that the software provides me, but perhaps most importantly because I can afford it and use it professionally. I don’t pay because I feel forced to pay because I also write software applications. I don’t feel that if my software is pirated I won’t get paid. As a developer, it is not like we get royalties on our work, so what do I care that 5% of my software is pirated, those that do pay for it make up the perceived loss.

Like all of you, I know a lot of fellow programmers that do torrent software, but the funny thing is that they really don’t use the software professional. In a way, the programmers that I know to be torrent, download, and crack software do so to try it out for longer than the trail versions allow. These software pirates fall into one of the following categories, they are just software pack rats that download and install every new shiny piece of software and use only once in a blue moon, or they are students of sorts and are trying to learn or experiment with new technology.

To good thing is that for whatever software you are interested their is a free open source equivalent. The open source part of the equation usually doesn’t much matter for end users, but the free part does. Software companies are beginning to understand that this perceived loss in revenue to piracy is negligible, that is why you are seeing a lot of free ‘express’ versions of software packages like Visual Studio, Oracle. Software companies, instead of taking RIAA-like stance of suing college students and the occasional user, are providing the people a legit option to using a free, express, limited version of the same software package and offer professional editions for those that need and use it on a daily basis. Companies like Oracle know that the greatest loss does not come from pirated versions of their software but from the loss market share to Open Source solutions.

Software companies should listen to their customers, even those that use their software a few times, instead of their lawyers, that most likely never have used their software.

Technorati Tags: , , , , ,