python ecosystem for beginners - pycon uruguay 2013
DESCRIPTION
"From a python beginner to a django developer in 6 months" is a compilation of learning resources for programming beginners. Hannes tells his story of learning Python and shows how the Pros (e.g. Jacob Kaplan-Moss) learned the programming language.TRANSCRIPT
From a python beginner to a django developer in 6 months**The python eco system for beginners
Hannes HapkePyCon Uruguay, November 2nd, 2013
De principiante en python a desarrollador de Django en 6 meses*Friday, 8 November 13
Who is that guy?
¿Quién es este tipo?Friday, 8 November 13
Python developer and co-founder of renooble.com
Electrical engineer with business experience
German living in Santiago, Chile at the moment
Absolute python beginner in 2010
Languages: Pascal, Delphi, Java, PHP, PythonPrincipiante total de Python en 2010 | Alemán
Hannes Hapke@hanneshapke
Friday, 8 November 13
What does he want?
¿Qué es lo que quiere?Friday, 8 November 13
Speed upthe learning process
for beginners
Acelerar el proceso de aprendizaje para principiantesFriday, 8 November 13
Compile best learningpractices
Compilar las mejores técnicas de aprendizajeFriday, 8 November 13
But why should I worryabout beginners learning?
¿Por qué debería preocuparme?Friday, 8 November 13
Let it not become the next Latin (or Basic)Que no se convierta en el próximo Latin
Friday, 8 November 13
User conversion* * Jacob Kaplan-Moss
StarTechConf, 25/10/13
Conversión de usuarios*Friday, 8 November 13
Tweet to @hanneshapke
Your thoughts will be addedto this presentation
Envíe sus ideas y las añadiremosFriday, 8 November 13
Vamos ...
Let’s start ...Friday, 8 November 13
In 2010 ...
En 2010 ...Friday, 8 November 13
Python was ...
Python era ...Friday, 8 November 13
Friday, 8 November 13
Django was ...
Django era ...Friday, 8 November 13
Source: http://upload.wikimedia.org/wikipedia/commons/f/f5/Django_Reinhardt_(Gottlieb_07301).jpg
Friday, 8 November 13
and Celery was ...
y apio era ...Friday, 8 November 13
Friday, 8 November 13
One night, @alphydan and I were dreaming about building a search engine
for renewable energy ...
Estábamos soñando con montar el google de la energía renovable ...Friday, 8 November 13
While envisioning renooble, he told me“Hey, I have heard about
something much better than PHP ...”
Hey, hay algo mejor que PHP ...Friday, 8 November 13
Friday, 8 November 13
And so we had a goal ...
Y así que nos fijamos una meta ...Friday, 8 November 13
But now we had to learnPython, Django, tools, etc.
Pero ahora teníamos que aprender Python, Django, herramientas, etc.Friday, 8 November 13
django-extensions
deploymentstrategies
fabric
Friday, 8 November 13
We wanted to get to this ...
Queríamos llegar aqui...Friday, 8 November 13
Friday, 8 November 13
3301 SE Belmont StCommercial Building
Solar: save $200/monthInsulation: $150/month
3305 SE Belmont StCommercial Building
Solar: save $120/monthInsulation: $100/month
914 SE 33rd StResidential Building
2 ApartmentsIncome level known
Solar: save $150/monthInsulation: $100/monthLighting: $30/months
Friday, 8 November 13
A long way starts with a small step ...
El camino se hace al andar, caminante ...Friday, 8 November 13
Friday, 8 November 13
Wohoo, our first Django app
Wohoo, nuestra primera aplicación con DjangoFriday, 8 November 13
datetime(2010,9,12,1,0) datetime.now()
Learning Curve
DocumentationFirst Django App
Documentación > nuestra primera aplicación DjangoFriday, 8 November 13
Offline tools: Books
LibrosFriday, 8 November 13
Django Practices, Pro Django, Two Scoops for Django, Python Geospatial Development
Friday, 8 November 13
datetime(2010,9,12,1,0) datetime.now()
Learning Curve
BooksPostgreSQL
Libros > PostgreSQLFriday, 8 November 13
Online tools: Websites
Paginas webFriday, 8 November 13
planet.python.org
b-list.org
planetdjango.org
godjango.comFriday, 8 November 13
datetime(2010,9,12,1,0) datetime.now()
Learning Curve
Websites/BlogsGeoDjango,
South, Fabric
Paginas web/Blogs > GeoDjango, South, Fabric Friday, 8 November 13
Online tools: Stackoverflow
StackoverflowFriday, 8 November 13
Friday, 8 November 13
datetime(2010,9,12,1,0) datetime.now()
Learning Curve
StackoverflowDjango cities
Stackoverflow > Django citiesFriday, 8 November 13
Online tools: Learning from other projects
Aprender de otros proyectosFriday, 8 November 13
pinaxproject.com
github.com
Friday, 8 November 13
datetime(2010,9,12,1,0) datetime.now()
Learning Curve
Other projectsFolder structures
Otros proyectos > estructuras de carpetasFriday, 8 November 13
Offline tools: Meetups events
Eventos de Meetups / EncuentrosFriday, 8 November 13
Melbourne Python User Group
Source: https://pbs.twimg.com/media/Af4tnnzCMAIbyLR.jpg
Grupo de Usuarios de Melbourne PythonFriday, 8 November 13
datetime(2010,9,12,1,0) datetime.now()
Learning Curve
Python Meetups >The Zen of Python
Python Meetups > import thisFriday, 8 November 13
Offline tools: Interact with other Developers
Interactuar con otros desarrolladoresFriday, 8 November 13
Django shop: Common Code
Friday, 8 November 13
datetime(2010,9,12,1,0) datetime.now()
Learning Curve
Code shopProgramming styles
Code shop > estilos de programaciónFriday, 8 November 13
Santiago, August 2013
Django meetup at Startup Chile
Django meetup en Startup ChileFriday, 8 November 13
datetime(2010,9,12,1,0) datetime.now()
Learning Curve
Talks with devs >Django Packages
Conversaciones con los desarrolladores > paquetes de djangoFriday, 8 November 13
PyCon Australia, Hobart, 2012
Meet other developers at PyCons
Conoce a otros desarrolladores en PyConsFriday, 8 November 13
datetime(2010,9,12,1,0) datetime.now()
Learning Curve
PyCons >Implementation Ideas
PyCons > como implementar ideas nuevasFriday, 8 November 13
That was one story,but how did the pros learn?
¿Cómo aprenden los profesionales?Friday, 8 November 13
I interviewed
Eric@ericholscher
Jacob@jacobian
Yo entrevisté ...
Selena@selenamarie
Michelle@pythonchelle
Javier@candeira
Friday, 8 November 13
I asked 4 questions ...
Hice 4 preguntas ...Friday, 8 November 13
1) How did you get started with Python?¿Cómo empezaste con Python?
2) What on/offline resources are you using to stay up-to-date?¿Cómo te mantienes al día?
3) Your recommendation for a beginner?¿Qué recomendaciones tienes para un principiante?
4) How can an advanced beginner contribute to the community?¿Cómo puede contribuir a la comunidad un principiante avanzado?
Friday, 8 November 13
Selena DeckelmannContributor to PostgreSQL, organizer of Postgres Open and PyLadiesPDX@selenamarie
Started > Long-time contributor to PostgreSQL, got introduced to Python in 2010, develops with Python at Mozilla since 2012
ResoucesOnline > email, phoneOffline > PyCons, PyLadies, dev network
Recommendation > Start with a online programming class, seek a one-to-one mentor relationship, don’t be shy and ask questions
Contribute > Selena recommends women to join PyLadies, and everyone join their local Python group
Empieza con una clase de programación online, busca un mentor y no temas hacer preguntasFriday, 8 November 13
Clave es la mentoría y contacto con otros principiantes: escoje el programa que tus amigos usan
Michelle RowleyFounder of CodeScouts, organizer of PDXPython@pythonchelle
Started > Got introduced to Python/Django in 2007 by a friend
ResourcesOnline > email, planet pythonOffline > Meetups, CodeScounts.org, PyCons, dev network, Two scoops ...
Recommendation > Key is the mentorship or personal interaction with other users/beginners. Learn the programming language your friend is using/learning.
Contribute > Share your experience as volunteer at codescouts.org
Friday, 8 November 13
Busca feedback sobre proyectos (solo leer es demasiado pasivo), respeta el tiempo del mentor
Started > Started with Perl (2000) to cheat video games, trained by mentor, stumbled upon Python and Django
ResourcesOnline > b-list.org, pycoders.com, django-round-up, Planet PythonOffline > PyCons, meetups (Boston Python meetup), dev network
Recommendation > Seek active feedback, find a mentor (pythonmentors.com), respect their time, read the FAQs, learn best-practices from Two Scoops for Django
Contribute > Contributing to a projects documentation isn’t easy, but valuable; Also submit an app fix through github
Eric HolscherKey person behind readthedocs.org, worked for the Lawrence Journal@ericholscher
Friday, 8 November 13
Empieza un proyecto tan pequeño que lo puedas terminar, pero que sea un reto
Javier CandeiraTeaches at Monash University, helps organize Melbourne PUG@candeira
Started > Taught himself Python after becoming interested in Semantic Web and after he met Python programmersFirst project: Score screen for a pinball emulator
ResourcesOnline > reddit (/r/python), @raymondh, pymotw.com, wordaligned.orgOffline > Meetups, PyCons, dev network, Python Standard Library By Example (book by Doug Hellmann)
Recommendation > Find a project that is small enough to finish, but challenging enough (e.g. cataloguing your DVDs)
Contribute > PUGs are awesome and the culture is great, join them
Friday, 8 November 13
Busca un proyecto/problema que te importe a ti y resuelveló con Python
Jacob Kaplan-MossDjango core developer, Heroku Director of Security@jacobian
Started > Worked with Python since 1998, joined the Django dev team in 2004, proud to make Django open-source
ResourcesOnline > IRC, mailinglists, pyvideo.org, stackoverflow.comOffline > PyCons, dev network, books (two scoops for Django)
Recommendation > Have a project/problem, which is meaningful to you and solve it with Python
Contribute > Support a 3rd party app or put your work open-source
Friday, 8 November 13
Recommendationsfrom the
community
Friday, 8 November 13
• Books Two Scoops of Django (2scoops.org), Pro Django (prodjango.com), The Python Standard Library by Example (thanks @candeira)
• Websites pymotw.com (thanks @candeira)wordaligned.org (thanks @candeira)
• Newsletters Pycoder’s Weekly pycoders.com (thanks @ericholscher)
• Blogs Collection of Python blogs planet.python.orgCollection of Django blogs planetdjango.orgJames Bennett’s blog b-list.org
Friday, 8 November 13
• Podcasts Django Round Up bit.ly/13tRbwg (thanks @ericholscher)
• Twitter + Reddit reddit (/r/python)@raymondh (thanks @candeira)
• Videospyvideo.org (thanks @jacobian)godjango.comlearnpythonthehardway.org (thanks @alphydan)MIT Programming class bit.ly/Dkk11 (thanks @alphydan)
Friday, 8 November 13
Resourcesin Spanish
Friday, 8 November 13
• Python Python Argentina python.org.arGuía Python www.maestrosdelweb.com/guias/#guia-python Cursos de Programación cursos.eugeniabahit.com/curso-python(thanks @visigoten)
• Django Curso Django www.maestrosdelweb.com/guias/#guias-django(thanks @visigoten)
Friday, 8 November 13
Conclusions
ConclusiónFriday, 8 November 13
Have a challenging project
Contar con un proyecto desafianteFriday, 8 November 13
Learn with/from a friend
Aprenda con un/a amig@Friday, 8 November 13
Don’t be shy
No sea tímidoFriday, 8 November 13
Read the docs
Lea la documentaciónFriday, 8 November 13
Join a Python group early
Únase a un grupo Python prontoFriday, 8 November 13
OfflineOnline
Individual
DesconectadoEn-Línea
Individual
GroupsGrupos
blogs
planet python
pythonvideo
books
mailinglists
IRC
stackoverflow
PyCons
Python Meetups
PyLadies
Friday, 8 November 13
Thanks to ...
Gracias a ...
@jacobian @pythonchelle @selenamarie@ericholscher @candeira @commoncode@srikanth_chikoo @timdegraw @alphydan
The Python community
The Django community
Friday, 8 November 13