It’s commonly said that people are an organization’s greatest asset: Employees’ qualities, characteristics and motivation directly impact an organizations success or failure. Likewise, the success or failure of an API offering depends on the quality of the people who are involved in its development. Creating an API that will be efficient and well constructed–and that will delight the API consumer–is a human talent that API providers rely on to ensure their product is as good as it can possibly be.ProgrammableWeb has formed a view on what constitutes a great API developer, from two perspectives:The qualities of the ideal developerAdvice on how to recruit the ideal developerArmed with this information, API providers will be able to make insightful and intelligent choices in building an organization to support their APIWhat Does an API Developer do?Before proceeding with a discussion on the qualities of a great API developer, it’s important to outline ProgrammableWeb’s view on what the responsibilities of an API developer actually are.An API developer acts as a conduit, taking an organization’s aspirations for the API economy and turning them into something practical. API developers’ primary focus, therefore, is to interpret the vision for the API that has been set by the organization’s stakeholders. The developer will collaborate with these stakeholders to produce an API that meets business requirements.Developers will also implement API-first design practices to allow the API to reflect the best possible design and developer experience. The design and implementation of the API should take precedence over any preconceived notions or understanding of the underlying stack.”To make all of this happen, API developers need a set of heightened skills that characterize their ability to turn organizational requirements into great APIs.The Qualities of a Great API DeveloperThe qualities of our candidate developer naturally mirror those of any great software developer, but are marked by some differences. These qualities are characterized in four ways:In-depth programming knowledgeAbility to communicate effectivelyDeep understanding of the stackReadiness and ability to re-useWe’ll dive into these qualities in more detail below.