When I first started to learn Django. I used videos from DjangoCon US, DjangoCon Europe, Coding for Entrepeneurs, Chris Hawks and a book from Two Scoop of Django to start my journey to learn about how to program in Django.
Those are how it got me started to learn Django. I sought to learn to build a project using the TryDjango series from the basics of deploying it to Heroku.
So I think it might be good to offer my own two cents on what to learn to land a job as a Django developer. Besides that, you do need to know that you do not need to know everything at the start instead pick it up along the way in your job.
Learning Django takes a lot of effort due to the steep learning curve required to learn about it.
While I was learning more about Django & front-end technologies. I started to see the various aspects of Django that is useful for you when building projects. So here are the potential paths for specialisation:
Full Stack Development - Building prototypes and websites for companies that require some form of e-commerce, membership or other web applications that are a customised solution. This might include the use of front-end technologies like Vue, React or Angular to create mobile apps.
Backend Development - You will be building scripts, internal tools, & APIs, monitoring & optimisation of your infrastructure. You might even use cloud providers from AWS, DigitalOcean, Heroku to help in deployment or the CI/CD pipeline.
API Development - Your focus will be building APIs through the API development lifecycle from design to deployment of your API. Using tools like Postman, SwaggerIO to document or creates APIs. You might be involved to build API for API gateways like Kong, Apollo. You could even tap on cloud providers to build microservices by taking advantage of AWS & Google Cloud, Azure.
I won't be drilling down for each specialisation. Instead, I will be only talking about the rough skillsets that a Django developer might need to start to get a job as a developer.
- Foundation for Python
- Use of source control with a basic understanding of Git commands & understanding to create semantic commit messages.
- Checkout your code
- Create branches
- Merge branches
- Pull request
- Create and close issues
- Checkout your code
- CSS framework like bootstrap
- Understanding on how to use a database like Postgres (prefered choice), SQLite, MongoDB, MySQL
- Use of Object Relational Mapping (ORM) like Django's ORM or SQLAlchemey
- Learning how to use a templating engine like Django template engine, Jinja2
- Learn to use production Web servers like Apache & Nginx
- Consumption of API like Sendgrid, Twilio, Stripe, Okata or find it in API marketplace like RapidAPI
- Selecting & using a WSGI server like Gunicorn, Mob_WSGI or uWSGI
- How to use a testing framework like Pytest & Unittest to write test cases in Django.
- Using a text editor like VS Code or IDE like PyCharm
- Setup virtual environment & install packages
- Design skills like using Figma or Adobe Xd to create prototypes.
- Markdown to write documentation or creates issues in projects.
- Time management
- Project management
- Goal setting
- Communication skills
- Accelerating one's learning
There are tons of ways to skin a cat. I'm gonna provide these options that are tested and proven by me to build your track record.
- Contributing open source projects like FreeCodeCamp, Cookiecutter, Zappa, Django Rest Framework
- Documenting what you had learned for your development journey using a blog or youtube video
- Creating real-world projects for non-profits or look at freelancer websites like freelancer.com, fiver to get the insight of what do they want.
- Giving talks or conducting workshops to your local python user group or conference.
I hope this provides you with a glimpse on how to get started as a Django developer and hopefully specialise further as a Django developer.
Do note that, this is what I will lookout for a Django job. Which requires you to understand and build websites using Django.
If you would like to save yourself time and effort to get the job done. You can use a pre-built bootstrap v4 template.
If you like this article sign up for my Adventurer's Newsletter for a weekly update in the area of Python, Startup and Web Development.
You can also follow me to get the latest update of my article on Dev
- DjangoCon US
- DjangoCon Europe
- Coding for Entrepeneurs
- Chris Hawks
- Two Scoops of Django
- TryDjango series
- Full Stack Python
- Toptal Job Description
- Object Relational Mapping (ORM)
- Version Control with Git
- Semantic Commit Messages
- 5 Must have Python Django Developer Skills
- Backend Developer Roadmap
- Python Tutorial for Beginners - Full Course in 11 Hours 
- Adobe Xd