API Writer
Encyclopedia
An API writer is a technical writer
Technical writer
A technical writer is a professional writer who designs, creates, and maintains technical documentation...

 who writes documents that describe an application programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 (API). The primary audience includes programmers, developers, system architects, and system designers.

Overview

An API is a basic library consisting of interfaces, functions, classes
Class (computer science)
In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...

, structures, enumerations, etc. for building a software application. It is used by development teams to interact with and extend the software. An API for a given programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 and system may consist of system-defined and user-defined constructs. As the number and complexity of these constructs increases, it becomes very tedious for developers to remember all of the functions and the parameters defined. Hence, the API writers play a key role in building software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....

 applications.

Due to the technical subject matter, API writers must understand application source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 enough to extract the information that API documents require. Some common tools used by API writers include computer software that extracts documentation placed by programmers in the source code in a structured manner, preserving the relationships between those comments and the programming constructs they document.

API writers must also understand the software platform/product and document the new features or changes as part of the new software release. The schedule of software releases varies from organization to organization. The writers need to understand the software life cycle well and integrate themselves into the Systems Development Life Cycle
Systems Development Life Cycle
The systems development life cycle , or software development life cycle in systems engineering, information systems and software engineering, is a process of creating or altering information systems, and the models and methodologies that people use to develop these systems.In software engineering...

.

API writers in the United States of America generally follow The Chicago Manual of Style
The Chicago Manual of Style
The Chicago Manual of Style is a style guide for American English published since 1906 by the University of Chicago Press. Its 16 editions have prescribed writing and citation styles widely used in publishing...

 for grammar
Grammar
In linguistics, grammar is the set of structural rules that govern the composition of clauses, phrases, and words in any given natural language. The term refers also to the study of such rules, and this field includes morphology, syntax, and phonology, often complemented by phonetics, semantics,...

 and punctuation
Punctuation
Punctuation marks are symbols that indicate the structure and organization of written language, as well as intonation and pauses to be observed when reading aloud.In written English, punctuation is vital to disambiguate the meaning of sentences...

.

Qualifications

API writers typically possess a mix of programming and language skills; many API writers have backgrounds in programming
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...

 or technical writing
Technical writing
Technical writing, a form of technical communication, is a style of writing used in fields as diverse as computer hardware and software, engineering, chemistry, the aerospace industry, robotics, finance, consumer electronics, and biotechnology....

.
  • Computer programming
    Computer programming
    Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...

     background (Knowledge of C
    C (programming language)
    C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

    , C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

    , Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

    , PHP
    PHP
    PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

    , Assembly
    Assembly language
    An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

    , or other programming languages
    Programming language
    A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

    )
  • Knowledge of tools like Doxygen
    Doxygen
    Doxygen is a documentation generator for multiple programming languages.Doxygen is a tool for writing software reference documentation. The documentation is written within code, and is thus relatively easy to keep up to date...

    , Javadoc
    Javadoc
    Javadoc is a documentation generator from Sun Microsystems for generating API documentation in HTML format from Java source code.The "doc comments" format used by Javadoc is the de facto industry standard for documenting Java classes. Some IDEs, such as Netbeans and Eclipse automatically generate...

    , or FrameMaker
    FrameMaker
    Adobe FrameMaker is a document processor for the production and manipulation of large structured documents. It is produced by Adobe Systems. Although FrameMaker has evolved slowly in recent years, it maintains a strong following among professional technical writers.- Overview :FrameMaker has more...

  • Excellent communication and writing skills to interact with developers


Expert API/SDK
Software development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...

 writers can easily become programming
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...

 writers.

API writing process

About 60% of the time spent in the writing process consists of analyzing and understanding the source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 and planning the document(s). The remaining 40% of the time would typically be spent writing and reviewing the document(s). It is often the case that the analytical, planning, and writing stages do not occur in a strictly linear fashion.

A good foundation of a variety of programming skills is well-complemented by an ability to communicate effectively, especially when the writer seeks to develop a fluent level of understanding with developers.

This process is one of the most important challenges faced by technical writers
Technical writer
A technical writer is a professional writer who designs, creates, and maintains technical documentation...

. The writing and evaluation criteria vary between organizations. Some of the most effective API documents are written by those who are adequately capable of understanding the workings of a particular application, so that they can relate the software to the users or the various component constructs to the overall purpose of the program. API writers may also be at least partly responsible for authoring end-user
User (computing)
A user is an agent, either a human agent or software agent, who uses a computer or network service. A user often has a user account and is identified by a username , screen name , nickname , or handle, which is derived from the identical Citizen's Band radio term.Users are...

 product documentation.

Product

API writers produce documents that include:
  • API Reference Guides
  • Programmers' Guides
  • Developer Manuals
  • Administration Manuals
  • Installation Guides

Resources


Books


See also

  • Application programming interface
    Application programming interface
    An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

     (API)
  • Software documentation
    Software documentation
    Software documentation or source code documentation is written text that accompanies computer software. It either explains how it operates or how to use it, and may mean different things to people in different roles....

  • Technical writer
    Technical writer
    A technical writer is a professional writer who designs, creates, and maintains technical documentation...

  • Technical communication
    Technical communication
    Technical communication is a method of researching and creating information about technical processes or products directed to an audience through media. The information must be relevant to the intended audience. Technical communicators often work collaboratively to create products for various...

  • Technical communication tools
    Technical communication tools
    Technical communicators use a variety of tools to create usable information. Often referred to as a "tool set", there is no defined list of tools that are used by all technical writers...

  • Comparison of documentation generators

External links

Technical writing
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK