Complex codebase 👨‍💻, Python 🐍 & Django, Personal tasks 🚀

By Prajwal Haniya

Techletter #81 | July 13, 2024

How to Memorize complex codebase?

  1. Know your API’s

    Memorize your team’s API surface/workflows. In fact, you should be very familiar with those and not need to refer to the documentation.

  2. Document and understand the code flow

    Understand how the code is organized. While there is no alternative to actually reading the code in depth, there are some tricks:

    1. know which source files are important vs. which are not.
    2. know the lines to focus on vs. skim through.
  3. Read older issues

    Memorizing code is not just about what is visible in it but also about knowing system constraints, bottlenecks, and the sources of repeated problems. Reading about past issues is a great way to learn about these issues.

Original Link


Exploring the roadmap for Backend engineering with Python and Django.

I do have a good amount of experience with nodejs for backend development. However, I feel with Python, the door to different domains can open. Python is not only used for backend development but also for machine learning. Machine Learning itself is a very huge domain, there is a lot to learn.

Why am I choosing Django and Python?

Django is a very old and mature framework. It is well-suited for weekend side projects because Django’s “batteries-included” approach masks much of the underlying complexity, allowing for rapid and secure development.

Some of the books that I will go through in the upcoming 3 months:

There is good official documentation of Django, which probably has everything I need to know about.

I feel video courses are a lot slower. So I choose books and blogs over videos. Reading can be done at our own speed, but videos must be watched at a particular speed. So, I choose the above books in this roadmap. Let me stick with this and will let you know the status of this roadmap after a few weeks.


Use Trello

I have started using Trello to keep track of personal tasks. It is just like jira, but for personal use. Of course you can use it for your projects as well. But, I use it as a personal board, where I keep track of tasks that I need to complete.

This is not a sponsored post, but Trello is helping me a lot in terms of tracking the tasks that I need to complete. So thought to share this with you, as this may help you as well.

Link to Trello.


Referral

Do not ask for a referral, if you’re not confident about your skills. There is no point in getting the interview, which you won’t be able to crack.

It is just a simple waste of time. You need to put in a lot of effort in a programming language first, Then you will be able to bring some value just through product description. If you are not familiar with the tech stacks then you will consume a lot of time to understand what the code is doing.

A good grip on a Programming language will help you build better systems. A good JS or Python engineer is far better than a bad Java engineer. At the end of the output is all that matters, no matter which programming language you use. I believe you can build great systems irrespective of programming languages because idea and logic are all that matter.