The movie isn’t real (part 1)

  I’ve mentioned demos and presentation before but now I’m going to focus on them a bit more as I recently had a few colleagues view this blog a they contributed their analogies an stories.  A younger more naive version of myself once asked while preparing for a demo,

 

“Why are we working so hard on power point slides and pictures when the code is what matters?”

 

The answer was that no mater how god the actual code was it was boring and would likely get the project killed.  One older engineer shared with me this quote:

 

  ‘A good plan with a bad presentation is doomed immediately, a bad plan with a good presentation is doomed EVENTUALLY…’ - source unknown

 

I have since seen that played out over and over again.  The group with the best demo/presentation often wins NOT the one with the best product.

  Another person chimed in that since the only thing most users ever see is the graphic user interface  to them that IS the software, kinda like seeing the steering wheel of a car and thinking that IS the car, the engine, the brakes, everything!  As a guy on the ‘mechanic’ side of building the rest of the software it was a revelation that that’s the perspective of the user and most of the decision makers.  It let me understand why people are fooled by demos and pretty pictures.

  It’s like the movies or even a good magic trick only the difference being that in those situations you know it’s not real.  Think about if you convinced someone that the movie ‘Hackers’ was really a documentary?  Completely false impressions and ideas would be conveyed.  In the software world this is what happens at demonstrations/presentations.  Some honest people will give you a documentary of the software while others will give you a movie, but both will tell you it’s real. 

The solution and my advice:
Assume you are being lied to and get a software developer on your payroll with no stake in the project to let you know if you are seeing a real system or a clever trick.

Until next time

September 3rd, 2008, posted by anansi

Why doesn’t this diploma work? It’s broken.

I’m back. Sorry for the break in service but I decided it was time to get sick so I did. Feeling better and now it’s back to reporting about the Weak Interface!
(I’ll give you several posts this weekend to make it up to you)

I like it when anyone contributes their own experiences. A valued reader at http://www.anthonydamasco.com (check him out!) sent this. Read and enjoy, my comments in ‘[]’ and after.

—————

.. there a lot of things that are messed up about our industry [which is why this blog exists]. I’ll start with telling you about tech schools that rush you through a course and then give you a certification that means nothing in the real world.

Alright so I went to school about 5 years ago for website development, I pretty much knew html and stuff because I had made a lot of websites on my own. So I paid 15k for this 9 month course, and they told me that I would be earning college credits so that If I wanted to go to college later I could earn a degree using them.

To keep it short, the staff sucked, I constantly corrected the instructors, the courses were straight out of the adobe guide books, and I learned absolutely nothing useful. Oh and no college credits (they told be my last month there) I graduated from school and went on a few job interviews for web design and I was pretty much laughed at when I told them where I went to school. So I had to load trucks for UPS at night and do free web projects during the day to build a portfolio good enough to compete with people that had 4 years of school + a portfolio that they had built the entire time they went to school[We all need to be more like him, he wanted something and did what he had to to get it, can you tell I’m a fan?].

Schools like Lincoln tech, Chubb institute, Cittone institute, totally screwed everyone that I went to school with. Even to this day I see fresh out of tech school web developers working at restaurants and producing really crappy work that they were told, was acceptable.

One of the biggest problems with the schools are they are always 4 years behind, I talked to this guy who just graduated a month ago from the chubb institute, and he didn’t even know what “Web 2.0″ meant, or SEO, not even ajax, or that there is an actionscript 3.0 [if you don’t know these terms you shouldn’t be in the industry].

—————

Sadly this story rings too true. Countless hopefuls have burned money on useless schools. The truth is, in any industry, performance matters more than credentials. The normal idea is that you look at credentials and can infer how the person will perform. Unfortunately since these schools do not necessarily have to meet the academic standards that a University does, and the fact that no matter how inept the graduates are more will still sign up, there is no real motivations to deliver value. If you talk a big game in commercials, media, etc, enough people will mistake it for a real school and give you money.

I can’t say it enough: Ask professionals.
Universities work with industry to prep students with what they need for the industry. These schools don’t need to work with industry cuz they know how to “sell” the idea of a degree without actually producing anything.
Be careful. Be skeptical. Ask the pros

Until next time
.

August 14th, 2008, posted by anansi

“It’s possible I saw it on TV…”


 The Star Trek problem.  Just hearing that means frustration is in my future.  It’s a term that gets kicked around in some tech circles.  On more than a few occasions a client requests software do something impossible.  When you ask where they saw a system do what they want and they reply they heard about it on TV, it scares me..

   Dear reader when in a position like this my first impulse is to cut the client off and have nothing to do with that particular project.  Before you even begin negotiations or dialogue about the project, you know the position of the client is outside the bounds of logic or physics.  TV is typically not a tool for education but for entertainment.  When you entertain it’s ok to ‘bend’ the truth for the sake of the story but it’s bad when someone takes that for reality.  It’s hard to tell a client educated by science fiction that no we do not have fully interactive AI or a holodeck for training or phasers or almost any of the advanced technology you’ve seen in Star Trek.  Believe me I wish we did, I’d be the first in line for it.  The problem is compounded by movies and other media, where they can fake it because in depth computer knowledge is still in the hands of a relative few.  They don’t do it with any well known things such as having 4 outs in baseball game.   Google “movie physics” and you’ll see how movies ‘bend’ the truth.  My favorite article on the issue is http://www.cracked.com/article_15229_5-things-hollywood-thinks-computers-can-do.html

   On some level I understand that technology develops so fast these days that it seems there’s a new techno miracle everyday.  But there are actual limits that must be acknowledged.  When a client is unable to see these boundaries, no matter how much you tell them otherwise, then they are dealing in the realm of fiction. This means there’s no hope of having a good working relationship. 

Anything you do in the real world will fall short of their fantasies.

 

  If you get anything from the Star Trek problem, it would be:  Know what’s possible before you make plans for what you want to be built for you.  At the very least the client should know that a professional probably knows what’s possible better than they do.

July 30th, 2008, posted by anansi

Not so simple


   Most programmers have had the experience of a client, be it their manager or paying customer, ask for a change outside of what they originally designed before the system development started.  Of course it is often thought of as a “simple” change.  It usually starts at a demonstration or meeting with a phrase like,

    “Can’t you make it do this thing I just thought of?”

this is like asking a builder to add another bedroom after the walls are framed out.  Not always simple and in no way cheap.  Sometimes it is and sometimes not. 

   From my own experience I’ve seen both.  At a demo for a large project the lead of the largest team was presenting as he knew the system best.  At various points in the demo he was asked to add or change a feature.  He deferred all the requests to the lead of the area concerned. The problem was that not all changes are created equal.   The situation rises where the guy next to you has been asked to move a button and they say

    “No problem”

but you get asked to ADD a button that will mean new modules and algorithms must be written to perform some feat which may mean an additional 40 hours of work.  When you say that it will require a week’s effort you look like you’re dragging your feet.  I was not asked to change any of my software but I saw this happen to one friend of mine.  The request came from a supervisor who insisted it shouldn’t take that long.  This is the Weak Interface in action.  The knowledgeable programmer has been asked for something and responded with his honest assessment, while the supervisor, who has never been a programmer, makes assumptions that he thinks should override the opinion of a professional. 

   You can imagine how it ended but if you need closure let’s just say it was not resolved without casualties.

 

My advice for supervisors: listen to the guy you hired to do the job.  If you don’t trust him why is he on your payroll?

My advice for programmers: hope you never get into this situation or get on a new project with supervisors who know enough to trust your opinion.

July 14th, 2008, posted by anansi

Just so you know the computer can lie if you make it.


   I’ve worked with a mix of people.  Varying levels of the weak interface.  I work with a guy who has built 3 national computer networks and been involved with computers since the 80s, another who was an old IBM mainframe computer programmer and knows the industry better than I, he was in computers before most knew what they were.  Both of whom have earned my respect with their knowledge and willingness to defer to mine when they don’t know something.  At the same time I’ve worked with a few business types who don’t know much but unfortunately think they do. More infuriating is that they  don’t realize the limits of their knowledge or when to shut up so they could at least hide their gross ignorance.  This post is  about the business type and our dealings.  First you should know that after years of frustration I went ahead and got my MBA so I could speak their language but I have yet to meet a single one who’s done the same in reverse.

 

   The affair started when I was explaining why in certain accounting the precision is carried out to the ten-thousands place as, x.xxxx , the business guy said it made no sense and was cumbersome.  I explained to him the old trick of ’salami slicing’(http://en.wikipedia.org/wiki/Salami_slicing#Film_.26_television)  as a way to steal fractions of cents from a company.  His answer was that he’d just track all transactions into or out of an account.  I then had the horrible task of explaining to him how the computer can be made to lie.  For example, stealth viruses pull some tricks to make the computer lie to users.  The website Computer Knowledge describes this better than I do

“A stealth virus hides the modifications it makes. It does this by taking over the system functions which read files or system sectors and, when some other program requests information from portions of the disk the virus has changed, the virus reports back the correct (unchanged) information instead of what’s really there (the virus).”

 - http://www.cknow.com/vtutor/StealthVirusesandRootkits.html)

 

   Another way to say it is when you try to track something by a system report to you, that report can be doctored and the information changed before you even see it.  You won’t know it and if you trust the machine you are open to all sorts of fraud.  It would only take  a person able to manipulate the system the right way.  This problem always exists when a person uses a technology without understanding it.  Any time I get my car fixed I know the mechanic can lie to me because I only know a little about cars and can’t detect a well crafted lie.  So I ask my car savvy friend to let me know the truth.  Unfortunately the tech ignorant tend not to ask the computer savvy and/or don’t listen when they speak. 

 

   Another example of this is in many different tech demos I’ve seen.  There’s an easy trick you can pull if the demo of a system is for the non-savvy.  Instead of actually having a working system you can just have screen shots of what’s supposed to happen all displayed in different windows. Then when you fake a ‘click’ on some item you can quickly switch to the right screen shot as if the system actually worked that way.  This is like having very convincing cardboard cut outs of cars and putting those on the showroom floor as if the cars were there.  I am amazed at how well it works.  Many of the systems I’ve seen promoted but never working have been paid for on the strength of a false demo.  This has cost the government, and by extension tax payers, millions.

 

So please listen when I say:

If you are going to do anything with software - Be careful, Be paranoid and get a guy you trust who knows something to evaluate all software for you because computers can be made to lie…

July 10th, 2008, posted by anansi

A different sort of tech blog…

   This is a different sort of technology blog.  It’s more about the people using computers and technology, the difference between the knowledgeable and the unaware.  It’s the difference between growing up with the technology and learning about it.  To drawn an analogy it’s the difference between the native speaker of a language and someone who learns it, even full immersion won’t give you an appreciation for it the way someone born to it.  Now in this case imagine being raised in an English speaking country but being given instruction on how to speak by an aborigine who learned it a few years ago. 

   Basically this is the dilemma young engineers, programmers and computer scientists find themselves in, they understand computers and associated technology better than their bosses or the older decision makers who control their fates.  This is the source of pain, anger, and frustration.  Google solves this issue by having very young folks at the top.  I remember Dianne Sawyer commenting that, “…and yes they’re all that young…” when she had a Google exec on screen.  Another friend of mine is in the search engine optimization business tells me if you’re over 35 (as of this writing in 2008) you typically don’t get respect and will have trouble finding a job in that area. 

   I’m an engineer and I’ve suffered because of this problem I call the “Weak Interface”.  It’s the difference in understanding between the computer savvy and those who are only users for the most part.  This blog will draw from the real life experiences of tech workers and industry types.  I invite anyone with a story to tell to join the blog and comment and/or add their own.  These stories will never end as there will always be the tech savvy will always have to work with others, somewhere there’ll always be programmer who has to answer to a supervisor with an MBA and no computer understanding, somewhere there will always be a Weak Interface… 

This blog is written for anyone looking to improve the interface or at least hear/tell a few interesting stories about it.

Enjoy and please comment

July 6th, 2008, posted by anansi