Read this microsoft documentation for introduction.
My favorite editors to work with ARM templates is Visual Studio, can be installed from here, choose Community if you don't have any MSDN license and Visual Studio Code, can be installed from here and then install Azure Resource Manager Tools extension. Like this
- Open Visual Studio Code
- Press F1 and start typing ext or (Ctrl + Shift + X)

- Choose Extensions: Install Extensions
- Search for Azure Resource Manager Tools

- Click on Install
- Reload editor
I am going to use Azure DevOps and Azure Portal. You can read my blogs how to Create Azure DevOps Account and Azure Account. Create an Azure DevOps project as described here. Call it ARMTemplates.
My public Azure DevOps project is here.

Take a look at Azure Resource Manager Templates - Best Practices Guide.
And at Azure Resource Manager QuickStart Templates.
Now you are ready to write some code.
Take a look at my next blog Create Azure Resource Group using ARM templates.
Links in this blog
Azure Resource Manager overview
Create a new project Azure DevOps
My public Azure DevOps project
Create Azure Resource Group using ARM templates