People who code in any of these and more are 'coders' or 'programmers'
What is Programming
Rather than doing things manually, you are writing instructions for a machine to perform task on your behalf.
Those tasks could be things like:
Responding to requests for information
Formatting Data
Displaying Data
Maintaining the transfer of data between multiple points (e.g. chat programs, video conferencing, etc.)
Data Science
Languages:
Python, R and Julia
General description:
You get given collected data
You cleanse and format it
You analyse it
You present your findings in graphical form
Extensions to this include:
Artificial Intelligence and Machine Learning, where you 'train' a 'model' to complete tasks, such as 'finding people in a photograph', hence creating code that 'writes itself'.
It's automated maths, basically...
Computer Games
Languages:
C, C++ and C#
General description:
You will tend to use pre-made environments (aka 'engines') such as Unity
You add the code to move 3d models around a world of 'nodes'
where various actions can be offered to the user
and then you display the result of the user's choice
This is a VERY difficult industry to get into and jobs are in short supply.
Dev[Sec]Ops
Languages:
Python, Shell, Groovy, etc.
General description:
The application is coded by Software Developers
Think of that as the 'cars on a production line'
You are the people who create and maintain the production line
You control where the code is stored
Who can contribute code
How to take code and automatically test it
How to optimise it
How to deploy it
How to keep the security secrets
Financially rewarding but very specific
You'd usually already be a coder
Native App Development
Languages:
Swift or Objective C and Kotlin or Java
General description:
You're making the apps on your phone.
Pros
Pay is good
Cons
It's a very specific set of skills with limited application
Longevity may be questionable
Developer eXperience is 'interesting'.
Web Development
Languages:
HTML (Content), CSS (Presentation), JavaScript (Behaviour)
[optionally: PHP, Java, C#, Ruby, Go, Rust, etc.]
General description:
You're making web pages that display data to a user
You are creating basic programming to allow the user to interact with that data (clicks, scrolls, etc)
You are creating the machines that send out that data
You are controlling remote machines talking to each other
You are integrating other people's services
Why choose Web?
Lowest barrier to entry
Most positions available
Second highest pay (behind devops)
Largest community (for knowledge)
Most paradigms
Once you learn to program in one language it's then just about learning the syntax if you want to switch to another
How the stack divides
Front-End (client) - what appears in front of the user
Back-End (server) - The machines the business uses to send resources and information to the client
Full-Stack (both client & server)
Cross-Stack is when you use different server language and database configurations