Quest to Complete 100 Days of Code

Quest to Complete 100 Days of Code

Ryan Chadha 30/07/2020 4
Quest to Complete 100 Days of Code

First, the story. The raison d’être

I have had a fascination with coding ever since I started my first side hustle, which was a long, long time ago. 12 years ago (give or take) to be imprecise. It has been so long since I have wanted to learn, it is embarrassing to admit. Anyhooooo…

While doing an internship in London in the summer of ‘08, after having faced a torrid time looking for a place to stay over the summer, a friend and I decided that this was a problem worth solving. Why was it so excruciatingly painful to find a place to stay in London over the summer months? London was home to thousands of university students over the summer — all of whom engulfed the city to have some work experience stamped on the resume before returning to university for their final year. There were websites for landing internships, so how come there was nothing to find a place to stay while on internship?

In order to make it easier for future interns to help find short lets, we decided to set up a website called Intern ShackThe premise was simple — get in touch with universities, clubs and other providers of accommodation and see if they wanted to tie up with us to let out rooms available during the summer (and during any vacation in the year). The site would list all such providers of short term accommodation and hopefully become the de facto search engine for students looking to make London their home for the summer.

Armed with this billion dollar idea, we got going. After many tens of hours googling for accommodation providers, we got a gigantic excel sheet ready — with every conceivable provider of accommodation in London. The next step was to call these people and check if they could provide accommodation during the summer. From here, we had about 50 listings that were open to some form of partnership with us. Not bad for a start. Time to get working on the website!

The Only Problem was that Neither of us Could Code

So, after detailed deliberations with freelancers from all over the world, we appointed an agency to build the website for us. While the project did not really take off in the way that we hoped, I learned some important lessons from the process:

  1. Knowing how to code is useful, even if for no other reason than to negotiate with developers and freelancers. At the time, given our complete lack of knowledge, we risked overpaying for everything (and did), and also risked developing a product that was different to what we set out to do

  2. Not knowing anything at all about how websites and apps are built severely limits the ideas you can execute using technology. As an entrepreneur, you always want to be aware of the functionality your website / app / product can have, so you can strategise and build accordingly

The project went nowhere, but one thing the CEO of the web development agency told me has stayed with me ever since. On one of our calls, I repeatedly asked him if it was possible to build this feature and that feature. You know, the sort of thing any client would do. To which he always replied in the affirmative. Sensing that I was pretty clueless about how a web app worked, he ended the conversation by saying:

‘If you can imagine it, it can be built.’

That summer was when I promised myself that I would learn how to code. Admittedly, the intensity of this desire has ebbed and flowed over time. At various points in the last 7 years, I have signed up for Udemy courses, Codeacademy, MOOCs, Treehouse, One Month, Free Code Camp and even bought books on programming. All of which, sadly, have led to nowhere in particular.

Some courses on my Udemy account lie unfinished, a couple of books rest collecting Bangalore’s dust on a shelf at home, and I have trailed off and lost interest in MOOCs more times than I would like to admit.

Prior to this attempt, I confess that I have had 3 serious attempts at learning how to code:

  1. In 2016, I got a pretty reasonable hang of HTML, CSS, jQuery and Bootstrap after taking a couple of Udemy courses. To date, this has been my most fruitful attempt. But HTML and CSS isn’t really programming, you might say. While I did not touch a real programming language or work with databases, I did manage to spruce up the website of the school where I work. I really should have continued this run, since I had momentum and had actually built something that the world deemed as pretty, but I trailed off. As Lennon said, life was happening to me while I made other plans…

  2. In late 2017 / early 2018, a parent at our school started running classes for data visualisation and data science using R. He is a really good teacher and I signed up. While I did learn quite a bit, I found that R wasn’t really for me. I couldn’t get myself to enjoy it, and so I noticed that my enthusiasm started to fade once more…

  3. In late 2018, I was ready to give this another try. I gave FCC a half hearted attempt after the R course, but as was the case with R, syntax in javascript just didn’t gel with the mushy organ in my head. Having said that though, FCC is an absolutely phenomenal resource and I tip my hat to Quincy Larson for all that he is doing. Determined to learn some language, any language (!), I started looking for languages with a simple syntax. I chanced upon some free Python tutorials and voila! Python was exactly what I needed! Working with Python felt like I was interacting with a computer while typing in english. After breezing through some free tutorials online, I bought Zed Shaw’s Learn Python the Hard Way as I really liked the material on his site. I like Zed’s dictum — the only way to learn programming is to type out everything, make tons of mistakes and to stay in the trenches for as long as it takes. This stint was also fairly productive — I learnt a ton and got to within touching distance of the last few chapters of LPTHW. I struggled to wrap my head around object oriented programming and that was where I began to fall away. As work got busy, and with trying to set up a new school campus, my coding endeavour took a back seat. Again. Ugh!

Come Lockdown 2020! It seems like the ideal time to pick up my coding staff again and head out into the Python jungle. As of this writing I have concluded 14 consecutive days (I started on May 1st 2020) of banging away on my keyboard.

In keeping with the first rule of the #100daysofcode challenge, I have spent a minimum of one hour a day since I began. I haven’t tweeted everyday (rule 2), since I am on a social media hiatus currently. I plan to start tweeting about my progress soon. The time spent coding in the last two weeks has varied though, with some days involving just the solitary hour, and others (saturdays) where I have been able to code for more than 8 hours. All said and done, not having to commute has drastically increased my free time and energy levels in the latter half of the day. And possibly helped clear out a whole lotta gunk from my airways.

On this attempt, I am using the following resources:

  1. The Real Python bundle from www.realpython.com. I was instantly hooked after engaging with the material on their site and therefore the decision to purchase the bundle was a no brainer. I am half way through the first book at this point in time. By the time #100daysofcode is up, I hope to be getting to the end of Book 2, which focuses on web development using python.

  2. Zed Shaw’s books Learn Python The Hard Way and Learn More Python The Hard Way. I am getting towards the end of LPTHW at this time. I suspect I will make a little bit of headway on LMPTHW by the time the challenge is up.

  3. A book on object oriented programming in Python 3 by Dusty Phillips. Even by the admission of some experienced programmers, OOP isn’t the easiest topic to get your head around. I have tried and failed more than once. Having scoured the internet for good tutorials — this book by Dusty is a gem. It is very simply written and has detailed explanations. I love Dusty’s style of explaining tricky concepts.

  4. The tutorials on Digital Ocean. All the tutorials I have accessed in the last two weeks are great. They’re very basic, but have really helped me understand concepts better.

This is getting long, so to wrap up the post, here are my goals from the #100daysofcode challenge:

  1. Build one simple web app using the Flask framework

  2. Build one simple game using either the turtle and / or PyGame libraries

  3. Build one relatively significant scraping project

That’s it for now. The next update will be on #day30.

If you are also on this journey and want to reach out, I’d love to hear from you. My twitter handle is ryanchadha.

Thanks for reading!

Share this article

Leave your comments

Post comment as a guest

0
terms and condition.
  • William Frank

    Coding is just be like:
    - I HATE PROGRAMMING
    - I HATE PROGRAMMING
    - I HATE PROGRAMMING
    - (IT WORKS) I LOVE PROGRAMMING

  • William Frank

    Solid story, you are doing some great things man !

  • Nigel Moss

    I admire your perseverance

  • Carol Hogg

    Respect to self-made programmers even if they are still beginner. What a wonderful journey !

Share this article

Ryan Chadha

Learning Expert

Ryan is an entrepreneur based in Bangalore who believes that the most rewarding learning experiences are driven by curiosity. He runs a school in Bangalore called Jigyasa The School, where the emphasis is on allowing children ample opportunity to learn by doing, making and collaborating in an environment which nurtures the freedom of movement and expression. Additionally, he is one of the lead instructors at The Crypto University, an online school where he teaches people from all over the world about the various quirks and innovations in the world of blockchain and cryptocurrencies. He holds a BSc from Loughborough University, MFIN from University of Cambridge and has passed the CFA exams.

   
Save
Cookies user prefences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Read more
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline