Contents


Name of Skill Classification of Skill Prerequisites for Skill Related Software Engineering Areas(s) Rationale for Skill Roles for Skill Work Related To Skill Real World Example Role of Academia/Industry Tools supporting the skill Skill Self Assessment References



Rationale for Skill

  • API's are a critical part of Backend of any client-server architecture application.
  • The goal of API programming is to make the user's interaction as robust as possible, in terms of accomplishing user goals, such that the operation succeeds except for user-side error, for example: input data validation in which user needs to perform the operation again with valid data and the operation should succeed.


Roles for Skill

  • Roles of an API Designer
    • Build New Culture if a Legacy culture exists
    • Distributing complexity across multiple API's
  • Roles for which API Design is a subset:
    • Full-Stack Developer
      • Backend Developer
        • Database Designer
        • API Designer


Work Related to Skill (Related Activities and Artifacts)

  1. Code Good API's 5 Golden Rules for Great Web API Design
  2. Develop Robust API
  3. Versioning API
  4. Security
    • SHA-1 Token
    • JWT: JSON Web Token
    • SSL
    • OAuth 2
  5. Write proper documentation to make the use of API easy, less cumbersome and clear: Reduces Cognitive Distance, Adherence Distance between Designer and Other StakeHolders
  6. API Programming is closely related to producing side-effects i.e. Database operations. Thus, it is required for the api programmer to be skilled at performing database operations such as create table, insert into table, select, delete, aggregate et cetera.
  7. Code Review


Real-World Example/Scenario of Skill (Text, Graphic, Audio, Video)

  1. Google provides API's for Developers Google's API Explorer
  2. Twitter API's to send, retrieve tweets, direct messages, media, geo-location, tweet statistics Twitter API Docs
  3. Facebook provides API's to manage content by programming Facebook Developers Guide