Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Searching for embedded development jobs by the keyword "embedded" is already an exercise in manually filtering out phlebotomist jobs, teaching positions, histotechnologists, all sorts of people who think they're differentiating their offered position by saying "embedded with a team", as if thats functionally different from "working with people". Now weve added functional programmers.

Yet it remains by far the most relevant keyword in my experience. I would think "firmware" would be a better, or at least sufficient catch-all.



"Embedded DSL" is for better or worse a reasonably well established term for DSLs that are embedded within a host language using the language's own abstraction constructs (libraries, macros, etc.), rather than being implemented as a separate language with a parser and compiler/intepreter. I do usually use the alternative term "internal DSL" though, which I believe is also the older one. Besides avoiding the name clash with embedded programming in the low-level hardware sense, I like it better because the opposite of an internal DSL is an external DSL, not an "unembedded DSL".


Much better term is to call it what it is: a domain-specific API, instead of bending the term that was not supposed to be used like this.


An EDSL and a domain-specific API are not the same thing. For example, one typically expects the description of a program's logic and its execution to be separate in a DSL (i.e. building up expressions from the syntax made available in the EDSL and then later applying an interpreter (possibly multiple interpreters) to these expressions) while this is not generally true for domain-specific APIs.


I do in fact have a horse in this race as an Embedded developer, but I don't really ascribe worthiness of exclusive use of the term to any particular side. Theyre all just using a term that predates all of their industries, so this isn't a thing to pick or defend sides on, in my opinion. I simply lament the inability to be specific and comprehensive. It's not like "Embedded" is even a hot buzzword or has anything resembling unique brand recognition.


Actually even the use of embedded here is somewhat ambiguous. Embedded as in devices, or embedded as in embedded within another programming language. I think it might mean the latter here.


You are correct. The first bullet point on the page defines what embedded means for Ivory.

> Embedded: Ivory is implemented as a library of the Haskell programming language. Ivory programs are written using Haskell syntax and types.

An "embedded DSL" is written inside a host language. It is different from a DSL which is parsed from characters using an interpreter or compiler.

I agree it's a confusing term in this context. I've also used the term "hosted". Wikipedia also suggests "internal". https://en.wikipedia.org/wiki/Domain-specific_language#Domai...


It’s both. Ivory is a Haskell EDSL for programming hard real-time embedded systems. Iirc they originally created it for a DARPA aerospace software contract.


but the text specifically says 'for interacting with hardware'. it would be instructive if there was a simple hardware interface example on the front page instead of just hello world and fib.


Just search for "Embedded Software Engineer"?

https://www.indeed.com/jobs?q=embedded+software+engineer&l=


Correct me if I am wrong, but adding terms to the query can have two distinct effects:

Either this would add jobs that hit "software" or "developer" in isolation,(see original problem) or it would filter out "Embedded programmer" or "Embedded systems engineer", if those ads didn't include all three individual terms "embedded", "software", and "developer". (Why I tolerate my current approach)

I've always assumed I was casting the optimally sized net with a single keyword, and no better alternative existed for purposes of completeness.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: