the codist - programmerthink

Lessons From A Lifetime Of Being A Programmer

Published: 09/06/2014

Over my 3 decades of being a programmer, I have learned a few things. Here are a few goodies. I bet I can make more.

  • Customers only know what they want after they see it.

I learned this in my first job. Customers won't realize what is actually necessary until you can show it to them. Functional prototyping always beats long lists of words.

Read the rest of the article...

The Art Of The Phone Screen

Published: 08/21/2014

Employers frequently ignore the real value of a phone screen, as if the only point is to tell if the candidate is really a carpenter trying to get a job as a programmer before they are brought into a face to face meeting.

Yet the phone screen is really the first contact with a prospective contributor to the team or company not simply a filter. What you ask and how you handle it may get you a good employee or turn them away.

Of course there are people who are completely inappropriate to interview further. Some companies go even further and try to filter out people by requiring online tests or code challenges or even uploading something to Github. To me that way too much effort on both sides.

Read the rest of the article...

The Fine Art Of Solving Strange Bugs

Published: 08/14/2014

Solving strange, unexplainable and downright bizarre errors in production apps or code is something every programmer has to do sometimes. It's often much like Dr. House trying to figure out what's wrong with a patient with missing or conflicting symptoms.

It's also one of my favorite things to do. After three decades I've had a lot of experience dealing with nasty bugs. If I had job where all I did was figure out how to fix unreal bugs I'd be a happy camper.

Both user reported and internally identified problems can result in a mystery since you may have incomplete, misleading, unknown or even incorrect information. It's like coming around a corner and seeing a car smashed into a tree; you weren't there, the driver is dead and no one saw anything. What happened?

Read the rest of the article...

The Problem With and Ratings In General

Published: 07/30/2014

I have been trying to hire a landscaping company since the late spring to work on my house, and so far I haven't had any luck in getting people to call me back, even when they say they will call. I paid one company for a design and I had to chase them down nearly 6 weeks later to even deliver what I paid for. Then they promised to give me an estimate but never called back.

Two others said they would call me and I never heard from them again either. Yet all three show up as solid A companies on on a search for recent grades. If you actually dig into the details of their ratings you often see patterns where there are a whole slew of C, D and F ratings of these A companies.

So how are these ratings meaningful? They aren't. I have found some really good people that gave me awesome service and I would use them again in a heartbeat, and I do give A ratings. But I intend to rate the company in the first paragraph with a F as soon as I can find someone to actually do the work since I am not sure how easily companies can tell how many F's you give (note I haven't given any yet).

Read the rest of the article...

I'm Sick Of GOF Design Patterns

Published: 07/29/2014

In the famous 1994 book "Design Patterns: Elements of Reusable Object-Oriented Software" the authors covered a number of classic object-oriented design patterns in addition to covering some basic design concepts. It's a nice book in some ways.

But what people have done with it is beyond tiring. It's not the be all and end all of how to write software. It's not a recipe book to be followed slavishly like some kind of paint by number template.

People always ask if you know design patterns in interviews. Job descriptions list "familiarity with design patterns" like it is some kind of secret knowledge only real programmers know. Instead of a book with some useful concepts you might read once, it became the Programmer's Bible to be paraded around like Chairman Mao's Little Red Book.

Read the rest of the article...