« A Poem for All of Us Bloggers | Main | Yes, I'm a shallow Guy, but I'm now #46 in Technorati »

April 27, 2006

The Top Ten Lies of Engineers

After a several month hiatus, I would like to return to my top-ten lies series. So far, I've covered entrepreneurs and VCs, Today's topic is the top ten lies of engineers.

1. “We're about to go into beta testing.” This is a meaningless statement because it doesn't matter when you go into beta testing--what matters is when you come out of beta testing. (The only hard and fast deadline for coming out of modern-day beta testing is “before you run out of money.”)

In the good old days, “alpha” used to mean “all features are implemented though not necessarily working properly.” “Beta” used to mean “there are no more repeatable bugs.” Nowadays beta means “we've gone as long as possible past the shipping date that we promised our investors.”

2. “I don't know anything thing about marketing...” This is a lie of false modesty. The engineer is thinking, in totality, “I don't know a thing about marketing, but how hard could it be compared to what I'm doing? I should run marketing and engineering. I just hope that the marketing the MBAs come up with is worthy of my code.” However, don't worry too much about this lie because it self-corrects as the engineer misses deadline after deadline and comes to realize that he has bigger issues.

3. “I'll comment the code, so that the next person can understand what I did.” This is a lie of good intentions. Really, the engineer did intend to comment the code but as the schedule slipped, priorities changed. The question put to management became: “Do you want me to comment the code or finish it sooner?” Guess what the answer was. Luckily, the lack of comments usually doesn't matter because the code is so crappy that a total rewrite is necessary in a year.

4. “Our architecture is scalable.” This is the lie that I enjoy hearing the most. Typically, an engineer who has never shipped a product says this after creating a prototype in Visual BASIC. The whole conversation goes like this: “Google's architecture isn't as scalable as mine. They can support 25 million simultaneous searches. We will be able to easily handle a billion.”

Luckily, in most cases, the adoption of the product is slower than the CEO's “conservative” forecast, so scalability never becomes an issue. Yeah, those clowns at Google, Yahoo, Oracle, Microsoft, Apple, and AOL don't know anything about scaling compared to the engineer...

5. “The code supports all the industry standards.” This is almost a truth but for a short omission: “This code supports all the industry standards that I agree with.” The engineer has made a personal decision to ignore standards she doesn't like--for example, those promulgated by Microsoft. It's no big deal--customers will never know...

6. “We can do a Macintosh version right after we finish the Windows version; in fact, much of the Windows code can be re-used because of how we architected it.” The truth is that version 1.0 of any software is an experiment. It can be a magnificent experiment, but it's an experiment nonetheless. Thus, Windows version 1.0 is held together by duct-tape. The Macintosh version is a copy of the duct-taped Windows version written by an engineer who just finished college and got his first Macintosh a month ago. How hard could it be to learn to program for a different platform? C++ is C++, right?

7. “We have an effective bug reporting database and system.” Of course, the assumption behind the design of the bug reporting database and system is that there are no bugs in the code, so there's not much to database and report. Generally speaking, if the largest number of documented bugs doesn't ever exceed 1,000, it means that the company isn't tracking bugs carefully.

8. “We can do this faster, cheaper, and better with an offshore programming team in India.” Rank and file engineers usually don't tell this lie; it's the CTO who does. Somehow we've got it in our heads that every programmer in India is good, fast, and cheap, and every programmer in the United States is lousy, slow, and expensive. My theory is that for version 1.0 of a product, the maximum allowable distance between the engineers and marketers is thirty feet.

9. “Our beta sites loved the software.” In twenty five years of working in technology, I've never heard a company report that its beta sites didn't like its software. There are three reasons for this: first, many beta sites are so honored to get pre-release software that they don't want say anything negative. Second, most beta sites haven't used the software very much. Third, most beta sites don't want to seem cruel by criticizing a company's new product. Doing so is as socially unacceptable as telling someone that his baby is ugly.

10. “This time we got it right.” The scary thing about this lie is that the engineer really believes it. Again. The problem is that “this time” occurs over and over again. I have great faith in engineers and believe that in the long run, they do get it right. It's just that in the long run, we're all dead.

Addendumbs (sic):

“This code is so bad it would be faster to write it all from scratch than debug and expand the current shipping code.” (Joel.)

"I like thinking about architecture, but I can code." (Glenn Kelman)

"It works on my machine." (Gaurav)

"Of course I can let go of the code and run the business instead." (Jason)

"Even my mom can navigate the screens." (Nitin)

Powered by Qumana

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341c527353ef00d83427980253ef

Listed below are links to weblogs that reference The Top Ten Lies of Engineers:

» True Lies from The Bell Curve Scar
I confess Im a recovering engineer. And Guy Kawasakis latest top ten list brought a smile to my face: The Top Ten Lies of Engineers ... [Read More]

» Over 1000 defects? from Compound Thinking
Guy Kawasaki has a funny and true to life list of the top ten lies engineers tell. But, almost as an asside he says: Generally speaking, if the largest number of documented bugs doesnt ever exceed 1,000, it means that the company isnt t... [Read More]

» Lies of Engineers from Picture My World
Guy Kawasaki posts another brilliant top-10 list. #9 really resonates: Our beta sites loved the software. In twenty five years of working in technology, Ive never heard a company report that its beta sites didnt like its s... [Read More]

» The Top Ten Lies of Engineers from simonb.com
Guy Kawasaki latest top ten list is for engineers. Ouch! [Read More]

» Die Top Ten der Programmierer-Lügen from TechNovelty
Guy Kawasaki (der mit dem HWBN [häufig wechselnden Blog-Namen]), hat eine wundervolle Liste mit den Top Ten der Programmierer-Lügen mit dem Titel The Top Ten Lies of Engineers. Er vergisst leider die #1 Lüge aus dem Marketing, die für einen Teil de... [Read More]

» Top Ten Lies of Marketing from AiAlone.com
In response to Guy Kawasaki's Top Ten Lies of Engineering:1. quot;Of course we need that feature.quot; :: We have no friggin' clue what that feature does, but our competition has it in their product, so we need it to!2. quot;Good work on... [Read More]

» The Top Ten Lies of Engineers from Enda Quicklinks
http://blog.guykawasaki.com/2006/04/the_top_ten_lie.html... [Read More]

» jPOS6 from jPOS.org
/by apr/ Ive tagged a v1_5_2 version and moved the version number to 1.5.3, but while working on these major build system changes I thought it was time go up to 1.6.0. Well refer to jPOS 1.6.x versions as jPOS 6 and its svn repository ... [Read More]

» Le bugie degli ingegneri from NicolaCanalini
GuyKawasaki ha scritto la sua personale top ten delle bugie degli ingegneri ... [Read More]

» Business, lies and silos from alex's thoughts for Open Business
Some like Seth Godin readily acknowledge that marketers are liars. I agree with him and extend the proposition to all business people, myself included of course, especially if one considers that it is a lie to omit something. On the [Read More]

» Engineering Lies from Tempus Fugate
Kawasaki recently posted "The Top Ten Lies of Engineers". It was humorous but definitely struck a chord with my situation. Specifically #8... [Read More]

» The Real Top Ten Lies of Engineers from Brave New Word
Guy Kawasaki, a Venture Capitalist with technology roots (Apple), writes the top ten lies of engineers. He is sooooo wrong! His list doesn’t come even close with the worst lies of engineers. It looks like he never talked directly to [Read More]

» The Top Ten Lies of Engineers from Startup Fever
Guy Kawasaki on the top ten lies of engineers: After a several month hiatus, I would like to return to my top-ten lies series. So far, Ive covered entrepreneurs and VCs, Todays topic is the top ten lies of engineers. ... [Read More]

» links for 2006-04-29 from Tech-Blog
Signum sine tinnitu--by Guy Kawasaki: The Top Ten Lies of Engineers more great lies from Guy (tags: business programming software) Pushing String SAML expert at sun (tags: sun blog xml saml unread) [Read More]

» Lies by engineers.. from Arun's blog: pricing, processes, venturing
I just loved this post by Guy Kawasaki, and had to comment on it! Ive been an engineer, a programmer, a tester, a marketing guy, and am currently an entrepreneur Oh the lies I have told and heard (hahhahahaha) Im goi... [Read More]

» Kowasaki on Lies from Engineers from Innovation Science
Guy Kowasaki recently posted the Top Ten Lies Told by Engineers.(as an engineer, Im a little insulted by the photo he chose to display [Read More]

» Kawasaki on Lies from Engineers from Innovation Science
Guy Kawasaki recently posted the Top Ten Lies Told by Engineers.(as an engineer, I’m a little insulted by the photo he chose to display…well, not really). As I’ve said before, what Guy has to say is always insightful and worth [Read More]

» Half a Dozen Top Announcements from louisgray.com: live
There were a number of announcements that warrant mentioning. The president's popularity is inversely proportional to the price of gas. And here I thought spending $34.00 at the pump was patriotic. Guy Kawasaki has an excellent post on "The Top Ten L... [Read More]

» Items of Interest: 2006.04.28 from Ellis Web
Things that I found interesting on April 28. 2006: A Blog Without Comments Is Not a Blog - Thoughts from Jeff Atwood. I think that sometimes the opposite becomes true (especially for some of the more popular sites with multiple contributors): A blog w... [Read More]

» links for 2006-04-30 from j mo's
Simply Ming: Recipe: Pepper-Crusted Tuna, Avocado and Cucumber just printed this recipe...must.make.soon. (tags: recipes) Simply Ming: Recipes : Cilantro Oil can't forget this... Signum sine tinnitu--by Guy Kawasaki: The Top Ten Lies of Engineers (tag... [Read More]

» Las mentiras de los ingenieros from TecnoBlógico
Me temo que hoy es el día en el que revelaremos el verdadero significado de muchas frases que dicen los ingenieros, sobre todo pensad en cuantos proyectos dependen de estas afirmaciones 1.Vamos a entrar en la fase de beta testing.... [Read More]

» A trip back to the good old days. from devlon duthie
Guy Kawasaki takes me back to my consulting days with this post (Top Ten Lies of Engineers) My faves: 3. Ill comment the code, so that the next person can understand what I did. This is a lie of good intentions. Really, the engine... [Read More]

» Links from Sørens Linkblog
dom.ter CPR selvbetjening Microsoft Security Notification top 10 lies of engineers [Read More]

» The Top Ten Lies of Engineers from Futurelab's Blog
by: Guy Kawasaki After a several month hiatus, I would like to return to my top-ten lies series. So far, I've covered entrepreneurs and VCs, Today's topic is the top ten lies of engineers.... [Read More]

» Top Ten Lies of Engineers from blog.ncircle.com
Guy Kawasaki has a great new post on his blog entitled Top Ten Lies of Engineers. You know, this would be funny if it weren't strangely true. Luckily, we have a great engineering team at nCircle - our product development... [Read More]

» Guy Kawasaki: Top Ten lies. from Technological Musings
Guy Kawasaki has a post, actually two posts on the top ten lies of engineers and marketers. It's a fun read, even though one or two of those 'lies' are going to look straight at you and take a shot:... [Read More]

» Guy Kawasakis The Top Ten Lies of Engineers from Rob Bazinet Unleashed
Guy Kawasaki is a well-known entrepreneur and writer in high-tech. He recently wrote about The Top Ten Lies of Engineers. I had to step back and think about how many of these applied to me or any of the teams I have been a part of. I ... [Read More]

» Websites are always in beta from michael.wilcox
Your website is never finished. Web pages dont go to press like printed leaflets and brochures do. And that unfinshed quality is a great thing. I started in work doing print design. The worst moments were always when advance copies... [Read More]

» Top Ten Lists: Customers and Customer Service from Satisfy Me
This is a good cross post from Young Joowith his "top 10 list of how you as a software engineer... [Read More]

» Top Down Pointers - Professional Blogs from De Gardener
I am often asked about my own favorite blogs (in addition to Techcrunch and Mashable, of course). I am also often pinged about starting points - where to begin with mobile data, with web 2.0 and with internet software. I will do my best and share a mo... [Read More]

» MikeJSolutions from Mike Johnston
I've heard these so many times now that I find myself actually remembering when I used them.... HA! [Read More]

» Better, Faster and Cheaper? from EppsNet: Notes from the Golden Orange
Somehow weve got it in our heads that every programmer in India is good, fast, and cheap, and every programmer in the United States is lousy, slow, and expensive. My theory is that for version 1.0 of a product, the maximum allowable distance be... [Read More]

» Lies, damn lies, and top 10 lists from things of sorts
It all started innocently enough: Guy Kawasaki posted the The Top Ten Lies of Venture Capitalists back in January, followed closely by his The Top Ten Lies of Entrepreneurs. Now hes back with the The Top Ten Lies of Engineers and The Top Ten Lie... [Read More]

» Interesting Reads from Life of a Software Program Manager
Ive added a link to my links section, but one blog that Ive found very informative is Guy Kawasakis (http://blog.guykawasaki.com). He has written a few books, and has plenty of experience in the VC space. He posts very frequently, here a... [Read More]

» Interesting Reads from Life of a Commercial Software Program Manager
I've added a link to my links section, but one blog that I've found very informative is Guy Kawasaki's (http://blog.guykawasaki.com). He has written a few books, and has plenty of experience in the VC space. He posts very frequently, here are a few of ... [Read More]

» Interesting Reads from Life of a Software Program Manager
[Read More]

» Guy Kawasaki Top 10 Conspiracy from Innovation Creators
Guy Kawasaki is planning on taking over the blogosphere. I have proof!!! Beyond the strange resemblance to Dr. Evil, there are all the suspicious things that Guy does: He writes lots of top ten lists. We all know that Top... [Read More]

Comments

Amazing! Both true and false at the same time! It boggles my engineer's mind!

No, honestly. We've all said things like that. The best thing I can add to that is "It should take N days to complete".

On the other hand, noone but engineers seem to understand that
- Software should be released when it works, not when the management sets a release date.
- When software is feature-complete it should go into a thorough testing phase before releasing it.
- Adding developers to a late project will make it later.
- Adding features to a late project... oh my god, just because you moved the release date back, did you really think there's enough time to add MORE?
- No feature is ever "small". It takes a lot of work.
- For software to fulfill it's requirements, the requirements have to be clearly stated. Without that, there's no way you can test whether the software fulfills it's requirements.
- No, trying out a few things isn't testing. Testing means automated, repeatable tests with trackable results.

Now most engineers I've met don't act like they realize this either. But then, most of them don't stand up to management and tell them that their opinions.

Hopelessly cliche-ridden (gawd, the picture!) and software-biased (writing about what you know, I guess...).

Both engineers and managers need to avoid reinforcing their respective cliches.

I like Glenn Kelmann's points much better :-)

11. The design specifications are complete, and up-to-date.

When I was a tech writer, this was a deal-killer. It was heartbreaking to find out you'd been documenting code (and even features) that had been tossed out two months earlier.

For some engineers, specifications must feel like clingy relationships - they tie you down, don't let you sleep at night, and take away your freedom.

I have never told any one of these lies.

#8 (Outsource to India). This isn't a CTO-driven myth; it's an investor-driven myth. Most CTOs who are technology-focused probably don't care about cheaper, and they certainly believe that the engineers' proximity to them is what is going to make the product faster and better. The CTOs who are business-focused either lack personal experience or are influenced by external factors (read investors, press, etc.), and thus make false assertions about outsourcing. Though the business wisdom of the day, promulgated by the press to investors and people who sit on company boards, has been that outsourcing is the hammer that will solve all development problems for emerging, leading edge, or any other complex technology, it rarely, if ever, works as advertised. Outsourcing is an executive management lie, not an 'engineering' one.

ROTFL (and crying, as well).

You certainly got it right with this top ten! Being an engineer myself, I have to admit that all true (though mostly because of narrow-mindedness, not plain incompetence :-)

Now, how about a 'Top 10 lies of the marketing department' for the sake of err... balance?

And another for CTOs (their an entirely different breed).

I do hope all engineers read this!

insulting and mostly bogus. Most projects are screwed up by marketing changing their mind, not being able to let go of the "entire vision" long enough to ship a "good enough" product (with the 20% of the features the product actually needs) that is well built; not being able to be realistic about how long it takes to write software, etc. Most (but not all) code ends up being bad because marketing can't seem to act like anything other than spoiled kids who want their cake and eat it too - this results in engineers having to RUSH all the time and who can do great art when rushed? And software is art plain and simple.

Read "Get Real" by 37signals.com

Having spent the past 8 years developing dynamic online applications for customers all over the place and running a few businesses who rely on "software engineers" to get stuff done, here are my words of wisdom ;-)

1) triple your timelines and double your budget RIGHT OFF THE BAT!

2) start ugly and work your way to "pretty"

3) establish meaningful milestones each step of the way, be sure to share them with both engineers and execs

4) nothing ever goes as planned and keep multiple sequential backups all over the place

5) higher the quality of the work the longer it takes to get done BUT the less problems you have during testing/launch

In defence of software engineers, their jobs are highly undervalued by execs and considering the complexity of their tasks under deadlines, they are among the smartest people I know.

Jon
Founder of http://myfoodcount.com - Free & Anonymous Health Monitoring
Life: http://jon.legendarylife.com

Another common one:

"That feature is easy to build. All we have to do is..."

It's always way easier on a cocktail napkin than in implementation.

Now that I think about it, this applies to engineering, marketing, sales...

When you assume...

Guy,

I am an engineer, so I was getting worried there when I saw that picture of the engineer. However, most of the stuff you mentioned is very true. It took me about 3 months in my first permanent job just out of University to say to a Marketer "yes, I now understand that we need you (Marketing)". He then tried to get me to walk around the office and repeat that to everyone. Needless to say, I got quiet and went back to my desk, but I have gained an appreciation for taking even technology driven innovations through the process of making them as useful as possible to customers. So this blog didn't offend, it mostly confirmed what I have been learning.

BTW, congrats on reaching the top 50 on Technorati! Keep up the great blogging!

As a SQA Engineer for about 11 years, working closely with programmers, I believe the biggest lie they tell is: "I'm done". The gap between what they think that means and what it means to me is staggering. I advocate for the end-user, and to me it means: "ready for end-user". Like most deception it is not really a lie, just a different point of view. An ordinary person assumes that something works, a SQA Engr assumes things don't work (and is in the business of demonstrating why they don't scientifically.) We work in the realm of what can be proven repeatedly, not what can be imagined or hoped for.

I eat badger poo!

What about the top ten lies of CEOs? Internal and external? Actually the internal are more interesting.

"Marketing is the only thing standing between your company's strategy and a tactical reality of shoddy product delivered late to a market that doesn't want it, need it or understand it."

This is really pretty funny. In many cases in my experience, marketing was responsible for the delivery of a shoddy product (due to unrealistic schedule demands), delivered late (at least according to the schedule in the marketing offices), to a market that doesn't want it (due to marketing's failure to set or at least negotiate a realistic feature set) or understand it (because the final feature set didn't deliver enough to make the product clear).

aloha

I wonder what Scott Adam's Dilbert (who is still an engineer at heart) will say to this list. I think he will miss his "lies":

1. All the features described in the proposal have beeen implemented. (The user is a complete moron. She did not tell me about her needing this, that, whatever while I was doing the specs and now she is asking for it.)

2. The GUI for my product is very beautiful and intuitive. Even my Mom can navigate the screens.

3. The documentation is self explanatory. All the features are covered in it in case you need to refer to it.

Is the top 10 (or should that be top 100? ;) lies of Marketeers coming?

"This should just work."

Lol. You have a gift for writing and telling the truth. I laughed a lot. I can't wait to start your book this weekend...! Looking forward to it.

Guy,

We run a venture-philanthropy program for young social entrepreneurs in developing countries.

It would be interesting to hear your "10 lessons for young entrepreneurs".

Dev

Great Post Guy...

A favorite story is one from my data which we talked about on my blog just this week.

In it he asked an engineer when the piece of code he was working on would be done. He got the soon. Week after week it was the same with no sense of anything ever going to finish.

Finally he changed the question and asked, when will it meet the spec, to which he got the response "That was 4 weeks ago".

Or something along that line.

Elisa said:

>>>>>
For those who don't "get" marketing's value, I like to explain is like this:

Marketing is the only thing standing between your company's strategy and a tactical reality of shoddy product delivered late to a market that doesn't want it, need it or understand it.
>>>>>

I've been in various high-tech marketing roles for more than a decade. I gotta take issue with this statement.

If a product is truly crappy (i.e. no one wants it) - no amount of genius marketing can sell it. It is hard enough to sell a good product.

What is needed to bring great products to market is better collaboration between engineering and marketing - so that the company only builds products that the target market wants in the first place.

Let's look at the marketing side, then:

1) "We need to beta test now! Our advertising schedule demands it."

We haven't bothered to keep up with the project, but we'd really like running those flashy ads we came up with.

2) "We don't need to know about engineering"

The engineers will f&*ck this up anyways, but our superior marketing skills will sell it.

3) "You guys should use agile development! And best-of-breed tools"

We've got no idea what that is, but it could be turned into an article in a popular magazine.

4) "We need an extremely scaleable architecture!"

We don't know how many customers we'll get. In all likelihood, a single server will be able to handle them, but Google is scaleable too! Plus, it's a great bullet point

5) "We're Web 2.0 standards compliant!"

We've got no idea what those standards would be if they bit us, but it makes a *really* great bullet point.

6) "Our entire product line is cross-platform"

We've seen a prototype on the PC. But really, those engineers are nincompoops anyways - my son writes RealBasic, and that runs on Mac and PC, so how hard could a port be?

7) "We leveraged our excellent Quality Metrics Program to assure 100% bug free software."

It didn't crash for 2 days. Ship it!

8) "It has been developed using an international team across three continents and is leaping past the competition due to this cross-cultural experience!"

American Management. Russian Design. Indian coders. A complete in-house rewrite because it really wasn't what we expected.

9) "Our focus groups loved it!"

We really have no opinion whatsoever on this, but by asking cleverly worded questions, we got one out of three people to reluctantly agree that he might install this on his machine. If it was free.

10) "Our marketing campaign is spot-on!"

We're insulting the majority of our customers, but boy, those dinosaurs are funny!

----

Ah yes, life on the engineering side is not a walk in the park, either... ;)

As a marketer who has heard every one of these and more, I thank you.

For those who don't "get" marketing's value, I like to explain is like this:

Marketing is the only thing standing between your company's strategy and a tactical reality of shoddy product delivered late to a market that doesn't want it, need it or understand it.

If a VC doesn't do a "technical due diligence" on a company they are thinking of investing in, that VC is incompetent.

Questions about scheduling, bug tracking, scalability, software architecture, etc would be a standard part of such a technical due diligence investigation. This investigation would be done by an experienced software engineer - someone who can see past bland assurances and ask about the details. This person acts as an intermediary between the VC (who typically lacks technical knowledge) and the engineers at the company.

It took me a long time to realize that software engineering and mechanical engineering had a lot in common. I spent many years in the automotive business where I learned the secret to design: prototype, prototype, prototype. I even developed the equivelant of extreme programming for car design. I once built a working prototype of a full size wagon in four and a half weeks. The goal is to prove the concept before you spend a penny on the details.
Engineers and project managers in the mechanical world are married to GANTT charts. In the software world they are married to release cycles. They eliminate whole prototype iterations in order to meet deadlines. Thus forcing customers to test prototypes.

Great list Guy.

-RS

Post a comment

This weblog only allows comments from registered users. To comment, please Sign In.

My Photo

Contact Me

  • bar.gif


VisualCV


Search this blog

Alltop

  • Alltop, confirmation that I kick ass

Advertising

Feed and Leads

Categories

Alignment of Interests

  • Alltop
    Stay on top of all the news topics.
  • BagTheWeb
    Find, bag, and share websites and articles.
  • Doba
    Drop-ship products for ecommerce sales.
  • Garage Technology Ventures
    Raise venture capital for your tech company.
  • Paper.li
    Publish social-media newspapers.
  • Statusnet
    Make an Open-Source Twitter for your organization.
  • Peerspin
    Pimp your MySpace pages.
  • Posterous
    Create and write blogs via email.
  • Sixense
    Control your game like never before.
  • Slideshare
    Share PowerPoint and Keynote slides including audio.
  • SocialToo
    Engage people at social media sites like Twitter.
  • Spokeo People Search
    Track people across over forty social websites.
  • StumbleUpon
    Find interesting stuff on the web.
  • TicketLeap
    Sell and manage online ticket sales for events.
  • Triggit
    Make real-time bids for online ad space.
  • Tripwire
    Configure, audit, and control enterprise workstations.
  • Tweetmeme
    Retweet good stuff.
  • Tynt
    Trace who's using your website content.
  • uStream
    Stream video live.
  • Visible Measures
    Monitor how people interact with online video.

Copyright Notice

  • ©2006-2012 Guy Kawasaki
    All Rights Reserved

Optimization

  • quick sprout