book, help, inspiration, news

My Story

Hi guys. Recently my interview was published over at Mouse vs Python blog which is run by Mike. I am glad that I was able to become a part of Mike’s PyDev of the week series. This post is not going to be technical. I am going to use my time to clear up my mind through this post.

Firstly, a lot of new programmers ask me how to learn Python. They want to reach my level of competence. They are much more fascinated by my skills when they come to know that I have learned it using the web and not any book or University course. Now I am going to jot down the steps which I follow to learn any new programming language.

  1. Look up a project which I have already done in another language.
  2. Make sure that the project’s scope is not too big.
  3. Try to implement it bit by bit in the language which I am trying to learn.
  4. Search on Google for how to do a specific task in the new language. This might be file i/o and how to access the web.
  5. Complete the project by searching on Google and Stackoverflow.
  6. Now I might pick up a book about the new language and read it – try to pick up the best practices from the book.
  7. Look up a simple Open Source program written in the language which I am learning and try to contribute to it. Don’t worry, if your PR (Pull Request) is not of high quality because most of the time the project owner would work with you to improve it and this would only contribute to your knowledge about best practices in the language. In the worst case scenario your PR would be rejected. Don’t sweat it because we are still beginners. Just try this step again.

Some people will argue that this method is not correct and one would miss the best practices of the language by completing the first project solely based on Stackoverflow and Google. I don’t want to argue with them. This is MY method and you are not required to follow it. It is entirely up to you. Doing Open Source contributions would allow you to learn about the best practices.

Now onto the next question. A lot of people argue that programming is not for them. They are simply not putting in enough effort. There is nothing in the world which you can not achieve. If you put in enough effort then no one can stop you from achieving success. Let me share my own story. It is slightly off topic but I believe this is the most suitable part of the post to share it.

When I was 12 I was fascinated by a hack for an online game called Club Penguin. It was a software called Penguin Storm. I had no idea about programming back then but I wanted to make such hacks and softwares myself. Who doesn’t want to? Right? I searched on the web and got to know that the software was made using a language called Visual Basic. I went to a Bookstore and bought a book on Visual Basic, Visual Basic 2010 Step By Step. It had over 300 pages. I was not put off by the page count. I considered more pages == more knowledge. I took the book to a guy who knew programming. He used to teach my cousin. I put the book in front of him and asked him to teach me programming. He immediately tried to back off and said that I was too young to learn it. I asked him to just teach it to me and give no regard to my age. He refused. I was slightly put off at this moment. Nonetheless, I started to read the book myself. In the beginning I wasn’t able to understand even a single word of it. I had no idea about what variables were. I had no idea about what loops were but I was determined.

I was not ready to give in because I had taken the words of that guy as a challenge. I was intent on proving to him that age is a useless factor in learning to program. I completed the book halfway and just copy/pasted the code along the way.

Along with the book, I started to search for tutorials on Google and Youtube. I still remember that while I was searching for a tutorial on how to make a Keylogger in Visual Basic, Python tutorials were popping up. I thought that a language whose name is Python can’t be a serious language. I overlooked Python tutorials but then after stumbling over them 5-6 times I decided to give it a go.

I read the tutorial and was really happy that it worked as expected. I decided to delve more deeper into this “Python” language. From that moment onwards things started to make sense. I began to understand what loops were and what variables were. I ditched the Visual Basic book and started reading the “Head First Python” book. It was a great help. However, I didn’t complete it either. I was distracted by all the wonderful things which I could do in Python and when those things were not covered in the book, I took help of Google and learned how to do it.

When I was 13 I stumbled across GitHub. I was surprised that such a website existed. I searched for a simple Python project and contributed to it. My first contribution was correcting the indentation of the code. I was happy and overjoyed. It was my first ever contribution to someone else’s code. Then I stumbled on another great project called youtube-dl. I contributed to it as well. My contribution consisted of a video downloader for a website. I simply copied another downloader from the repository and tweaked it to support the website which I was working with. No particular knowledge of Python was required for this contribution either.

From that moment onwards I started to write small scripts in Python and things started to make much more sense. The quality of my pull requests started to improve.

Bottom point: Everything takes time. Just take it step by step and you would achieve success. And never ever let anyone ever tell you that you can’t do anything.

I am sure that this post would help a lot of you know a bit more about me. I support diversity in the Tech field. Right now there are not much girls in STEM. So if anyone out there who is a girl and wants some mentoring or advice or solution to their technical problems then they can easily contact me using the comments section or through email and I would be more than happy to help them out.


11 thoughts on “My Story

  1. You are missing the end of the story, i.e. how old are you today, and where do you work with your python skills.
    BTW I can really relate to your stop, I too stumbled into python by chance, didn’t look back to any other language.

  2. rishupravesh says:

    i am starting web development and moving to django so i want to ask that i am not so old just 14, and is it appropiate for me to learn django or to go with micro frameworks like flask, as i know the basics of it .
    but i want to develop dynamic website and work as a freelancer.

    • Hey that is great! I would recommend Flask but it is solely my own preference. If you believe that you can easily learn the “magic” going on behind the scenes in Django then Django is also not a bad choice. However, I know a couple of companies who have/are migrating from Django to Flask because of the flexibility Flask provides. In the end it is up to you. There are a lot of comparisons done between both of these frameworks by a lot of people online so I wont be doing it again. I hope that I have answered your question. If there is anything else which you would like to ask then just let me know and I would be happy to assist you.🙂

  3. Hello! I stumbled across your site a few days ago and it’s been very useful. I added you to the Links page on my techie blog, Let’s Go Larval, so more people can find you.

    First, a little off topic: Your booklist appears to be missing Head First Python (which you said you learned from). You also appear not to have run across Creating Apps in Kivy, which is O’Reilly’s Kivy book. It’s a really nice one. There seem to be two classes of programming books: ones written by dispassionate Microsoft (or whatever big tech company) bureaucrats, and ones written by hackers who actually like the language. CAiK is one of the latter, of course.

    My first programming experience was about age 12, too. I was messing around with RPG Maker XP mostly because of a game called Aveyond, rather than with VB because of Club Penguin. Funny how that sort of experience can be so similar.

    Anyway, I’m just posting because I know how nice it is to get comments. It’s fun to see what people have to say back to you. Oh, and yes, I’m a geek girl🙂

    Something interesting about taking programming classes as a girl is that you’re usually 1 girl among 19 guys, and it seems (around here at least) that the only guys who are actually malicious are adults. It sucks when they’re teachers. I had to deal with that last year; the school officials didn’t believe me when I said that the teacher was subtly, persistently ragging on me every day, but apparently since then he said something dumb to the wrong person; he isn’t working there any more and my advisor is being extra nice to me all of a sudden. Suits me just fine–I was having a hard time avoiding scheduling his classes again because they weren’t taking me seriously.

    Fortunately, these jerks seem to be even less common than girls. Most guys aren’t like that. They even say thank you if I fix the bug they’ve been struggling with for the past 20 minutes, which is not something you get from someone who feels their masculinity is challenged by a lady coding more neatly than they do.😉

    Oh, one more thing. If you like my cute penguin icon and you have a use for a cute penguin image, you can find him (and a few others of varying graphic neatness) on my Open Art page.

    Happy hacking!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s