Commits

Konstantine Rybnikov committed d57a2b5

add some content to python-engineer post

Comments (0)

Files changed (1)

source/en_posts/2012-07-12-regular-python-engineer.rst

 
 .. note::
 
-   On my current I was asked to write a document that would cover some
-   basic knowledge areas for people who want to become regular python
-   programmer, since there was often a situation when people were
-   hided with comments "but still has lack of knowledge in XXX". So,
-   based on that comments, I'll try to write that doc. I believe it's
-   best to show it to community, otherwise it would be just a wase of
-   time.
+   In my company HR's saw a problem that there's very often case when
+   some person is hired to a position of regular developer (that
+   should be able to handle most of future project work by himself)
+   with comment "he's cool, but has serious gaps in XXX". I was asked
+   to write a document that would cover some most often basic
+   knowledge areas for people who want to become regular python
+   engineer. So, based on that comments, I'll try to write that doc. I
+   believe it's best to show it to community, otherwise it would be
+   just a wase of time.
+
+.. note::
+
+   You can improve this document by either writing a comment, or
+   creating a pull-request to `this post's source
+   <https://bitbucket.org/k_bx/blog/history/source/en_posts/2012-07-12-regular-python-engineer.rst>`_
 
 This document aims to cover different gaps that regular engineer might
 have, and ways to improve them in most common aspects. This document
 
 Most of topics should cover lots of practical impact of typical python
 engineer's tasks (also some topics assume web and can be skipped if
-it’s not).
+it’s not). Of course, list of literature is incomplete and should be
+considered as a hint or starting point.
 
 Testing
 =======
 * date_created
 * date_modified
 
-Show how to list bookmarks. Add pagination, filtering by tags and date-range.
+Show how to list bookmarks. Add pagination, filtering by tags and
+date-range.
 
-Deployment & Automation
-=======================
+Environment, Deploy & Automation
+================================
 
-pass
+Literature, libraries and software
+----------------------------------
 
+- `virtualenv <http://pypi.python.org/pypi/virtualenv>`_
+- `PEP 3333 -- Python Web Server Gateway Interface v1.0.1
+  <http://www.python.org/dev/peps/pep-3333/>`_
+- `Fabric <http://fabfile.org/>`_
+- `Deploying with Fabric
+  <http://flask.pocoo.org/docs/patterns/fabric/>`_
+- `Gunicorn <http://gunicorn.org/>`_
+
+
+Questions
+---------
+
+- What is virtualenv? Why would you need it? How do you use one?
+- What is WSGI? Why was it invented?
+
+Extra-points
+------------
+
+Create a small hello-world project, serve it, write a deploy-cmd for
+it.
 
 Algorithms, complexity
 ======================
 
-pass
+Literature, libraries and software
+----------------------------------
 
+- `Hash table <http://en.wikipedia.org/wiki/Hash_table>`_
+- `B+ tree <http://en.wikipedia.org/wiki/B%2B_tree>`_
+- `B+-Tree Indexes
+  <http://www.cecs.csulb.edu/~monge/classes/share/B+TreeIndexes.html>`_
+- `Python dictionary implementation
+  <http://www.laurentluce.com/posts/python-dictionary-implementation/>`_
 
 Databases, indexes, query profiling
 ===================================
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.