Should I be a Front-End Developer or Back-End Developer? This question was in my head for a very long time, wondering what path should I pick. When I started my career, I would have never considered becoming a back-end developer ever in my life, so I started out as a Junior Front-End developer with very basic knowledge of HTML/CSS/JS.
I remember 5 years ago when I first had an interview at Crumpled Dog, I didn’t even know what SASS was and I could barely write any JS code. But I knew I wanted to know what it was, and to learn more about it. I knew this was what I would be doing with my future and I was loving every bit of it. I was thirsty for knowledge and willing to learn as much as possible, so much that I sometimes didn’t even notice when time was passing by and everyone was leaving the office to go home.
At that time, I wouldn’t have dreamt of ever going to the back-end world. I was satisfied with what I was learning and was planning to become a good front end developer. Mostly it was because I believed I was not good enough to become a back-end developer. It really looked to me like a dark cave that if I entered, I would get lost in.
This was true until a colleague of mine decided to light the path for me into the cave. And since that day I am wandering around in there, looking for all the great and interesting things that I never thought I would be able to find.
Not sure if it is the best analogy but that’s how I felt at that moment!
I think there are many developers wondering the same thing, wondering how to choose between these two areas. Many of them end up becoming a Full Stack Developer, which is something I am aiming to become as well.
Having learnt more about back-end development, I now cannot choose one or the other, so I’m thinking: why not do them both?
The thing is, there will be people saying that doing both means not being very good at either.
I agree and disagree. I think we should all be allowed to do what we like without feeling we are not good enough. The best scenario is to become expert in one area, as indeed it is difficult to cover both entirely, however I believe that with determination and hard work it is possible!
Simply put, I like working on both, so I want to do both, and I am sure there are many developers who feel the same as me. You should challenge yourself, experiment with things and never give up on what you want to achieve. It might seem very hard at the beginning but as you learn, things will always become easier.
I still sometimes feel overwhelmed by the amount of information I need to learn for the back-end side, but I learned to have patience and not to criticize myself for being slower. If you need to take the time to understand something and test it out and make sure it works, that’s totally fine.
Below I made a list of some key points from my experience that I think made me become a better developer.
- Slow down
I start with this because sometimes it was difficult for me to slow down. I wanted things to be done fast, like I was running a marathon, and I was ending up creating a mess in my code. Slowing down means taking a little bit more time on evaluating the problem that I am trying to solve. Juniors usually try to do the tasks and deliver them as fast as they can, resulting in buggy code which takes more time to fix after. I totally understand this scenario as I was doing the same at the beginning. I am still struggling with slowing down sometimes as I don’t always have much patience, but I know I have to in order to deliver better code.
- Keep clean and organize your code
Pay attention to the senior developers and pick up what you think works best for you when it comes to writing better code. Check how they organize their code. Clean and organized code is easier to read and therefore change in the future. Do not repeat yourself, use good names to define variables, classes, functions etc. and comment out your code.
- Pay attention to everything that happens at your work place and be curious.
There may be things that you will face at some point and it can be very helpful if you’ve heard about the issue when other colleagues have dealt with it to get an idea of how things were solved. I’ve been called “inquisitive” because I’m really curious about things, and this has helped me a lot in my career.
- Ask to be given back-end work
I was lucky to receive enough tasks to do for both front and back-end, which was very important in my development. Solving bugs and successfully finishing back-end tasks is what gives me confidence to continue learning more.
- Don’t be ashamed to admit you cannot do a task
Sometimes I still feel bad when I have to send back a task or a bug because it’s over my head, but it is always better to admit what you can’t do in the moment rather than spending a long time on a task without a clue of how it should be done and getting nowhere. I usually take a first pass at it, and if I feel like the task is outside my knowledge, I will pass it over to my more experienced colleagues and see how they go about fixing it, so I will know for next time.
- Google is your best friend
You can find everything on Google, there are plenty of examples and tutorials. Learning how to search for things is a skill in itself, but with time, after accumulating more knowledge, you will understand the best way to search on Google. You won’t need to memorize everything, but you will get better at knowing what you are looking for. I usually Google issues first, then I will turn to my colleagues for help, but often I can find the answers myself without disturbing them.
- Work as a team and share knowledge
I really appreciate developers who spend time to share information about coding and solving issues and who are willing to help at any time. Working in a team and collaboration goes hand in hand. In a team we learn from and teach each other, and the work environment should always embrace and reward sharing.
- Continuously improve your knowledge and skills
The world of technology is always evolving. This is what keeps us excited so we don’t get bored. All knowledge you gain will help to strengthen your overall understanding of technology.
In order to keep constantly improving yourself, spend lots of time learning so you can get to the point where you start to feel good about yourself. Communicate and collaborate with the team, and take pride in your professional work. There are many important aspects to becoming a good developer, but the most important is to enjoy your work and to have a passion for it, and not to see it as just a financial way to live. If you care about what you do, you’ll be more willing to learn, and be able to reach higher levels of understanding.
I would like to leave in the end some motivational quotes that I really like which helped me in my journey.
“Everything is hard before it is easy.”
“What you can achieve is limited by how far you can see.”
“Desire is the starting point of all achievements.”
“A dream doesn't become reality through magic; it takes sweat, determination and hard work.”
“Everyone believed in you enough to help you reach your current level. Now is your time to believe in yourself.”