I am a codenewbie like some of us here. Currently enrolled to a full stack developer bootcamp, which soon to end (in a few months). Therefore with high hopes I have started to read job applications to get to know what is the requirements and used technologies. But the ultimate question is where to go and what technologies I should be specialized to?
But before we dive deep into my story and dilemma, lets kick off with some terminology.
What does even front end, back end and full stack mean for me?
I have seen a meme which I think described it perfect for me.
Front end development
It is Homer "sexy" side. This is what Marge sees, so the user. It is the shinny side what everybody sees. When the user opens a webpage, a well-designed page comes up with nice interactive features.
Back end development
It is Homer less sexy side, the side behind, the ugly side? I would not say ugly. For me back end was a magical world which runs in the background and nobody know what is going on there. It is the server side. Good example is when the user login to an account and push the button. What happens then? All these data going somewhere and then a few sec later the user dashboard comes up. Magic! In reality not so much :D
Full stack development
A person who can do both and make a full application with front end and server side.
So now back to my story and dilemma
I know it depends. Depends on your strength, personality and maybe time and economy background.
When I started web development I heard and read that "go for front end, it is easier to learn, within just X months you can get a job and even better, there are more jobs..".
So yes I started to learn and think that I am going to be a front end developer. Is it easier? That is again depends on. With enough practice, yes it becomes "easier" or I would say less challenging. That is where I am now.
I have also gained insight to back end development in the last few months with NodeJS by making a full stack CRUD application (not a typical "TO DO" app).
Here we are. After this I am not sure anymore where to go.
Doing this project made me realized the following about back end development:
It is not a magical world. It is possible to learn it, even for a newbie like me.
You need to be prepared that the occurred errors are different. It might be harder to find solution for your problems on the internet in the beginner level. That might sound weird, but it is true and it is because back end is also about security.
Good example: I used registration and login in my case but just on the super basic level. When I faced with some problems with this topic, the internet were full of with really complicated solutions with lot of security measurements. It is good by the way! It is just hard to find an easy beginner solution.
All these small or bigger challenges convinced me that back end is a really exciting side of web development, what I am actually interested in too.
Firstly, I am more confident with front end tasks as I have used front end more often. That is obvious. With enough practice I believe I could be confident with back end technologies as well. But that takes time.. Time, I am not sure I have. Here comes time and economy in the picture...
Secondly, it is true, there are more junior front end developer jobs out there than junior back end developer. Again time and economy.. It might take more time to be good enough to find and then get a back end developer job.
In a perfect world and workplace this might not be a problem. A perfect workplace would allow the workers to try different things out. I dream about a junior developer position in a workplace where I can work with front end development, but after some time I would be allowed to look into and might switch to back end technologies within the same company. Do you think this exists? I really hope so 🙂