How to become a solid python web developer
<p>I have started Python recently with the goal to become a solid developer to make a web application eventually. However, as time goes by I am wondering if I am being optimal about how I will achieve my goal. I would compare it to a game for example, to be better you must <strong>spend time</strong> playing and trying new things... However, if you just log in and sit in the lobby chatting you are most likely not progressing.</p>

<p>So far, this is my plan (feel free to comment or judge it):</p>

<ol>
<li>Review basic programmation concepts</li>
<li>Start coding slowly in Python</li>
<li>Once comfortable in Python, learn about web development in Python</li>
<li>Learn about those things we heard about: SQLAlchemy, MVC, TDD, Git,
Agile (Group project)</li>
</ol>

<p>To achieve these things, I started the <a href="http://learnpythonthehardway.org/" rel="nofollow">Learn python the hard way</a> exercises, which I am doing at the rate of 5 per days. I also started to read <a href="http://greenteapress.com/thinkpython/thinkpython.html" rel="nofollow">Think Python</a> at the same time and planning to move on with <a href="http://www.diveintopython.net/" rel="nofollow">Dive into python</a>. As far as my research goes, these documentations along with Python documentation is usually what is the most recommended to learn <strong>Python</strong>. I consider this to get my point 1 and 2 done.</p>

<p>While learning Python is really great, my goal remains to do <strong>quality web development</strong>. I know there are books about Django etc. however I would like to become comfortable with any Python web development. This means without Framework and with Framework... Any framework, then be able to choose the one which best fits our needs. For this I would like to know if some people have suggestions. Should I just get a book on Django and it should apply to everything ? What would be the best method to go from Python to Web Python and not end up creating crappy code which would turn into nightmares for other programmers ?</p>

<p>Then finally, those "<strong>things we hear about</strong>". While I understand what they all do basically, I am fairly sure that like everything, there are good and wrong ways of making use of them. Should I go through at least a whole book on each before starting to use them or keep it at their respective online documentation ? Are there some kind of documentation which links their use to Python ? Also, from looking at Django and Pyramid they seems to use something else than MVC, while the Django model looks similar, the Pyramid one seems to cut a whole part of it... Is learning MVC still worth it ?</p>

<p>Sorry for the wall of text,</p>

<p>Thanks in advance !</p>
