Back End Web Developer Skills
Python
- Back End Web Development, Data Science, Scripting
I have been learning Python since May 2018. Having studied many books and video courses and built a variety of projects using the skills learned, I have used Python for OS scripting, web development and data analysis/visualisation tool.
I have used a variety of libraries within the Python and Anaconda ecosystem and have an extensive knowledge of the extended standard library. Amongst many others, I have a good working knowledge of libraries such as itertools, functools, and collections.
Although the need for some of the tools within these libraries is not always required, it's useful to know for when you would like to build more efficient code or a standard data structure just doesn't give you the required functionality.
You can see examples of me using Python for various scripts within my code library. A lot of the examples within the library are highly contrived examples so to illustrate their usage. There are also examples of using these non-standard data structures within the Countdown Letters and Countdown Numbers apps.
I also have a good working knowledge of some of Python's common libraries such as Requests and Beautiful Soup.
Django
- Web Development
Having developed several projects in Django including the whole of the portfolio that you're currently reviewing, I have developed significant skills with it.
I can quickly build a site from scratch using Django and overcome many of the things in Django that is considered to be advanced usage. Examples include:
- Creation of a custom authentication system subclassing from AbstractBaseUser
- Predominantly using Class-Based Views, therefore writing a code base that is, in my opinion, easier to maintain and build upon going forwards.
- Use an external API or scrape content from the web and store that data within the database.
- Integrate advanced form controls with Bootstrap and JavaScript.
- Build a highly customised admin interface that could essentially be a fast prototype of an application.
- Build forms using ordinary Django forms, Crispy Forms, Django Widget Tweaks, or integrating raw Boostrap HTML.
- Test the project with PyTest and its extended library of plugins for Django.
PostgreSQL
- Database Design, Management & Data Retrieval
I use PostgreSQL as the database of choice with all of my Django projects.
Some of the tasks that I can complete with PostgreSQL or Django/PostgreSQL:
- Kickstart a project using PostgreSQL rather than using SQLite3. This is achieved using an automated shell script built into a docker-compose routine that automates the process of setting up and securing a new database with securely stored environment variables.
- Check data migrations or inspect the DB when migrations go awry using a combination of Django admin commands and Postgres' CLI.