Friday, May 28, 2010

Jobs and Leaving Reasons (part 1)

I've had several jobs in my career, and it perhaps is a good thing. If you have a 10 year job on your resume, it may be hard for you to find another job unless your title is VP and up. Do I want to have to jump jobs? Some people do: they get bored after a couple years. I don't. Job search and getting adjusted and all that are waste of time. Ideally I grow with a company and I ever have to hunt jobs and face endless frustrations during the processes.

I don't know how many times I fill job application forms during job search process.
People should not ask me to fill one up until you are ready to hire me. Don't misuse my information there. One particular interesting blanks to fill is job history and reason to leave. If someone leaves because the company they work for are full of damn idiots are they going to fill "leave the bunch of idiots there?" I will share the real reason to leave behind "seeking better opportunities"

Job 1: The guys there want me to run poorly written programs and babysit them. You don't put talented people in stupid role like this. This place is also full of foreign-language speaking people depicting poor professionalism.

Job 2: The job asks me to convert some poorly written full of GOTO, BASIC-like programs written for DOS into Windows. There are absolutely no specs: the job is to reproduce it. There are absolutely no full scale testing. This could be a successful product if some more resource put on it. Done with it, out I go.

Job 3: Absolute idiot "education software" systems in outrageous sloppy C++. This was BEFORE any visual languages such as VB, Delphi, C#. It was Borland C++ with OWL.

Absolutely poor company culture. Its culture is constantly praising the CEO. The guy who hired me quit after a week. I quit after 3 months.

Job 4: This is more like it. Custom software place with good amount of talent. Great culture: people work together. But, for a long time I was supporting existing things, fixing things here and there. Then I get chance to work on some web applications and learn a couple things along the way. However, for reasons still exactly unknown to me, the company collapsed. I like their philosophy: in-house, talented team, non-bodyshop consulting.

To be continued... (I have Job 5 to Job 7 to talk about, I am now at Job 8)

Wednesday, May 26, 2010

Starbucks gripes its sales numbers


"Here's a statistic that people are surprised by. Despite the long-term success that we've enjoyed, we have less than 10 percent share of coffee consumption in North America. And less 1 percent share internationally," Starbucks Chairman, President and CEO Howard Schultz told CNN Money.

Details here.

Ok, Mr. CEO, here are the reasons.
1. Your stuff is strong, not everyone can handle.
2. Your stuff is expensive, not everyone can afford.
3. You need big cans for home like Folgers. Your bags are expensive and too small. Big cans=less packaging=cheaper

(1) is significant. Look, one "tall" cup makes my head spin already. But I don't feel a thing even after a large Dunkin. Dunkin stuff is not as strong and cheaper (so they sell more).

Don't worry about McDonalds, their coffee tastes real bad.

Tuesday, May 25, 2010

Laptop and Input Devices

The laptop is really not a very good name for this type of open-up computer. Look, if a laptop has to sit on your lap, you will have a difficult time working as you will have to bend real hard and you have to type pretty gently to prevent it from falling off your lap. A laptop needs a desk.

Modern computing demands the mouse... and yikes, there really is no good place for it. The common spot for it is under the space bar. But your palm can easily "click" on something by accident unless your hands are at 90 degrees. Another popular spot is the pencil eraser type... Eew, a bit hard to use. Where to simulate the mouse buttons are also difficult to put. Some laptops give you TWO choices under the space bar.

The iPad solution: whack the keyboard altogether: tap on screen, tap on the virtual keyboard. Good solution! But tapping isn't going to be as fast as keyboard typing. And, if you have to use the mouse a lot (such as drawing), boy your arms are going to be tired. I prefer mouse, not tapping on screen. I only want to tap screen on a ATM.

Best solution: plug standard keyboards and mouse on the USB ports. Ok, but that knocks out your portability.

Tracball (Centipede players' favorite device) on the side are totally out now? Haven't seen them for a while. I like tracballs but I absolutely cannot stand thumb trackbals. I think a trackball tray pullable from the bottom or the right hand side of the keyboard would be a good innovation. I like keyboard and mouse (trackball) separated. The mouse should not interfere me typing.

Friday, May 21, 2010

Google pacman

Google logo is playable today. It is 30 year anniversary of Pac-Man! Details here.

I am IMPRESSED. I love Google logo's occasional surprises.

They are HIRING in Chicago. No, I don't know I have what it takes to work there, given it is so hard for me to get in even dinky companies.

Monday, May 17, 2010

Don't worry about money, just marry a rich lady?

Here is an interesting story about a woman making twice as much as her blue-collar husband.

Waita minute, why is this in the news. If you make twice as much as your wife you are not on the news. If you're unemployed and your wife is not, there is not even a number that can describe how much your wife is making more than you. (Divide by 0 Exception)

Look guys, if you are making little now, that does not mean you're making little tomorrow. The guy in the story got some talent: listening skills and music skills. Ancient proverb is: Laugh at an old-bearded man, but don't laugh at a young poor man. I am sure the lady in the article would dump him if he didn't try to make any progress at work. Men must stay working diligently at whatever their occupation.

Don't worry about money, just marry a rich lady is pure wrong.
Cinderella expecting prince is also wrong. First of all, if you're really Cinderella your prince appeared decades ago.

Equation Editing in Word 2007

I am generally happy with the Equation Editor in Word 2007. But yikes not obvious how to do limits of integration. Here is how:

http://superuser.com/questions/65988/how-can-i-create-limits-of-integration-in-word-2007s-equation-editor

As soon as I play with Word 2007, 2010 version is here. As always, unless it has some significant new feature, I won't upgrade. The Equation Editor is a significant feature over previous versions.

Monday, May 10, 2010

CTA seats

News says CTA gets new train seats.

Is it awkward to seat face-to-face? I don't think so. In bus there are face-to-face seats. In Chicago, just about everyone plays with their phones while commuting anyway. People either text-messaging or playing solitare.

I play ChessMaster (and I wish this game has some mate-in-two puzzles)

Friday, May 7, 2010

How I would hire

If you open up job ads, you will see a bunch of things listed as requirements. Bachelor degree, certain year of experience, programming in a certain language, and certain open source libraries etc.

Let me tell you this: bachelor degree (even a masters) does not tell you much, unless you are fresh out of college. Anyone willing to take enough requirement classes get a bachelors. For experienced individuals, college is just too long ago. Go to a low requirement school you can even get a masters without much studying or a writing thesis. Years of experience is good indicator of good skills but may not tell you much either. In some laid back, lazy environment you can have someone with 5 years experience in programming and can't write a simple class, and gosh not even a for loop (no kidding).

Many ladies want the latest styles in clothing and shoes, and so do programmers in latest buzzwords. "Architects" want to use the latest things (popular open source things, buzzword things) they have heard of without full understanding: which generates non-sense over-engineered approaches to simple problems that generate buzzwords on their resume and they quit (or get fired) and pretend they have implemented certain buzz things.

Recruiters look for exact buzzword matches on resumes and jobs. No experience no talk.
Some bothers to call you to talk to you a bit and just to point out you don't have certain buzz things and won't give you an interview (then why the heck call me in the first place)

Look, those open source things are new and the documentation is wide open. Given a couple days, good documentation, and that the library actually works, the real programmer is able to figure things out. So what if he/she hasn't done it before from previous work.

In job interview or some "screening" online tests, you may need to recall the exact nuts and bolts of things, such as what's difference between ArrayList and a Vector. Got a couple seconds? boom, look it up in google. The guy who tells you Vector is thread-safe isn't necessarily smarter. All programmers, however, SHOULD know the basics: know OOP, know Design Patterns, know how to make a web app.

I would look for problem solving skills, enthusiasm, rather than recalling exact API. If you can tell me some AOP features of Spring and some details of Spring MVC I consider you know the basics and can figure out the rest. If you have some idea about object-relation-mapping and able to tell me pros-and-cons versus JDBC I consider you able to do hibernate.

The only jobs out there are super-duper-senior software developers. With bad economy and outsourcing there is no room for anything less. People with less experience/skills will have no work, need to move to 3rd world countries in order to get work by out-sourcing, or entirely switch career. OR, BECOME a super-duper-senior software developer: its the survival of the fittest.

But with no experience no talk, this is the ultimate deadlock example: job to get skills; skills to get jobs. Waita minute, I can't give you this deadlock example unless you ask me in an interview.

Here is what I see in real life: CRAPPY stuff written by so-called title-inflated so-called senior developers. I can write better codes when I was in high school. How the heck did they get job? By bluffing through an interview. Sure: communication skills is important. But coding is communicating to the computer and many are not able to!

How do people solve crappy code? By posting ads for super-duper-developers.