Archive for December, 2007

When we were last heard from, we felt stupor (or at least a lack of excitement) towards the embedded world. Speedplane provided some good examples of exciting products but his rebuke does not addresses the core issue I was trying to articulate. I talked about buzz, but maybe it would be more appropriate to talk about active communities.
Is there an embedded community, an embedded presence on the internet? I recently found the Agile Embedded yahoo group, which has some interesting discussions. However, I was hard pressed to find other relevant mailing lists.
I’m trying to provide content, but I must admit that sometimes I lack inspiration. I don’t know what to write about.
What are the readers of this blog interested in? Should I talk about:

  • Software Tools
  • Hardware Tools
  • Beginner overview: How to use an Oscilloscope, a voltmeter, etc…
  • Basic system debugging
  • Various Protocols: I2C, One-Wire, serial, etc…
  • Anecdotes from my time in the trenches
  • Review of various software tools similar to my Dynamic C rant
  • other things

Maybe I should go in an entirely different direction… One of the consequence of being an instructor is that I interact with a large number of embedded engineers. Is there interest in hearing from those students, maybe in the form of a podcast? Are you interested in hearing what other engineers are doing, some of their struggles and successes?

Ostensibly, this blog is about software development, and while I’m trying to write about embedded, I’m struggling. I find most embedded practices less than exciting and am more drawn to what is happening in non-embedded systems: .NET, F#, TDD, C# 3.0, Behavior Driven Design, Agile, Ruby. There’s a buzz in that space that just doesn’t exist in the embedded world.

Oh sure, there are exciting products out there (multi-core processors, shinny UIs, etc…) but as an industry, there doesn’t seem to be many new practices taking hold. I see nothing fundamentally different being done now that wasn’t done 15 years ago when I started! Oh Sure, things have evolved. C++ is now common in embedded systems, but C is still king. The tools have improved tremendously, but printf debugging still rules the day. When I teach a class and ask students if they have heard of refactoring, I get blank stares! Surely someone has heard of design patterns?!

Are embedded engineers (a large number of which have an EE background) inherently more conservative? Not thinking about new things beyond what processors to use on the next project? Are we just part of the 80%, doing the daily grind and content with good enough?
Sure, there are isolated island of progress, like Atomic Object’s ruby test framework, but those are the exception!

Is it any wonder that I’m drawn to the .NET world like a moth to a flame? Things are happening over there!
Where is the buzz in the embedded world? Anybody?

P.S. While I’m a big fan of Rice & Lloyd Webber (as per the title), I feel more like Howard Beal of the film Network. Hopefully, I won’t meet with the same fate…

Sitting at a Restaurant in Stockholm, catching up on various blogs, I read Steve Pavlina’s 200 things I love about writing. This got me thinking about why I started this blog.

This blog is essentially an outlet for my need to express myself. As I suck at drawing and other art forms, I figured blogging about what I knew was a safe bet. And since there is little embedded content out there, I figure I’d get the lion’s share of readers (like that’s ever going to happen!).

This blog, ostensibly about programming (mostly embedded) is only a part of my list of interests. Jeff Atwood touched on the subject of Fractured Online Identities. While some (most?) of you might be interested in the embedded space, the intersection with my various other aspects (martial arts, teenager raiser, father, instructor, low country resident, expat Canadian, traveler, … ) tends to exponentially diminish the more areas you add. I don’t think anybody could really have a “whole me” blog with an audience bigger than self.

So, feeling a need to be chatty and finding a lack of content about embedded systems, I decided do something about it. Ergo this blog. Now if I could only be as consistent as Jeff, I’d be happy.

This is the follow up article describing our tribulations trying to find tech workers in small town Beaufort, SC. As I mentioned earlier, we were looking for experienced embedded engineers and a tester, which we were willing to train. How did we go about it?

Company Web Site
I hesitate to put this here, as it should really be the first thing you do when you have a position. Put it on your company web site. It’s easy, it doesn’t cost anything, and unless you’re a large company, it probably won’t produce results. But when the applicant is doing research, an out of date website without job listings does not inspire a whole lot of confidence.

Electronic Job Boards
In theory, electronic job boards are supposed to be a good idea. They give the employer a longer reach, make it easier for people to find you. However, most job boards have devolved in a all but useless shout fest of “here I am, here I am” or “have I got a job for you!”
We stayed away from for the simple reason that the noise-to-signal ratio is so poor. If you’re looking for gainful employment, stay away from the 7-headed hydra that is Once your resume is in their clutch, you’ll get endless calls from recruiters interested in getting their commission and not furthering your career. I know, I’ve been there.
We did use, which has a slightly higher technical content, but your mileage may vary. The nice thing about is that you could actually search their database for resumes that matched your criteria. Of course, you run into the problem that a) lots of those resumes are consultants or b) those resumes are out of date and the person is not looking for a job at the moment. We struck out with
We also used Yahoo’s hot jobs, which for us, had better geographical focus. Two events resulted form using HotJobs. We received the worst resume ever. It was so bad that it was funny. Clearly this person did not read the job description, but must have been a serial resume submitter. If you’re going to do that, make sure that you don’t write “Attended Classes Regularly” as your only achievement. We also ended up hiring our first tester form a HotJob submission.
We also posted on the South Carolina employment commission job board, and while we had a few submissions, I don’t think this was the best venue.
But by far, the best experience I have had with an Online job board was Joel Spolsky’s I simply admire the man and if I had a brain big enough, the right experience, and lived in NY, I’d love to work with him. Joel’s job board is entirely focused on high tech jobs. You’re not going to get a doofus resume. In fact, if you are in a small town, you might not get a resume at all. But that’s OK because Joel will give you your money back if you don’t get acceptable applicants. No questions asked! Try to get that from Monster…

Yes, it’s old fashion, but the funny thing about Beaufort is that it’s a retirement destination. People here have all sorts of interesting background. Sometimes you come across a surprising candidate. We also have a few larger population centers within a couple of hours drive. We did manage to hire our best field technician via a newspaper ad.

Local College
The local college ought to be a source of potential workers. However, for some strange cosmic reason, our local college’s placement office never seems to have time returning our phone calls. Definitely not a success story.

There you have it, my former employer’s three pronged approach to finding tech workers. We got employee via the internet, but 3 via the good old newspaper. There is something to be said for locality.

For a while at my previous employer, I was in charge of finding technical people we could hire. We had two types of positions to fill: programmers/engineers and testers. We were looking for experienced employees, but were willing to hire relatively junior employees (e.g. 1 to 2 years experience) with good potential.
Since we’re dealing with embedded systems that involve many bits of hardware and the occasional soldering iron and previous less than successful experiences, we felt that remote employee were not an option. If we were doing internet development, or even host based development that didn’t require bits of hardware, remote would have been an option. Bet as it was, we wanted our new employees to be local. Unfortunately, “Beaufort by the sea” is not a major metropolitan center.

Now, depending on your view point, Beaufort is really great, or really crummy…

  • Cost of living is much less than a major metropolitan area, but more than most of the areas in the state
  • Salary would be slightly less than what you would get as a post-bubble employee in some centers, much less than pre-bubble salary (I hear there are some people out there with those…) but typically much more than the median salary in South Carolina.
  • Beaufort is a smallish town, with not a lot of cultural diversity but not too far (1-2 hours) from bigger centers
  • Winters are warm (we had 80 deg. today), but summers are sweltering.
  • We are by the Atlantic Ocean, and you can actually swim for about 8 months, year round if you’re hearty but we have a risk of hurricane.

I was tasked with finding the potential employees, the boss was tasked with luring selling enticing extolling the virtues of both the company and the region.

It became a marketing exercise…

We were eventually successful in filling some positions, but the results were interesting. I’ll share them in my next post.