Why are front end developers so high in demand at startups if front end development is relatively easier than other fields of engineering?

You’re starting with an invalid assumption. Front end development is absolutely not “easier” than other forms of engineering.

When you’re writing server-side code, you’re writing for one language on one operating system with (usually) one database implementation. Write the code, test that it works, go home.

Front end developers have to write code that works in dozens of different environments. It’s not just different browsers (IE/Firefox/Safari/Chrome/Opera)—it’s also the different versions of those browsers. IE 6, 7, 8, 9 and 10 all have their own bugs and limitations. Mobile is even worse—hundreds of different browser/OS/device variations, and even Android has bugs and even feature regressions on different browser versions.

To make things worse, they have to do most of their work in HTML and CSS, which provide extremely limited tools for working around bugs (hence the past decade’s obsession with CSS hacks). JavaScript helps a lot here because at least you can use feature detection (though that in itself is controversial due to the performance overhead)—but now you’re handling even more code branches and potential areas for bugs to creep in.

Not to mention that a good frontend engineer will need an understanding of web performance—which incorporates everything from DNS lookup times to HTTP caching behaviour to minification build scripts to CSS layout engine implementation details.

Oh, and they’re on the frontline of web application security, so they need to understand CSRF, XSS, Click Jacking, DNS pinning (that was a fun one), UTF-7 character encoding attacks...

And these days there’s responsive design, media queries, HTML5 AppCache, WebGL, CSS transforms, SVG, Canvas, localStorage, WebSockets and so on to worry about as well—each one introducing exciting new capabilities, and each one introducing brand new browser support challenges to figure out.