Posts Tagged ‘trends’

The End of a (Print) Era

Thursday, January 22nd, 2009 Michael Barr

With Dr. Dobb’s Journal going printless, the writing is on the (paperless) wall for other trade journals. This prompts me to reflect on the state of technical magazines and their web-based counterparts.

The thickest-ever print edition of Embedded Systems Design magazine (then Embedded Systems Programming) was published in September 2000. That issue had about 120 pages. I was the editor-in-chief at the time, and I distinctly remember the struggle to find enough high quality content for that issue and the impact that doing so had on my backlog of good articles.

In 2000, a full page ad in the magazine sold for about $10,000. And the formula for free-for-registered-subscribers trade journals was simple: publish one page of editorial content for each page of advertising sold. Some quick math shows that the 120 page issue probably generated about $600,000 of revenue. Of course it costs more to print and mail each additional page, but above a certain fixed break-even page count (say, 50 page issues), each additional ad dollar flowed mostly to the bottom line. I think it’s fair to say that the current 40 page print issues of Embedded Systems Design, with ads sold at much lower per page rates, is below that break-even.

By and large, we paid generously for the technical articles and columns we published in that more prosperous era. That incentive to authors plus the editorial funneling process meant that Embedded Systems Programming published lots of high quality articles over the years. Maintaining a reputation for quality content contributed to the publisher’s ability to add qualified subscribers and charge a premium for the ads.

But the online model is different. Because the per-eyeball ad revenue is far lower online, the editorial game has shifted from high quality content to a large quantity content. Even a poorly written technical article with bad advice can earn the publisher some money–if it the editor applies the right keywords.

As Jack Ganssle put it in the above article:

the publication will have more content than ever, no longer restricted by the physical constraints of printing

(To be clear: Embedded Systems Design and its sister website Embedded.com maintain a high standard for content to this day. The preceding comments concern the risks of a move from print to online publishing on any website.)

The move to online publishing is unstoppable, for obvious economic reasons. There are simply more cost effective ways for vendors to reach a large audience and engineers to search for information than the printing and mailing of periodicals.

It is unfortunate that a move toward a higher quantity of lower quality material is becoming the norm within the online editions.

Resume Inflation

Wednesday, January 14th, 2009 Michael Barr

Like many companies, Netrino is perpetually interviewing candidates for software engineering positions. However, since our work is primarily in the area of embedded systems design we tend to meet many software candidates who come originally from electrical engineering backgrounds. Among this group of candidates there is a prevalent bias toward a kind of resume inflation, in the technical skills section.

Almost all of the resumes we receive for firmware engineering positions contain one of the strings “C, C++” or “C/C++” at or near the front of a longer list of programming language skills (e.g., “C/C++, Fortran, Assembly (various), Forth”). C is generally at the front of that language list for good reason–because it is the one programming language with which the candidate has the most hands-on experience. Too often, though, our interviews have revealed that C++ is listed second for no good reason.

C and C++ are fundamentally different languages. Many of these “resume inflation” job candidates don’t even realize that C++ is as different as it is from C. Often, their actual experience with C++ turns out to be that they’ve used C++ compilers to build C programs. And when they really have used C++, their practical experience usually ends at the use of classes.

Object-oriented C++ has three important aspects: encapsulation, inheritance, and polymorphism. Mere use of encapsulation is insufficient to claim you have C++ programming skills. When we include C++ in a job listing it is because the work may involve the use of every part of C++. To get the job, you must be knowledgeable in all of C++.

What can you do if you are submitting your resume and know some C++ rather than a lot? Be clear and humble. If you merely worked with C++ in school or on a single project, list it in a separate section. Or put C++ apart from C in your language list.

Interviewers (as well as resume reviewers) are impressed by modesty and clear communication.

Real-Time Java is Dead

Friday, April 25th, 2008 Michael Barr

A few months less than ten years ago, I presented a paper at the Embedded Systems Conference (ESC) for the first time. My 1.5 hour course was entitled “Embedded Java” or something similar. This was in Silicon Valley, and the audience was standing room only–despite a rather large room to start with.

I’ve tracked technical and business developments in the world of embedded and real-time Java for even longer–and written a number of articles on the subject. And so I didn’t miss that over the years the audiences for courses on either variant of Java dwindled. After a hopeful year or two too long, I gave up on Java in our space and stopped proposing the topic at ESC.

Then, last Spring, I had the refreshing experience of teaching a two-day hands-on real-time Java programming class in the Netherlands. The room was packed. There was enthusiasm. And these guys were really using Java to develop software (though it wasn’t truly embedded code). So I thought I’d try again at ESC and reproposed the topic.

Last week I taught a course called “Real-Time Java Programming” at the ESC Silicon Valley venue. A lot had changed about the audience size. This time, in a room of a similar size, there were many empty chairs and tables. I think there were perhaps 15 people attending this time.

By my reckoning, Java is officially dead in the embedded systems community–especially in the U.S.

Educating Embedded Engineers

Thursday, March 20th, 2008 Michael Barr

One of the biggest problems affecting the embedded systems industry is a shortage of properly skilled firmware developers. I spoke of this in a recent video interview.

Embedded software developers need some skills taught to Electrical Engineers and others taught to Computer Scientists. They also need practical hands-on experience. Unfortunately, even the best of the Computer Engineering programs at Universities fail to deliver the right mix for embedded work.

The demand for such skilled help is growing rapidly–with the latest estimates put at over 4 billion embedded products manufactured per year.

Fellow Embedded Guru Mike Anderson wrote a nice piece about all this for an IEEE-USA publication called “Today’s Engineer.” I happened across Mike’s article in print, but you can find it online by the title “Help Wanted: Embedded Engineers.”

VDC Counts 4 Billion Embedded Products Shipped in 2006

Tuesday, March 4th, 2008 Michael Barr

Read Venture Development Corporations OnTarget Blog for more details. But in a nutshell, in the last year for which data are available, VDC estimates 4 billion total units of embedded products, most without a commercial operating system inside. By other estimates, total CPU shipments in 2006 were around 9 billion, but some of those are PCs/Macs and there are also numerous systems containing two or more CPUs.