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.
Introduction
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
What to choose?
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.
What is the dilemma?
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 š
Top comments (12)
As somebody who was working as fullstack for quite a few years let me give you an advice. FullStack in this year means taking care of legacy codebase. Something like fullstack is bacisally non-existent with todays technology. You've got plenty of SaaS services which will do arguably better job, at managing your infrastructure than a dedicated person and current trend, is that companies will lean towards them, as they're also cheaper than a really skilled fullstack developer. If an idea of doing multiple things at once sound good to you, there are roles in companies like advocates or some devEx roles, which will provide you somewhat fullstack like experience, but fullstack role with a 2015 meaning of "do everything by yourself" doesn't really exists now, as we can outsource most of the infra things to dedicated companies.
I really appreciate your comment! It is important to know for a newbie, what a full stack developer actually does these days. :)
Yeah I mean dont get me wrong its still really interesting position with a lot of ownership but it might not be something what a lot of newcomers might expect.
I am a backend developer because I never managed to make things look nice in general, and to understand CSS in particular :P
I know the feeling š I am not a designer, but in general I can follow a design if it is in front of me. My own designs are like from the 80-90s though š
Well viktoria-pajuste.hu/ looks fine to me
but again I'm color blind :)
Thanks š but it could be always fancier and shinier š
Great questions. I'm not an expert but you might consider joining a smaller company that can let you take part in different parts of a project or even forming your own company with other developers. I know that this may be harder but just wanted to put out there another option that may be less obvious.
Also you could start taking some small fullstack projects on places like Upwork or similar. People offer their fullstack skills there.
Thank for the ideas and yes I am also hoping to get to a company where it is allowed to try something else as well :) I could not imagine to have my own company though, at least not yet.
very good!
Thanks