Published: March 18, 2020
When it comes to Python for web development. I feel that it is really not talked about much. Since the upward trend & popularity for Python has been towards Data science in recent years due to popular tools like Pandas, Keras, Tensorflow and the attractiveness of Data Science.
It is hard to find a web developer that uses Python. It is harder for a Django one. This comes from me being in a startup that uses Django for backend and talking to multiple friends who are CTOs from Startups as well who are hiring Full Stack Python developers.
My usual advice when talking to them is to search for ways to train them from the ground up. Especially for people who have fundamentals in programming, in general, to increase your pool of python web developers.
Since I am on the subject of Data Science for web development. I found that the usual practice for Data Scientist who use Python. They will be just using Flask for APIs development. Due to its flexibility & ease of building API or using Data visualisation tools like Matplotlib, Streamlit & Plotly.
For this subject, I talk in detail regarding the pain of developing these dashboards or data visualisation. Nevertheless, it is due to the ease of not needing to understand the various intricacies of web development. To create a highly interactive & functional dashboard that is served or shared through a website internally or externally.
On a practical level, learning web development for Python helps in the ease of transition from a web developer using Python. To building APIs, data visualisations & union of both web development and data science world.
If you're serious about web development for Python. I would suggest you learn Django. Due to its force multiplier capabilities that allow high scalability, batteries included philosophy, security & ease of rapid prototyping.
With the price of being daunting with a steep learning curve. As it uses certain best practices to allow ease of development like having a fix project structure and Model-View Template Pattern (MVT).
If you are using either Flask or Django. i assume that you are building it for a backend in the form of either RESTful APIs, GraphQL & gRPC.
Therefore understanding how to create documentations like Postman, Swagger Editor or adopting API standards like OpenAPI along with understanding testing & mocking can be really helpful in the adoption of your API.
Since great documentation is the key for anyone to adopt an API and integrate into their product or services. You can look at either SalesForce, Twilio, DigitalOcean, Stripe as a great source of inspiration for creating excellent technical documentation.
Lastly, it makes more sense to be a Python web developer because of the low barrier of entry with a niche as either a Flask or Django developer. Instead of using Python for Data Science purposes which may require a higher level of education requirements for jobs and understanding complex algorithms in AI or ML or Data analysis.