BLACK FRIDAY EXTRA SAVINGS EVENT - EXTENDED
START FREE

Reminiscing my DataQuest Learning Journey.

Reminiscing My DataQuest Learning Journey

I have completed the Data Scientist Career Path in some 400 odd hours. I have no prior experience in programming although I mugged some C language programs long back to pass the exams. I started this with lots of self-doubts. I can’t brag that I mastered Data Science etc. I am still a novice who is giving his 2 cents here. So take my suggestions with ounces of salt. Keep my suggestions under scrutiny and take what’s useful to you.

1) Growth Mindset

At starting I was so terrified of programming with countless self-doubts swirling in my mind. " I have not understood this concept even an iota just by this reading it once. So I don’t have the talent to be a programmer." , "I am putting so much effort and more time to finish this course. Other learners are easily doing it. I am making so many mistakes while writing the code. So I am not smart to be a Data Scientist.’

Accidentally, I read the book ‘Mindset’ by Carol Dweck. It disabused many self-defeating beliefs and made me realize that I am harbouring a fixed mindset. People with this mindset believe in effortless perfection and successful traits are innate. Growth mindset people believe that skills are learned through persistent efforts and hard work. They don’t dislike doing mistakes and as it helps them learn from the feedback and become smarter rather than remaining smart forever by not trying.

I implore you to read the book ‘Mindset’ or at least watch this video once.

https://www.youtube.com/watch?v=XgUF5WalyDk&t=1s

Don’t expect a miraculous change in your mindset by just reading this book. You change through a journey, not through a proclamation.

2) Neuroplasticity

Our brain works on the principle of ‘Use It Or Lose It’. Neuroplasticity is the brain and nervous system’s ability to change itself. It removes the neural connections that don’t serve our goals and forms new connections. When you are a toddler, you try to move your body, then crawl, take small steps, walk a few steps and then run. You fail a zillion times in doing these actions. Every time you do the action the neurons fire together and wire together making you move easily with the least effort and least energy expenditure.

This mechanism is behind every human skill. After crossing 25 years, this neuroplasticity weakens. That means it is not easier like a child to learn new skills. To conserve energy the brain resists forming new neural connections and dislikes learning new skills. That’s why pain is the gateway to the pathway of neuroplasticity. So, we have to take this pain to learn new things.

Our nervous system changes only when it gets feedback over the things it does. So, making errors, again and again, with sharp attention is the way to shape our nervous system so that it performs better and better. The failures signal the nervous system that its connections are not working to perform the skill perfectly and it needs to form/strengthen new connections.

It’s beyond the scope of this article and my ability to cover this topic deeply and flawlessly. I highly recommend you to watch episode No. 6,7,8,9 of the Huberman Podcast on neuroplasticity. Prof. Andrew Huberman is literally giving away gold for free.

https://www.youtube.com/watch?v=hx3U64IXFOY

3) Errors

The dementors that you have to deal with as long as you program are errors and bugs. When you are starting new this debugging sucks out all your energy and motivation.

I wrote a program with a for loop statement and ran the code. The following message greeted me.

Your code run has timed out.

This could be caused by writing an infinite loop, or an issue with our system.

I banged my head for half an hour to find where did I write an infinite for loop. I even pasted the code from the solution. The same message greeted me. I became so dejected with the thoughts " I am finding it so difficult to even find the bug in a few lines of code. How will I ever debug if I do a project with hundreds of lines’. Accidently I looked at the taskbar. Then I realized what happened. My WiFi connection was off and a globe icon greeted me in its place. Facepalm Moment!

In another instance, I have to use date.replace('(','') . I ran the code and the answer-checker won’t validate my code as correct. I was shocked. I placed the solution code and my code side by side and eyeballed line by line. I could find no anomaly. In frustration, I even switched off my laptop. Then logging in again I found the bug. I used whitespace between the single quotes which is the reason for the bug. One has to face countless events like this when learning programming for the first time. So don’t get demotivated.

Once you become habituated to finding errors, it becomes your second nature to debug known errors. The intuition you developed by going through the painful process like not using an underscore in a variable name, ‘==’ in place of ‘=’ in condition statements, etc will sharpen your debugging skills.

I suggest you read the error message and look at what it is saying. “SyntaxError”, “AttributeError: ‘int’ object has no attribute ‘replace’”,“KeyError”,“NameError”. Read the error and try to understand what it is suggesting. I was impatient and would directly go the line with the —> or ^ symbol and correct that line. With this, you might get the correct code but your understanding won’t deepen.

Don’t get discouraged with errors. They are indispensable in programming. Learn to navigate with them.

4) Accountability Partner

I borrowed this concept from Atomic Habits book by James Clear. Demotivated by slow progress and countless mistakes while learning, initially, I took long gaps between the missions. Months were passing by and my learning progress was slower than a snail. So I approached my friend and made a wager with him. “Every week I will spend 20 hours learning on DataQuest. If I don’t reach this goal, I will pay you ‘x’ bucks.” So every Saturday I would take the screenshot of my DataQuest ‘Track Your Progress’ and send it to him. The fact that someone I how is tracking my progress kinda made me enthused to work twice hard and to escape the embarrassment of losing the bet. I missed the goal some weeks. (He returned my money back after completing the career path!). But I made tremendous progress with this hack.

5) Get a Mentor

Every week or fortnight I would make a call to my accountability partner who is working as a Data Analyst and peppered him with all the doubts that I have jotted down on a paper in that week. I would ask him ‘How did you learn this?’, ‘What is this concept?’, ‘What are the issues you face as a data analyst?’ blah blah. Being in touch with someone who has skin in the game gives you so much clarity and encouragement.

6) Repetition is the mother of learning

My impatience to learn has made me go faster rather than go deeper. As a consequence, although I completed the Career Path, I am not highly confident in my understanding and skill.

Instead of trying again and again to get the correct code, I would get irritated at the first error message and immediately jump to the answer section and finish the exercise. I was not at all interested to redo the mission again to understand the concepts that I was struggling with.

In the DataQuest Career Path, you will run into many difficult lessons for sure like Object-Oriented Programming. You will struggle a lot to understand the concepts, fail to do the exercises correctly, sneak at the solution many times and will get bogged down with thoughts of inadequacy. But keep going forward without losing faith in yourself.

Come back to the lesson you struggled with after completing the next missions. The dots you collected in the next missions will improve your understanding and intuition. So this time with improved confidence and clarity the understanding of the concepts improves a lot than the first time you did it. You will find that you could do the lesson with minimal dependence on hints and solutions.

7) Memory

It’s natural for a human to forget. So don’t feel worried about it. With consistent learning and techniques like spaced repetitions, it improves a lot. After doing several missions related to Machine Learning, I became so perplexed with different import statements. I threw all my doubts at my friend and he explained. After that, I again did the ‘Working with Python Dates and Times’ mission. In that lesson, to my utter dismay, the different import statements were lucidly explained catering to all my doubts. . But I had forgotten all those concepts as I had done it long back.

Don’t get disheartened at failing to remember all the commands, keywords, syntactical grammar nuances. It is utterly impossible and foolish to try to remember all of them. You have Google and StackOverFlow for that. Try to get a firm grip on the basics. Do the courses like Python Introduction, Intermediate, Pandas, Numpy etc multiple times as they are foundations on which you will build your code tower. Don’t be lazy to not do them at least twice.

8) DataQuest Community

I desisted from asking questions in DQ Community with thoughts like ‘What if my doubt is silly/ stupid?’,’ What if someone said I posted a dumb question?’. But the few times I posted in the Community, I got the answer to my doubts within a few hours. Also most of the time I found my doubt already being asked by other learners. So don’t hesitate to ask whatever doubt you have.

I suggest spending at least one hour every week going through the posts on DQ Community. It makes you aware what kind of doubts the other learners are getting, what new ways are they exploring in writing the code etc.

9) Guided Projects

Guided Projects are where all the concepts you learned are put into action. It is where you learn more as you are applying the topics you learnt combinedly. Compared to missions it feels quite overwhelming and daunting to do them as they are difficult and time taking. I relied liberally on the answer notebook to finish the project quickly. I suggest don’t do this mistake.

Try to write your own code first and run it. Tweak it as many times as you can to improve it. Fall in love with that frustration. Before looking at the answer notebook, first, write your code however crappy it is. At least write a pseudo-code first. Then, look at the solution. You will understand more clearly as more dots will get connected now because of the intense thinking you did before.

It took me two weeks and 10+ hours to finish the first project ’ Profitable App Profiles’. From reading the file to the last code block I depended on the solution notebook. I did most projects like this but I typed every line of code instead of Ctrl C + Ctrl V ing. After completing the Career Path, I did the first guided project again. To my surprise I could do 90 % of the project on my own without looking at the solution notebook. That too in 5 hours and in a single day.

The next projects are not as lengthy as the first project. So don’t get frightened after the first project and feel discouraged.

While doing projects, you will be applying numerous commands. It’s utterly confusing. Try to find the most common commands that we are applying to every project and think about why are we applying them.

10) Set Deadlines

The best source of motivation is deadline. You get nothing done without a deadline. Don’t wait for the right time and procrastinate. It takes 400 odd hours to finish the career path. ‘I wanna put 4 hours a day and do it in 100 days.’ , ‘I’ll put an hour a day and finish in a year.’ Set the deadline as your schedule allows.

Somedays you might be enervated and can take an hour to just complete a screen in a mission. The other day you will complete a whole mission in an hour. Be equanimous in both phases and consistently put efforts to push the boundaries of your comfort zone. Rome was not constructed in one day but they were laying bricks every day.

The Sweetest victories are the battles hardest fought.

Ending this with the words of Prof. David J. Malan of Harvard’s CS50.

“What ultimately matters in this course is not so much where you end up relative to your classmates but where you end up relative to yourself when you began”
- David J Malan, C50

8 Likes

Hey Rama, really nice blog about journey.
Almost what you wrote is what I am going through right now so great to hear your struggle and success from overcoming it.

Really interested in watching the videos you recommended because currently my mindset is similar to that, would love to hear how your doing post of finishing the dataquest course.

Thanks,
:grinning:

1 Like

Thanks, @shanil199. I am delighted that you found my blog helpful. I took a gap of one month after finishing the course. I am planning to do the Kaggle mini-courses next and read ‘Python for Everybody’ by Charles Severance.

I wish you all the best in your learning, Shanil. :blush: