The Skills to Get a Job As a Django Developer
Tags: python, webdev, career, beginners
Published: 2020-01-03 02:48:48

# Introduction
When I first started to learn Django. I used videos from [DjangoCon US][1], [DjangoCon Europe][2], [Coding for Entrepeneurs][3], [Chris Hawks][4] and a book from [Two Scoop of Django][5] 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][6] 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.

# Specialisation
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. 

# Skillsets
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.

## Technical Skills
* Foundation for Python
* Use of source control with a basic understanding of Git commands & understanding to create [semantic commit messages][7].
    * Checkout your code 
        * Create branches
        * Commit,
        * Merge branches
        * Pull request
        * Create and close issues 
* Website design using HTML, CSS, Javascript
* CSS framework like bootstrap
* Javascript that is either ES6 or later.
* Understanding on how to use a database like Postgres (prefered choice), SQLite, MongoDB, MySQL
* Use of [Object Relational Mapping (ORM)][8] like Django's ORM or [SQLAlchemey][9] 
* 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][10]
* 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][11] or [Adobe Xd][12] to create prototypes.
* Markdown to write documentation or creates issues in projects.

## Non-Technical Skills
* Time management
* Project management
* Writing
* Goal setting
* Communication skills
* Teaching
* Networking
* Accelerating one's learning
* Negotiation 
* Interview

# Track Record
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.

# Conclusion
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. 

I do not touch on any front-end web framework. I feel that the bare minimum is just using Javascript, CSS, HTML and beautify it with bootstrap v4.

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](https://maxongzb.activehosted.com/f/1) 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**

The original post was on [The Skills to Get a Job As a Django Developer](https://www.maxongzb.com/the-skills-to-get-a-job-as-a-django-developer-reading-time-4-mins/) and cover image by [Photo by Chase Clark on Unsplash](https://unsplash.com/photos/T69h1_YfR-w)


# Reference
* [DjangoCon US][1]
* [DjangoCon Europe][2]
* [Coding for Entrepeneurs][3]
* [Chris Hawks][4]
* [Two Scoops of Django][5]
* [TryDjango series][6]
* [Full Stack Python][13]
* [Toptal Job Description][14]
* [Object Relational Mapping (ORM)][8]
* [RapidAPI][10]
* [SQLAlchemey][9] 
* [Version Control with Git][15]
* [Semantic Commit Messages][7]
* [5 Must have Python Django Developer Skills][16]
* [Backend Developer Roadmap][17]
* [Python Tutorial for Beginners - Full Course in 11 Hours [2020]](https://youtu.be/4F2m91eKmts)
* [Figma][11] 
* [Adobe Xd][12]


[1]: https://www.youtube.com/channel/UC0yY6a79pPY9J0ShIHRf6yw
[2]: https://www.youtube.com/user/djangoconeurope
[3]: https://www.youtube.com/user/CodingEntrepreneurs
[4]: https://www.youtube.com/channel/UCfV36TX5AejfAGIbtwTc7Zw
[5]: https://www.twoscoopspress.com/
[6]: https://youtu.be/-oQvMHpKkms
[7]: https://seesparkbox.com/foundry/semantic_commit_messages
[8]: https://en.wikipedia.org/wiki/Object-relational_mapping
[9]: https://www.sqlalchemy.org/
[10]: https://rapidapi.com/
[11]: https://www.figma.com/files/recent
[12]: https://www.adobe.com/sea/products/xd.html
[13]: https://www.fullstackpython.com/
[14]: https://www.toptal.com/python/job-description
[15]: https://www.udacity.com/course/version-control-with-git--ud123
[16]: https://medium.com/@mymobilunity/5-must-have-python-django-developer-skills-1589c8e5a6c3
[17]: https://hackr.io/roadmaps/backend-developer-roadmap