Learning to run before you walk with Django

Landing a job recently as a back end developer means I am having to write APIs using the Django rest framework. First off, let me say I’m loving it so far. The framework packs a lot of features that make developing and deploying web APIs a breeze. But diving into the framework before I had the chance to fully learn Django, its parent web framework if I may use that term, seems to me as learning to run before I can walk with Django. That has not been very easy.

To clear up any misunderstanding, I do have an experience with Python. To be specific, I have written a few small projects, including a REST API with Flask. And without any fear of equivocation, I can say I love Flask. Profusely. The easy setup and great documentation, among other things, greatly lowered the entry barrier for me. Before you could say “Simple is better than complex”, I was already working through the amazing mega-flask tutorial by Miguel Grinberg. Basically, I was hooked.

And with my little experience writing Express apps in Nodejs, I did not feel the need to learn Django. Forget that I had read about its great documentation, batteries-included approach and other amazing things about it, I was not ready to Django.

Until the job came. The mention of Django by the recruiter lowered my interest in the job. Call me lazy, but I did not really want to learn Django. Not at that point in time at least. So I told him I knew only Flask. He also mentioned requiring someone with the knowledge of Vuejs. I did not know <vuejs. I told him I knew React though, and that not very much. Basically, I was trying to get him to look somewhere else.

Well he insisted I come for the interview. I reluctantly went. Few questions on Python, React, Redux and we were done. You will hear from us, I was informed. At this point, I was hooked. I prayed I would hear from them.

The phone rang. I picked it. Few minutes later I dropped it. I had heard from them. I had been taken. When can you come to the office so we can discuss? I gave them a convenient date. The date arrived. At the appointed time I arrived at their office. Few questions and answers about this and that. And that was it. You can start work tomorrow. I started work tomorrow.

My journey with Django had begun. At my first day at work, I was learning to run before I could walk with Django.