embedded

Archived Posts from this Category

Career: Generalization vs. Specialization

Posted by benoit on 19 Mar 2007 | Tagged as: .NET, career, embedded, ramblings

Cory Foy’s post regarding a .NET position at Microsoft got me thinking about the specialization trend in software development and my tortuous career.  Let’s face it, these days, you will be hard pressed not to specialize.

For example, in the .NET world, you have to become familiar with the framework itself to get anything done.  But that is just the beginning! I’ve been working with .NET off-and-on for 4 years now.  Yet, I still have no clue about ASP.NET.  What about WPF, WCF, InfoCards, WPF/E.  It is nigh impossible to keep up with all these things!  And we’re just talking about .NET here!
The embedded world’s specialization takes a different form.  The technology is pretty common, mostly C or C++, but you have much more dynamics when it comes to the platform and the operating system (or lack thereof).  Processors with 8-Bit, 16-Bit, 32-Bit bus, each with it’s own quirks and a 300 to 600 page manual.  Operating Systems like Windows CE, Linux, VxWorks, pSos, Integrity.  Different tools for each processor family: Atmel, Arm, PowerPC, Intel, PIC.  Don’t forget the assembly languages, all similar, but all different (then again, only nuts like me deal with assembly language)!

This state of affair has me wondering: What chance does a generalist like me have against the hordes (or so it seems) of specialists out there.  While I have been a programmer most of my career, I also have done sales, presentations, training, system designs and vented in frustration at a billionaire. I have used a lot of C and C++, some C# and WinForms, a smidgen of VB(6 & .NET) and assembler.  Scripting? Sure, Python, TCL, REXX, bash, csh, awk, sed and getting into PowerShell.  I have dabbled with Oracle & MS SQL 2000.  I’ve worked with processors of all ilk: Intels, PowerPCs, Arms, Atmels, PIC, Rabbits. I know emulators pretty good, I wield a mean Oscilloscope, but my soldering skills have gone to pots.
How would I stack up against someone who has been doing .NET full-time for the last 3 years?  My feeling is that as long as the position is not specifically for ASP.NET or revolving around databases, I would have a fighting chance.  It boils down to a classic depth vs. breadth debate.  Someone with many years of exclusive .NET experience would have a depth of knowledge I don’t have. This depth of knowledge is a significant asset. However, the fact that I have touched so many areas, and can juggle a sensor in assembler, a back-end in C++ and a WinForm in C# during the same day point to an ability to learn and adapt quickly.  This is also a significant advantage.

The bottom line:  it depends what the hiring party is looking for.  A specialist might be perfect for a given position, but a generalist might have a leg up for something else.  One thing to keep in mind:  If you ever want to leave engineering and become an apprentice under “The Cruel Marketing Tutelage of Pai Mei Sink“, being a generalist might be more advantageous (while that particular opening does appeal to me, I can’t deal with fish heads…)

As for me, I’m content in the knowledge that few people would be able to do what I do here.  The fact that no one wants to apply for our engineering position just proves my point!

Around the Net #6

Posted by benoit on 19 Mar 2007 | Tagged as: Around the Net, design, embedded

Another week-end gone by much too fast…

Community

Ralph Depping has a blog with an embedded focus.  He is located in lovely Cork, Ireland. I wouldn’t mind spending more time on the Emerald Isle!

Larry O’Brien names names with this follow up to his machine being hacked…This points to the perils of poor customer service and remote management of servers.

Roy Osherove links to The 46 best-ever freeware Utilities at DonationCoder.com.  Not quite as comprehensive as Scott Hanselman’s list, but then again, Scott is the original “I’m a geek who loves to hoard and try every kind of software that ever existed, hopefully free”.
Design

Sam Gentile has a redesigned home site (thanks to Office Live Services).  Do check out his Software Engineering section.  It’s full of goodness.

Sam Gentile’s New and Notable 149 points out that Microsoft is working on better MVC support for ASP.NET
Jeff Atwood over at Coding Horror (a new favorite site!) turns his gaze to the 404 web page and how to design a more user friendly “page not found”.  Larry O’Brien thinks we should keep the 404 though.

Tim Ottinger points out that all software developement is Iterative; it’s simply a matter of granularity.

Scott Hanselman points to the uber-cool Optimus Mini Three Keyboard and it’s less than optimal programming model.  When a hardware shop does software…

Around the Net #2

Posted by benoit on 13 Mar 2007 | Tagged as: .NET, Agile, Around the Net, embedded

The integration I do now has nothing to do with the integration I did in college. Calculus was easier…
Agile

Mike Cohn, author of Agile Estimating and Planning, was interviewed by Dina Henry-Scott of Controlling Chaos. Get it here.

Test-Driven Development

Roy Osherove puts a new twist on the age-old practice of code reviews: Test Reviews. He asserts it is actually easier to find logic errors by reviewing the tests.

TestDriven.NET 2.4 Beta is available. With support for NUnit 2.4 RC2. (via The Daily Grind)
Embedded

Some tidbits from Jack Ganssle’s newsletter. DO subscribe!

The Embedded System Conference will be in San Jose, April 1-5. On the menu: the teardown of a Toyota Prius, Al Gore as the keynote speaker, Orange County Chopper in attendance (will Mikey be there?)

Ralf Holly wrote an interesting article on Compile Time Assertions for Doctor Dobb’s Journal. It’s an oldie but a goodie!

Intel, the company that launched the embedded systems industry with their four-bit 4004 in 1971, has announced the end-of-life for most of their embedded processors. The MCS51, MCS251, MCS96, 80X18X, 80X386, 80X486, and i960 will no longer be available. Last buy is March 30, 2007, with final shipments made by September 28.

If you will be porting Linux to an embedded system, take a serious look at “Embedded Linux Primer, A Practical Real-World Approach” by Christopher Hallinan. It goes into much details of what is involved in embedding Linux.

Former Colleague Doug Gaff has a wrap-up of EclipseCon 2007. Why is this under embedded? Because Doug works for WindRiver and they are using eclipse all over the place; builds, debugging, hardware bring-up. Device Software Development Platform… Thinking eclipse = Java is soooo 20th century.

I miss my 2 LEDs…

Posted by benoit on 02 Mar 2007 | Tagged as: design, embedded, ramblings

We’re in the process of finishing up a small sensor implemented with a small 8-pin microcontroller.  As luck would have it, we have 2 spare I/O pins which we put to good use on our prototype board.  We hooked up 2 LEDs to those spare pins. One indicates the sensor was functional by continually blinking.  The other blinks briefly when the sensor gets a message.  This worked great for development, as it gave us immediate feedback as to the state of the sensor.

We’re now using production boards, and due to space constraints, the LEDs are gone.  I am left with a lifeless black blob of plastic with no visual feedback.  No way to see if my baby works. I miss those LEDs.

I am not alone after all!

Posted by benoit on 01 Mar 2007 | Tagged as: embedded, ramblings

In one of my early blog post, I was bemoaning the apparent lack of embedded blogs out there.  I have finally discovered that I am not alone!  Go check out Embedded Gurus!  There are some forums, but what has me excited are the bloggers: Michael Barr of Embedded Systems Design fame, Miro Samek,  author of Practical Statecharts in C/C++, Larry Mittag, Nigel Jones with great technical content.  Do read the article he wrote for Embedded Systems Design on ISR overhead!

In an interesting coincidence, it appears the Embedded Gurus and my ramblings started about the same time. I must not have been the only one thinking there was a need.  Here’s to the expanding blogosphere embedded scene!

« Previous PageNext Page »