This is a collection of things I think any beginner web developer working on the Python/Django stack ought to know. This assumes zero knowledge in web development or programming to begin with.
- Web Related
- Best book to read:
The Art of SEO
- What is a GET and POST request
- 200/301/302/403/404/500 status codes
- What is a cookie and how is it used
- Learn how to search and read documentation
- Basic SEO knowledge
- Frontend
- Best book to read:
Don’t make me Think
- How a page is loaded in the browser (DOM)
- Working/basic knowledge of HTML/CSS/JS – You will learn this by osmosis
- What is AJAX
- What is HTML5
- Basic UX/UI understanding
- Python
- Write
Fizzbuzz
- Read
Learn Python the Hard Way
then an intermediate book like Dive into Python or one of the O’Reilly series
- Django
- How does form validation occur
- What is template inheritance
- GET/POST paradigm within a view function
- Do the tutorial project at
djangoproject.com
- Read
Definitive Guide to Django Development Done Right
- Be able to setup a new project from scratch using virtualenv locally with a skeletal folder structure and settings that caters to a production and development environment
- What a view function does
- What a model class does
- What does a template do
- Basic Regex and URLS
- How do urls, views, models and template relate with one another
- Difference between model forms and forms
- How to write a test that tests the view functions, models and utility methods
- How to debug and find the source of a problem
- Database/Models
- How to model Foreignkey relations
- How to model M2M relations
- Basic data types
- Tools in your Employ
- How does a migration work
- How to do an initial migration
- How to migrate subsequent changes to a schema
- Trouble shoot migration conflicts
- iPython
- South
- Git
- IDE of choice, preferably VIM
- Firebug
- Fabric
- Processes
- How to add, commit, release, rollback, fix, merg and conflict management
- Deployment process at your team. How it works, what git hooks are used for what purposes. What fabric scripts do what etc
- Git Flow
- Soft Skills
- Communication with product owners
- Communication with colleagues
- Cultivating a
Growth mindset
- Graduating Project!
- View all the users on the project
- Edit the details of the users
- Create a new user
- Delete a user
- Create a one page Django project that will allow me to:
A note on doing too much reading:
Oftentimes as a beginner, we’re overwhelmed by the amount of information we need to do something. The knee jerk reaction, a badge of the fine education doctrines what have been ingrained in us, is to read about the topic/subject. I find this hits a wall of diminishing returns quickly.
For the reading to be truly effective, you need a certain amount of wisdom to absorb it. This can only be done by reading backwards. What this means is that say you’re tasked to create a dashboard page from scratch. In your mind you’ll probably think something like:whoaaaa, I have on idea how to do this. I need to do some research!And then you try to do random reading at djangoproject or various books and then bite off more than you can chew. The human brain has a tendency to make things more complex than it really is. The right question you should be asking in your mind is: how do I first load a page and then present a form on this page to manipulate data?This will make your reading much more directed and effective.