I know what it's like to hate your job. This post is for those who think about changing careers.
First of all, let me make things easy for you and tell you what we do all day: Mostly, our job is to take data from point A and put it in point B. And also, when working in frontend, to add some styling to the page so the user sees that pretty thing that he loves. That's about it.
I was lucky enough to have a prior 4 years work experience in 2 other fields that had nothing to do with programming: procurement and financial analysis. In my first year of masters in project management, I managed to get a job at a multinational company, where I learned a lot about corporate culture, team work, deadlines and other things companies are looking for.
But... I also realised that in those fields, I didn't have much financial perspectives that would help me reach my goals. So, after a failed business startup attempt in IT, a mild depression from my current financial analyst job, I literally had a breakdown that made me pursue e career in web development.
Don't get me wrong, I didn't just wake up and thought to myself, "Hey, let's try web development". No. In high-school I did 4 years of computer programming in C++ which gave me the base knowledge of if statements, for and while loops, etc.
Switching from finance to programming, was one of the hardest things I had to do, as I had no guidance and didn't quite know what I should learn first.
Anyways, from my experience in web development, I discovered what is needed from a web developer in order to perform in this field.
Desire to learn new things
The IT field is constantly changing fast. Web development is changing even faster. You need to stay up to date with these changes, since you need to apply them on your job. And your job shouldn't be something you hate.
That's why I think it's important that you should have a real desire, a curiosity, something that makes you open those links, read the documentation or watch the tutorials.
For me, personally, learning new ways of coding, new technologies, frameworks, architectures, is something that brings me fulfilment and I always feel that I don't know enough. Whenever I learn a new thing, I feel much better about myself and also about my career security.
Things just didn't click. I couldn't wrap my head around some concepts.
I was reading documentation and didn't understand how it worked. I was watching tutorials and I had errors that they didn't have in their code and was thinking to myself: "How am I ever going to get this?!?!!".
My advice: Just stick to it! Things are going to click sometime. If you get blocked with something, read it again. If you still don't understand it, take a step back and go to the fundamentals. Take a break, don't think about it for a few hours, then try again.
Don't get discouraged, because you are not alone.
After one year or two of struggle trying to learn programming, it will hit you one day: "Hey, I can read this code!!!" or "Hey, I understand what that other guy wrote here!". Mind blown.
I was very lucky to already go through such a demotivating experience, years before trying to switch to web development. I started a new sport when I was 21 and I had these frustrations before and was even thinking about quitting. But as always, just stick to the training and progress will come. It's inevitable!
Interest in solving problems
One part of your job will be to solve problems. You will have problems everyday. Problems in your code, problems the customer is facing, even problems with your colleagues.
A problem should be a challenge to you! Something that intrigues you and keeps you thinking about until you solve it.
I once solved a problem in our code 2 weeks after first discovering it. It had no documentation available, I found nothing on the internet and just had to try and think about it over and over again until one day, I just saw the solution that was just staring in my face. Note, that I didn't think about it two weeks 24/7. You CAN take breaks a few days, if nothing is burning.
This was the problem, by the way, if someone is interested.
Working nice with others
You are not a lone wolf. You will most probably be part of a team and you will have to talk to other people, discuss ideas, take criticism, provide feedback and so on.
Just be open to different opinions, ways of working and try not to take the code review or the bugs that the QA finds as personal!!! :))
Just a tip: everybody hates a "prima donna/self important" developer.
I CAN DO IT!!!
Have a 'CAN DO' attitude. I know it sounds corny, but it is true. You will have many things to do that you will not know how to do. Don't just dismiss them, saying: "this can't be done", because if somebody asks it, probably it can be done.
Always remember: I don't know how to do it... NOW. Things will change in a few hours, days or weeks.
That's about it from my side.
If you're still thinking about switching to web development, YOU REALLY SHOULD! It's one of the most rewarding careers you can have that provides you with flexible working hours, good pay and after you get some experience, you don't even have to apply to jobs, as the HR recruiters apply to you for a lot of companies.