.. _developer:

I am a **Python developer** - where do I begin?
###############################################

Developers have always a hard time. Unfortunately, you need to be familiar
with the most topics this documentation offers. You will be the key person
coders go to get advice from a you simply *have to know the answers*.
This docs are trying to offer
you a helping hand and cover most of the topics you will run into when working
with Ella. Not only it gives you **API reference**, it also offers **cooking recipes**
for common headache situations.

In this documentation, we expect you have proficency in these areas:

* Standard Python programming.
* At least rudimentary knowledge in Django:
  
  - Models
  - Views 
  - Templating
  - Middleware
  - Context processors
  - Media/static handling
  
* Knowledge of web programming paradigms: request, response, ....

Ella always tries to keep things as simple as possible, but, as you probably
learned already, it's not always just possible. If you want get familiar with
Ella, it's always best to start off with :ref:`tutorial` to get a grasp of
core concepts Ella is built upon. **Next**, continue with reading the docs
in :ref:`features` section. It is recommended to get yourself familiar with
all the topics covered in here even though the :ref:`features-caching` and
:ref:`features-deployment` are probably kinda advanced and not strictly required
in the first run. If everything goes allright and you don't feel lost, keep
reading in the :ref:`common-gotchas` section which covers frequent show-stoppers
for new Ella users. Finally, do a fast sprint throught :ref:`reference` and
:ref:`settings` to make your overview complete. And, of course - have a look
at the code itself. Sometimes it works even better than best docs.

If feeling confused or not happy with the way Ella is presented or just simply
having a note, please feel free to **let us know**! It is always appreciated.