Coding is easy.
All one needs is hard work, the drive or passion, a great fun time learning and above all consistency, another mountain on itself. When I set out to learn Python, all I had was my curiosity, a learning partner and one book as my main resource. I was very excited. We all have different end goals where programming is in play. For the first few months, I did not have specific end goals in mind as I was just driven by curiosity and the excitement of this new found knowledge along with all the future possibilities that came with. After completion of the book, all that changed. I had no idea what to do next or what to specialize in. The research phase, an attempt to figure out what path to take, started and the phenomenon of “Over-choice” took over. Having too many choices made me hesitate and the hesitation became paralyzing because all I could think of was that I would end up choosing the wrong thing leading to destruction and wasted time. Filled with doubt day in day out, all I could think of was “Is this a right path to take? Is it even a path to begin with?” “You can forge a path” they say. In the end I lost the excitement factor and worse, my consistency. For a period it seemed so easy to walk away empty-handed with all the fear and doubt given that learning programming was driven by curiosity and a love for learning as opposed to it being a career path that my future-self depended on.
You know how everything smells different when it starts to rain. That happened a few days ago after writing down all the things I had learnt so far.
- The foundation: Python Basics, Flow Control, Functions, Lists, Dictionaries and Manipulation of Strings.
- Regular Expressions.
- Reading, Writing and Organizing Files.
- Debugging and Web Scrapping.
- Working with Excel spreadsheets, PDF, Word documents, CSV Files and JSON data.
- Image manipulation and keyboard & mouse control with GUI animation.
- Time, scheduling tasks and launching programs along with sending emails and texts using Python.
- SQL – Relational databases, SQL statements, SQL Queries, Aggregate functions in SQL and SQL commands when working with multiple tables.
- Classes – instances, class variables, instance variables, methods; regular, class and static methods. Inheritance.
- Principles and patterns of Object-Oriented Programming.
- Abstract data types, arrays, sets and maps.
- Algorithm analysis.
- A number of scripts and Code-wars katas for practice.
- All the progress logs on paper, audio recordings and on Twitter under the #100daysofcode challenge.
Its a handful and am proud of the far that I have come. Wrong or right, the trick is to not be scared, take on challenges for they never cease to amaze. I choose to soldier on and for the next few weeks am going all in on Data Structures and Algorithms. Am choosing to focus on learning.
Hello, my name is Daina. It has been 6 and a half months since my coding journey started.