There are many different types of technical talent. This list is meant to provide a short summary of each to give you a better idea of what the expectations from each role are. Some of these roles can go by other names and we should note that open source developers usually have a diverse array of skills that many not fit in a traditional position. Nonetheless we hope this guide will help you.
User Experience and User Interface Developers are close to front-end engineers, but they are focused less on programming and more on design and implementing design with best practices in mind. These developers can take designs and make them functional in the browser. They also know how to engage end-users and have insights into marketing, SEO, and communication.
User Experience and User Interface Designers are graphic designers who may have some familiarity with HTML/CSS, but they're primarily focused on the content, graphics, look, feel, and marketing funnels (click experiences) of the website or platform. They're usually skilled artists, and know the psychology of what makes people attracted to certain website features.
DB Administrators are specialized software professionals who know the in's and out's of setting up, managing, storing, and organizing databases. They have knowledge of MySQL, SQL, RDBMS, and operating systems like Windows, and Linux.
DevOps is the practice of operations and development engineers participating together in the entire support and product release lifecycle, from design through the production process to troubleshooting and database management.
Solutions Engineers and Architects work closely with clients on coming up with the highly technical, but initial estimate of how to build a technology. They are often relied up during both pre-sales and post-sales implementation work, and have a myriad of skills as full-stack developers.
Mobile developers primarily come in two forms: iOS and Android. IOS developers must know Apple HIG , Xcode, UI Kit, the iOS developer tools, as well as of pure knowledge of Objective-C programming. Android developers must know Java, SDKs, Databases, APIs, and XML.
A developer advocate is someone who's primary responsibility is to make it easy for developers to use a platform. They can come from various backgrounds from sales engineers, product managers, to community managers. They must know the ins and outs of the specific software they are evangilizing, but they are often geared towards community and advocacy rather than heavy engineering.
Sales Engineers are similar to solution architects, but they are primarily focused on pre-sales activity and usually join the sales team on external facing communication and travel. Sales engineers may not touch production level code, but are adept at many languages.