Vitaliy wrote: >>> Gerhard, I must disagree. I've worked with graphic designers and web >>> developers, and these are two very different positions. >> >> Right... just like firmware programmer and hardware designer -- yet this >> list is full of people who do both :) > > What you did is worse than comparing apples to oranges (at least both are > fruit). :) No. I've worked in both areas, and what I wrote about is quite directly comparable. Many, many independent web site designers do it all: (simple) graphics design, (simple) web site design, (simple) web site programming, (simple) host sys admin. I've also worked on sites where a team with 50+ people worked, and it was all separated. This is directly comparable to the situation of many independent firmware and hardware designers. Many of the independents do it all: from (simple) PC software, through (simple) embedded software, to (simple) firmware, (simple) hardware design and (simple) production. But there are also many situations where each of these areas have their own departments with specialists. Heck, board layout is a specialist area when you get to gigahertz motherboards. When I write "simple", that's not in any way demeaning; it means "can be done by one person". That's just the way it is... when a higher degree of specialization is required for each of the areas, you need more people, and each of these get to work on a more restricted part of the whole. So when a small company wants a small device developed, they don't hire a technical writer for the documentation (specs and user), an electronics engineer (for the development of the circuit), a specialized layout engineer (for the board layout), a firmware engineer (for the embedded firmware), a software developer (for the PC interface) and a production engineer (for the production work). They hire one independent who does it all. Similarly when it's not an independent for one device, but one employed engineer for small-scale development and production. Same thing when a small company has web site needs. That's not profoundly different. And the spread of specialities is not any wider here, nor is the market place any different. > On the other hand, hardware engineers and embedded programmers have a > similar mindset. You can quite easily tell whether a hardware engineer is an experienced programmer or "just" programs. The approach to programming is different; this comes with the experience. The same goes of course for the other way 'round; it's just as easy to tell whether an embedded programmer is an experienced hardware engineer or "just" develops some IO circuits. The fact that many engineers working with embedded systems do a reasonable amount of both doesn't change the fact that they are two quite distinct areas, with lots of people who only work on one side of the fence. > Sometimes you can't tell the difference between hardware design, and > programming. When you work with FPGAs, are you programming, or > building hardware? You're developing FPGAs; this is different from both traditional programming and traditional hardware design. There are specialists for this, too, if you want (or need) one; often people who don't have considerable experience developing analog circuitry or developing traditional programs. All the same goes for web page design. While the design graphics seems to be quite distinct from the functionality of the page, it is not. When designing the visual elements, a good design makes sure that they fit together with the envisioned functionality. The visual design for the same page is different for a traditional frame-based designs (where only parts of the page are reloaded) or for a design that always reloads the whole page, it's different for a design that works with overlay frames for page elements, for a design that relies heavily on client-side processing (AJAX), etc. This interrelationship is not much different from the connection between hardware and firmware in embedded designs. Sometimes it's more intertwined (like small PIC-based designs), sometimes it's less (like a large embedded system that uses a common real-time OS that runs on slightly customized standard PC compatible hardware). >> IMO the exact same goes for graphic designers that do web page >> layout. If they don't want to have to deal with HTML, JavaScript and >> the like, they need to look for jobs that are big enough that they >> warrant a programmer just for this; maybe he should team up with >> one? > > Notice that the OP did not mention HTML, and I said that for a > designer, "knowing HTML is helpful". Because HTML is not a > programming language. :) Notice that I wrote "HTML, JavaScript and the like". Your comment about HTML notwithstanding, the "JavaScript and the like" part still stands. HTML all by itself isn't worth a hoot today, only for very very small sites. In pretty much every site, HTML works together with at least JavaScript on the client side, and in a majority of professional sites it is generated by a server-side programming language (PHP, ASP, Java, whatever). The visual design of a page is quite dependent on what can be done dynamically, so what can be done (and approximately how much effort it is to do it) needs to be known to create the visual design. Gerhard -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist