Firmware Question

Is the code I load from my Arduino IDE considered "firmware"? I looked up the definition its something like:

permanent software programmed into a read-only memory.

Take home test?

You can call it firmware if you like. It is in memory that is not writable by the application code so that can be considered "read-only memory". If you never change it it is 'permanent'.

In the context of Arduino your program is called a 'sketch'.

Naw, just wondering because I see alot of job openings specifying "firmware developer". Just wondering if I would qualify if I understand Arduino Code and the concept of compiling to machine code.

johnwasser:
You can call it firmware if you like. It is in memory that is not writable by the application code so that can be considered "read-only memory". If you never change it it is 'permanent'.

In the context of Arduino your program is called a 'sketch'.

Thanks!

chiques:
Naw, just wondering because I see alot of job openings specifying "firmware developer". Just wondering if I would qualify if I understand Arduino Code and the concept of compiling to machine code.

I think "firmware" is a reasonable description. It isn't hardware, because it can be changed, and it isn't "software" in the traditional sense, because it survives a power off.

If you understand and write Arudino cores and libraries, you might qualify for a "firmware developer" position. If you just write arduino sketches using other people's libraries... probably not. While an arduino sketch WOULD qualify as "firmware", to be a "firmware Developer", you'd need to understand why, and probably be able to write software that directly interfaces to on and off-chip peripherals.

That said, "firmware developer" can have a very broad definition, from itty bitty microcontrollers (microwave oven timers), to quite substantial systems (phones based on linux, kiosk displays based on "windows embedde", etc.)