If you are a product manager or just working in a company that uses Django then it’s so important to understand the underlying technology. It helps communicate and understand the tech team and you can add value and grow.
I’ve successfully built a tech team as a non-tech using Django and here are the best links I’ve found.
It’s not super complicated, it just takes a bit of time to understand the core principles.
This is a good overview: https://medium.com/swlh/python-101-for-product-managers-18eaefd32a90
“You primarily write your code to communicate with other coders, and, to a lesser extent, to impose your will on the computer.” -Guido van Rossum
Understanding the Django Architecture:
This is a good article about understanding the Django architecture https://medium.com/@timmykko/a-quick-glance-of-django-for-beginners-688bc6630fab
- The Model is the logical data structure behind the entire application and is represented by a database (generally relational databases such as MySql, Postgres).
- The View is the user interface — what you see in your browser when you visit a website. These are represented by HTML/CSS/Javascript files.
- The Controller is the middleman that connects the view and model together, meaning that it is the one passing data from the model to the view.
More info about that: https://djangobook.com/mdj2-django-structure/
This is a good article about when to use Django and when not to? https://medium.com/crowdbotics/when-to-use-django-and-when-not-to-9f62f55f693b
Some important principles to understand for working with techs:
- There is a saying that it takes 2 developers twice as long to do the same work as 1 developer, thats because the communication cost adds time when someone could have just done everything by themselves in the first place. This is one of the biggest challenges in working with developers. That’s why it takes
- Developer’s motivation is usually to solve interesting problems, or create a system or machine that works well and does something good or impactful. It’s important to lay out the vision clearly with proper product roadmaps.
- Communication and planning – this is one of the most important things in working with a team of developers. Communication should be succinct and precise. Just like the best code is succinct and precise. One line could do the same work as 100 lines of code. It’s a great practice to communicate succinctly. Less is more. Succinctness is power. Never use a long word where a short one will do. On Writing is a great book about how to write well.
- It pays to attract talent. Unlike in other kinds of work such as sales, or operations management, where the difference between the best and the average is likely to be 2x, 5x or even 10x. In terms of developers, the difference between the best and the average can be 100x or more. That’s because technology is a very powerful tool, and it’s possible for someone to create something that is so much better in a fraction of the time. It really pays to attract the best talent.
- Technical Debt – we all want things done fast but doing something fast is usually not the best. It can leave everything messy which means in the future you need to spend time to fix the problems and mess. Doing something with a shortcut in the short term can cause a problem that needs to be fixed later, or make things slower in the future.
Feel free to leave a question or comment, thanks!
Pingback: How to improve SEO on Django? - Richard Coward