All of the Atlassian products are extensible. Each one has unique capabilities and requirements, as described in our product tutorials and references. But they also share s common underlying platform. Thus, there are some coding tasks and concepts that are common across applications. These include adding a configuration UI for a plugin, working with the activity stream, or accommodating websudo in your plugin.
The following pages describe some of these common programming tasks.
Once you've got a handle on the common aspects of Atlassian plugin programming, you can dive into the product-specific references below. You may know about Confluence or JIRA, but have you considered creating a plugin for Bitbucket Server or Bamboo?