In this blog, I want to share my experience of transitioning from frontend to backend development and offer insights for those considering a similar path.
The Frontend Love Affair
I fell in love with frontend development from the very beginning. With frontend, every line of code has an immediate and tangible impact, which is both rewarding and motivating when one first starts off. It keeps you from getting bored too fast initially because there’s genuine excitement in watching, for instance, the entire webpage change to a vibrant red when you set the background color to red.
The Panic of Transitioning to Backend
I was pretty content with my tech stack at this point and was looking for junior frontend roles. However, my journey took an unexpected turn when I landed a full stack developer role that required me to work extensively on the backend.
At first, I panicked. Unlike frontend, where I could instantly visualize the results in the browser, backend development felt abstract and disconnected. There was no immediate visual feedback, and I found myself buried in configuration files and server setups. It was a daunting transition.
One of the first technologies I encountered during my backend journey was Django, a powerful Python framework. It was an undeniably steep learning curve, but I persevered.
Django, on the other hand, taught me patience. I understood what the tutorials were doing but when I tried to do something with Django on my own, I’d be stuck. It was because, unlike in Frontend, there is a lot of initial configuration work which can seem tiring.
I wasn’t catching up on Django at all. But as I kept watching tutorials, and reading documentation, I saw a pattern. A series of configurations everyone would do before writing actual Django like adding apps and registering them, managing migrations every time we make a change to the model. The more I practiced alongside the tutorials, the more I remembered and finally, the configuration part stopped bothering me so much.
Next in line was the database. I started with Postgres which is a relational database. Even before I started learning db, I used to think of the database as an Excel sheet. Tables with rows and columns.
There is a site called pgexercise.com that has a bunch of Postgres problems and covers a wide range of important topics. I completed it all too. The head-scratching was worth every bit of effort, although it was quite time-consuming.
As they say, “Practice makes perfect,” and in my case, practice truly worked its magic. I began by creating small programs, like a URL shortener, and with each passing day, I found myself more at ease with writing backend code.
Learning by Documenting
One of the turning points in my backend journey was a task that required me to document a part of a Django project’s codebase. It forced me to dig deep into the code, understand its logic, and explain it to others. Documenting code not only improved my comprehension but also made me appreciate the thoughtfulness of well-structured code.
As we have come to the end, I’m again saying that my journey from frontend to full stack development was filled with challenges and moments of doubt. So it really is okay to feel overwhelmed while learning something new as it makes us more aware and hardworking. However, you should also note that the overwhelm should not take over the learning curve.
Here are my key takeaways:
● Embrace the learning curve and don’t be discouraged by initial challenges.
● Leverage your existing knowledge of other programming languages or other related
technologies to your advantage.
● Document a random git repo(with enough stars) on a Word file with whatever you understand.
No one is going to judge you.
● Experiment and get hands-on practice.
Alright, I hope my journey was insightful to you and worth reading. Happy coding !!