Thursday, February 25, 2010
GameStop is On Sale
GameStop shares have dropped 10% in the last month, 8% just today on a couple downgrades and the departure of their CFO. Both downgrades include analysis showing GameStop is poised for their best profit year ever, but both analysts believe the packaged video game market will disappear long term. I'm not one to bet against a company that is printing cash. Short sellers are piling on trying to make a quick dollar, but the higher they push that short-ratio the harder it will be for them to unwind their positions without a big bounce. In the meantime, longs like me are taking a beating.
Tuesday, February 9, 2010
Interview Mistake 101: How would you do something you should never do?
I never know what to expect in an interview. Either when I'm interviewing someone or being interviewed by someone else. A young former coworker of mine used to see interviews more as his chance to look smart than as a chance to hire a competent coworker. He'd always show up with trick questions and act shocked when the applicant couldn't answer the questions. I was embarrassed to say the least, but despite his youth and eagerness, I don't think his philosophy is too far from the norm.
The daily job of most people in software development involves understanding the product and the process and translating those into results. Why is it then that in software interview questions like how would you write a string reverser using recursion get asked? The proper response to this questions is no thank you. The last thing a company needs is to hire someone who needs a string reversed and uses recursion because it would be fun to do it that way.
Despite the attempts over and over again by the well intentioned, the secret to most software is tedious work. In other words you actually have to write programs. Frameworks and patterns can and do add value, but they don't replace actually wiring and coding the application. Making the round trip from a web page to a relational database is done over and over and over again. From a coding perspective its largely the same if you ignore the data, but ignoring the data is the last thing any company wants the developer to do. The data is the value. Getting it from point A to point B is the commodity service that the programmer provides. Being able to do that using recursion or bit by bit is not a special skill, being able to understand and ensure the data is handled properly is a special skill.
The daily job of most people in software development involves understanding the product and the process and translating those into results. Why is it then that in software interview questions like how would you write a string reverser using recursion get asked? The proper response to this questions is no thank you. The last thing a company needs is to hire someone who needs a string reversed and uses recursion because it would be fun to do it that way.
Despite the attempts over and over again by the well intentioned, the secret to most software is tedious work. In other words you actually have to write programs. Frameworks and patterns can and do add value, but they don't replace actually wiring and coding the application. Making the round trip from a web page to a relational database is done over and over and over again. From a coding perspective its largely the same if you ignore the data, but ignoring the data is the last thing any company wants the developer to do. The data is the value. Getting it from point A to point B is the commodity service that the programmer provides. Being able to do that using recursion or bit by bit is not a special skill, being able to understand and ensure the data is handled properly is a special skill.
Monday, February 8, 2010
Bad Interviewing
Went on an interview recently that went poorly. Here is my assessment.
- I was not enthusiastic about the job. I have no enthusiasm for the business model.
- I interviewed on the day after Christmas and one of the guys interviewing me was on speaker phone from his home. I was interrupting his time off with his family.
- The manager spent an hour telling me about the details of the business and the application using company specific terms. I've seen this mistake over and over again. As much as every IT shop has similarities, they also have many differences. Either terms mean slightly different things or the company uses completely different terminology. I need a ten minute overview. I don't go on interviews to start remembering the IP addresses of servers.
- The manager told me that they work on 12 to 15 projects a year and then come crunch time they throw away all but 2 or 3 of them. In my head I'm thinking that sounds awfully incompetent, but I can give no reaction to a statement like that.
- They used Hibernate and were proud of it. How many times do I have to fight this battle in my career? JDBC and SQL is easier and faster than Hibernate. IBatis is also pretty good. Database access is one of the top impacts to performance. I don't understand why architects always want to turn over fine grained control to get database portability in return. In enterprise Java I've seen performance problems over and over again in my career. I've never seen a critical application switched from using one database to using a new database.
- The architect interviewing me believed Scala was going to replace Java. I couldn't even remember Scala's name at the interview. I've read about it, but I don't care deeply about it. It is not going to replace Java, despite what you or he thinks.
- The architect interviewing me wanted to know if I knew what closures were. I did not off the top of my head. I had read about them before, but I didn't find them important. There are many ways in Java to do what closures offer and despite 3 requests, it appears like they didn't make it into Java 7. He thought they were important. I do not.
- The architect interviewing me wanted to talk about MongoDB. MongoDB is a documented-oriented database system or a key value store. Now, I don't know much about taxes, but I would think you'd want to understand the data well enough to put them into a traditional relational database. A key-value store seems to me like it would have serious memory demands. I'm open on this point because tax laws are constantly changing, but even with that the key data stays the same.
Sunday, February 7, 2010
Illogical Argument 2: Now is a bad time.
Another interesting argument, this time from Pete Davis at Capital Gains and Games. Mr. Davis is talking about the economy and government spending. He wisely states that congress needs to get serious about reducing spending, but then throws in the same argument that Washington has used over and over again---just not now.
If it is the right thing to do a year from now, its likely the right thing to do right now.
If it is the right thing to do a year from now, its likely the right thing to do right now.
Illogical Argument 1: It would have happened anyway.
According to Bret Stephens in a Wall Street Journal opinion piece, the fifth of seven incorrect beliefs about Iran is that "The Iranian regime is headed for the ash heap of history. The best policy is to do as little as possible until it crumbles from within." Although Bret Stephens argues against its validity, I find it a very powerful argument. The most compelling part is its results. The world or lets face it, the United States no longer has any need to waste resources on containing Iran. Its current dangerous regime will be destroyed without one loss of life or one more penny being spent.
When I read that about Iran, I realized that I had recently read that about the Civil War. According to Webb Garrison's book The Lincoln No One Knows, there were a couple similar arguments in the middle of the 19th century. There was the theory that the South could not sustain itself and would eventually rejoin the union without the need for war and there was the theory that prevailed for most of the Civil War that slavery was a dying institution. The idea that slavery would eventually end apparently goes back to before the Declaration of Independence. It was wither Webb or Garry Wills in his book on James Madison that believes the founders wrote the Declaration envisioning that the country would one day be slave free. Is this revisionist history? I'm not sure, but now we now that slavery did not end until a war was fought.
I've heard the similar argument made in hindsight about World War II, Vietnam, Korea, and both Iraq wars. It is an argument that can be made on just about any topic, big or small. Is it ever true? Maybe, but I'm having trouble giving it any credibility right now. Even if it has some truth, it certainly delays the event in question. That delay has to have some costs associated with them.
I've heard the similar argument made in hindsight about World War II, Vietnam, Korea, and both Iraq wars. It is an argument that can be made on just about any topic, big or small. Is it ever true? Maybe, but I'm having trouble giving it any credibility right now. Even if it has some truth, it certainly delays the event in question. That delay has to have some costs associated with them.
Tuesday, February 2, 2010
Passwords
It is extremely annoying when websites enforce overly strict password requirements. If I want to use "abc" for password or nothing at all, I should be allowed to do so in most situations.
Subscribe to:
Posts (Atom)
