Few months back, My friend Raguvaran, introduced me his brother Murugesan.
Murugesan is a fresher and looking for learning something to get a job.
I suggested him to learn whatever he is interested in.
After some discussions, I suggested him to learn python programming or linux administration.
He chose python and started learning it.
After some time of learning the basics, he asked me on how to proceed now to become a better python programmer.
Here are the answers for him.
0. Solve these 46 problems:
1. Start writing small programs yourself
You might be coded some snippets when you learn python. Using the knowledge of python, try to write small commandline applications.
1. A simple diary to store all your notes
2. An Address book to store/edit/search/delete address,phone,email of friends
3. Simple financial app to manage the income/expense
4. create all these using text file as storage and extend to use mysql as storage
5. twitter client in commandline
6. script to send email to all mail ids in a text file
7. webscrap a site automate its operations
8. A simple RSS reader in commandline
9. process access.log of apache and extract details from it.
learn PyGTK or PyQT
Do all the applications you did as commandline apps, using GUI
once you are done with these basic simple applications, you can start exploring on the existing applications. Read the code and learn the advanced techniques like unit testing, Object oriented programming, network programing etc.
2. Use GNU/Linux
All GNU/Linux distributions like ubuntu/fedora/OpenSuse use python extensively.
You will use lot of python applications and you can see their code to learn from them.
Learn to use their package managers to install various packages with source.
You will be using many software and you will get ideas for improving them.
Join a local Linux Users group to meet awesome people with tons of learning.
Indian Linux Users Group – Chennai [ http://ilugc.in ]
3. contribute to any open source project
As you start to use linux and python applications, you will get to know the existing bugs and required enhancements. There are tons of open source applications looking for contributions.
You can choose any one.
Look for its website.
Join the user and dev mailing list and read the archives.
Discuss with the developers for contributing.
There will be a issue tracker for all projects.
Check for bitsize/small bugs to fix them yourself
You can see the projects I contribute here. https://github.com/tshrinivasan
4. Learn IRC
Learn to use Internet Relay Chat
Join the project’s IRC channel and meet the developers.
They will help you to understand their code.
You can ask all your doubts to them regarding the project.
5. Start a Blog
6. Learn version Control System
Version control system like subverison or git is very important to contribute your code to any project.
Read the book http://www.ericsink.com/vcbe/
7. Join the User group and meet people
Python has users group everywhere.
Search net and find your local python suer group.
Join the list and participate in the meetings.
Ask questions and try to answer for existing questions.
ChennaiPy : https://mail.python.org/mailman/listinfo/chennaipy
Banglore Py: http://mail.python.org/mailman/listinfo/bangpypers
8. Read books
Read good python books and explore more.
Tons of books are available in internet for free.
- How to think Like a Python Programmer
- Invent Your Own Computer Games with Python
- Dive into Python
- Essential Python Reading List
- The most comprehensive list from this Quora Page – How can I learn Programming in Python?
9. Teach Python
start to teach python to your friends.
Reach the training centers near you to teach.
else, create video tutorials and host in youtube.com
You can find some of my videos here http://www.youtube.com/tshrinivasan
10. Get projects from surroundings
Look your environment for projects. You can discuss with a medical merchant to do a billing application.
You can contact any photographer to automate his tasks on photography.
Talk to any Hospital / Shop / Startup / etc. You will project to do.
You can charge for doing the projects for them.
It may lead to start your own company too.
Reply here with your activities like blog and irc nick name.
Will follow your blog and give you suggestions whenever required.
Once you started to do all these, forget about the job market.
Update your resume with all these activities.
Provide your blog address, details about the projects you are contributing.
It will lead you to a job you wont feel as a job.
Waiting to see your contributions.
This post can be matched with any programming language. Not only Python.
I dedicate this to all the freshers who are looking for how to start their programming career.