Greetings CodeNewbies 👋🏾
Welcome to the weekly recap of my #100DaysOfCode journey. This one is a rare, limited-edition, special issue because it contains my recap for weeks 4 and 5. 😂
I had grand plans to release Week 4 late last week or to release separate posts for Week 4 and Week 5 in quick succession. However, I abandoned them. I realized that what I needed most was a break. Learning to code takes a lot of effort as does writing these posts about my journey. Rather than set myself up to crash and burn by trying to do it all, I decided to prioritize the code over the documentation. (I think that makes me Agile or something.)
Now that I'm back, let's get into it.
What I Said I Would Do
In my Week 3 Recap, I stated that I would stay focused on completing the certifications and courses in my priorities list:
- Python for Everybody specialization (Coursera),
- Google Data Analytics Professional Certificate (Coursera),
- The Odin Project Foundations pathway,
- freeCodeCamp Responsive Web Design certification,
- W3Schools CSS Tutorial.
What I Actually Did
I followed through on my Week 3 commitment, and I am happy to report that I completed Course 3 in the Python for Everybody specialization: Using Python to Access Web Data. Here's a screenshot of my certificate. Feel free to leave congratulatory balloons and confetti in the comments. 😆
I've also been doing coding challenges and exercises on HackerRank and Exercism. Whenever I start feeling overwhelmed by all of the material in the Python course, coding challenges help me change the scenery while still practicing my Python skills.
What I Plan to Do Next Week
May was a really packed month for me, and I didn't do a good job of scaling back on my goals to accommodate all the things that were going on in my personal life. I've found myself feeling tired, impatient, and discouraged for several days in a row. This is a signal that I need to slow down; pacing is everything when striving for 100DaysOfCode.
So here's my plan:
I will continue working through Using Databases with Python (course 4 of 5 in the specialization), but at a slower pace. This means that I will still be on week one of the course in my next recap. On the days where I need a break from lecture videos and reading, I will work on some coding katas/challenges/exercises.
Around the Web 🌏
Dealing with Burnout
Ayu Adiati just released a post on burnout while learning Web Development. It was an excellent reminder for me to check in with myself and make the necessary adjustments to my learning plan in order to stay well.
Object Oriented Programming in Python for Beginners
A few weeks ago, I came across this beginner-friendly YouTube video on Object Oriented Programming (OOP) in Python by Tech With Tim. This video is great for people who are new to the concept of objects and OOP in general (or need a refresher). However, if you are experienced with OOP and just want to know how to create classes in Python, then you'd probably want to skip this one. It goes into a lot of detail on basic concepts that you're probably already familiar with (ex. what a class is, why you'd use one, the difference between classes, instances, and objects, etc.).
Type Annotation in Python
While completing an exercise on Exercism, one of the mentors recommended that I look into type annotations as a way to improve my code. Type annotations allow you to specify the intended type(s) of data in a variable. Although Python does not enforce the annotation at runtime (i.e. you will not get a traceback if you use a different type than the one specified), it's still a helpful way to communicate with other people who use your code (or your future self).
Daniel Starner wrote a really good post on DEV titled Using Python's Type Annotations that goes into details on how it works. There's also some good discussions in the comments section of the post on why type annotations are better than just using a comment to specify variable type.
When I was in undergrad, one of my engineering professors used to tell us the same thing before every exam, "there isn't a horse chasing you." It was his way of reminding us that we should take the full time allotted to complete the exam instead of rushing to finish early.
Whenever I find myself impatient and rushing through my coding journey, I remind myself of his wisdom.
Are you taking the time that's required to achieve your goals or is the horse 🐎 after you? Let me know in the comments.
Until next time, code on!
Cover Photo by Philippe Oursel on Unsplash.
Top comments (2)
Congrats on obtaining your Coursera certificate! Well done and well deserved! 😀🎈🎉🎊 I've really been enjoying following your writeups-- keep up the great work!
It's really been fascinating to me that dynamically-typed languages (JS, Python) have been ever more gravitating towards static-typing constructs (TypeScript) or "feelings" (hints/annotations) over the years while statically typed languages (Go) are gravitating towards more "dynamic" language features (generics). Ah, the programming landscape: The more things change, the more they stay the same! 😄
Thanks! You are a Day 1 supporter. 😊
Everyone is trying to be someone else. LOL I wonder if it's being driven by survival. If the language can support both scenarios, it can be used in diverse scenarios and be more widely adopted. Gotta keep users happy.