WHY
What can you building or what should you be able to do being a Web programmer. Simple answer is building and publishing a website online. At Entry level you should be able to put up a simple website . Medium level you should be able to make your own page like facebook. Advance level is to operate a facebook page, which is full scale web application with millions of user and traffic as well as security threats everyday.
How
Before anything you need to have a computer of you own to actually write anything. As long as you are reading this on a pc, you are ok to go. if you spend most of your time online with your mobile, it is a problem.
At the core you have to understand HTML, CSS, Javascript and a programming language, which are the front end and back end of a web site. And if you want manage you owner server, you need to understand a list of web technology and unix operating system.
For kids growing up with a computer, the difficulty level is low. For a computer science graduate who spend 3 years learning in school, it is a lot simpler. For people like your mother who was born around the 80s and have no IT back ground. It is possibly but not very practical.
What
Understand computer technology. How computer works
Understand Web Technology. How browser and internet works
Understand Web Infrastructure. How server works
Back end programming language. How to modal business logic
Font end programming language. How to build UI
IF you want something look beautiful. UI Design.
IF you want something easy to use. UX design.
More
That basally covers all the technology parts. If you have a great idea now you should be able to build it yourself. However there are more if you want to grow it into a business….
Understand you market. what is the real world problem
Build and maintain a solution (software)
Make profit. Finance, Accounting, Marketing.
Get along with People. Serve customer, Manage a team.
Problem solving skill
In general it is the ability to solving any problem. eg: what to do when you are late for work. It dose not matter what is the problem. It is more important to ask the right question.
In software it is about solving problem using software. Not all problem can be solved by software. In the year of 2020 software can mostly help in automation, communication, scientific calculation.
If you can get customer what they want asap, you are Amazon. If you can build IT solution for Amazon, you are CTO. If you can establish data center for Amazon, you are infrastructure architect. If you can build a beautiful web page, you are font-end developer. Senior developer manages a small team to deliver certain functionality. Junior developer complete tasks assigned to him.