When it comes to learning a language and deciding on the direction you want to take with your career, it’s best to look at what differentiates a front-end developer from a back-end developer. Although there is no reason why you couldn’t just learn both if pressed on time. Front-end will most probably be your best bet.
Most companies when looking to hire web developer, they do so in the front-end department. This is because the consensus lies in that there is less to mess up in the front-end hence lesser risk.
There is a catch in all of this though and that is the bifurcation of the front-end from the back-end is not as straightforward as it is portrayed to be. To begin with, this ignores the middle protocol level knowledge that is impertinent. If you lack a thorough understanding of concepts like HTTP, the difference between Http and https, cookies, TCP/IP, sockets sessions, the concept of stateful vs stateless communication, DNS, proxies, reverse proxies, etc. you will make huge mistakes that could put your career in jeopardy.
The second aspect to this is the fact that full-stack development includes both the client-side and the server-side and most often than not, you cannot pick one without the other.
A common mistake most graduates make is that they fall into whatever area they are given without thinking about their interests. It’s one thing to be knowledgeable about everything and another to find your niche and work in it.
If you have not yet started your journey, we highly recommend full-stack boot camps that are to the point and efficient, such as the one at Nerdii. When you are going through the course of the 12-week Bootcamp, notice what parts strike you the most.
However, all that being said you have to start somewhere and the question remains: front end or back end?
We would say start with the Front-end but don’t limit yourself. You still should try to aim full-stack but starting at the front-end gives you a good, not so overwhelming head -start. If you begin by learning the back-end, you will eventually have to learn both simultaneously and that can get quite daunting, to say the least.
To highlight a few differences:
For front-end development, if you have a knack for creativity this is for you. When working on the front-end you are primarily working to “present the data” in a unique way or a creative way. Familiarity with how data will be presented across different browsers, desktop, and other devices is key.
User Experience (UX) and User Interface design (UI) are two key elements to any front-end developer role.
For back-end development, the key is to know and understand the logical side of programming. You need to be aware of how to model different business domains, how to work with different service providers for integrations, how to work with databases etc.
Some key skills that you may want to focus on are SQL, python, use of APIs, microservices, etc.
Remember that no matter where you start, software development is a learning process. You will constantly have to adapt, learn new languages, frameworks, technologies and that is what makes it fun too! General, overall knowledge of both the front-end and back-end can be a good starting point as you continue to dive deep as you practice and progress.