Unleashing my creativity through Code 👨‍💻

Photo by Bram Naus on Unsplash

Unleashing my creativity through Code 👨‍💻

·

6 min read

Introduction

I have always felt programming was more art than science, turning abstract ideas into reality with software-- lines of code serving as brush strokes compiled to create something for the public good(or bad). The idea that I could turn my most abstract and insane ideas into software drew me into programming and keeps me at it to this day.

Why I wanted to learn how to program

Growing up, I was obsessed with computer games(Purble Place, Solitaire, Chess Titans etc.), MSPaint and the internet with all its wonders and inappropriate content. I loved these apps. I wanted to create things similar to them. I had a lot of ideas, and I loved journaling them so I would not forget them. I wanted to build things--- a lot of things. I was obsessed with people like Bill Gates, Steve Jobs, Tim Bernee-lee, and larry Page when I was younger–- so much so that I got their pictures framed and hung them up on my wall.

IMG_7046.jpg

In my mind, these were people who built cool stuff, and I wanted to create cool stuff too. My brother was already deep into programming– making cool stuff, which I also wanted to do. I started learning python with this amazing book - Python for the Absolute Beginner by Mike Dawson. In retrospect, I am glad I started my programming journey with that book. It showed me how to create awesome games while learning basic concepts. The book gave me a taste of what was to come and showed me that you could create awesome things without having a PhD in Artificial Intelligence. I loved that book, and even though it is deprecated right now. I still find myself going back to it for refreshers whenever I have steered far away from python for a while. Python for Absolute Beginner gave me a solid understanding of the basics of python and Pygame, which helped me create my first software application-- The hard Life.

My First Sofware Application ( The Hard Life )

The "Hard Life" was made with python and Pygame. I created it to mimic a survivor game that was played solely on luck and had little strategy. The game worked by picking a random number from (1-10) that gets randomized with every new game. Each number comes with a description of what would happen to the character. For example, if you pick two as your number and the description says, “your avatar loses ten lives because a drought happened.” The game removes ten points from your score until you get to zero. The objective of the game was to stay alive for the longest time.

Why I Quit Programming For a While 🥲💔

sad-walk.gif

I was proud of the game I had made at the time, dutifully so because it took me the whole summer to make it. I showed it to anyone and everyone that would care to see it. While I was satisfied with the project, I wanted to add more features so I could play with my friends and access it online, but as I said, the book was good for the fundamentals of python and Pygame, so I had no clue about how to go about it what to learn or what to do next. It was a very frustrating experience, and I didn't have constant access to the internet, so my options were limited. I kept hitting dead ends, which made me feel I was not smart enough to be a programmer.

The importance of having a community in your programming journey đź«‚

I stopped programming for a couple of years and spent most of my time exploring other parts of tech that harnessed my creativity like animation, character design and other hobbies like chess. I never really planned on programming anymore because I was happy with the things I was exploring at the time. And even though I still had ambitions of being a programmer, I felt I was too young for it. It was until I joined the computer club that my passion and zeal for programming were reignited. Seeing and learning with people who are just like you and are as passionate about creating software makes you want to keep going. Connecting with people with the same priorities is crucial to your development as a programmer. They make you want to improve, grow and strengthen your collaboration and people skills. Learning in isolation can be overwhelming. You might feel easily frustrated and discouraged when you face challenges because you think you are the only one facing them, which allows doubts about your ability to creep in.

List of communities you should join: closeriq.com/blog/2020/06/top-developer-com..

What happens when your Technical Skills do not match your “Big Ideas”

final_6302daf9113934007081d32a_382620.png

At a certain point in every programmer’s life, they have thought of building the next Facebook, Twitter, Dropbox, Google or some big tech company that would IPO at a billion dollars. While a tad naive, it is normal and absolutely encouraged to have big ideas. And when starting as a beginner, it might be extremely overwhelming. I had a lot of ideas when learning how to code, but I had zero clue on how to go about it. I did not know what rate limiting was, how to handle message queues, caching, or even the basics of multithreading. Sometimes(most times), the problem is not necessarily you having imposter syndrome, you might not be skilled enough to handle such things yet, and it is okay. It's okay to be a beginner. It does not mean you are not smart or good enough-- it just means you are still learning. Rome wasn't built in a day, and neither would your skills be. That one course you bought on Udemy would not make you a master. Consistently showing up is what makes you good at any skill. Write about what you learnt or are learning, and apply what you know by creating smaller projects until you feel confident enough to handle larger projects.

Getting used to Failure

You are not starting over.jpg

Mastery takes time, consistency and effort. It is also easy to feel like you are not making progress that is why you need to journal through every step; progress isn't linear it's a curve. There would be a period where you feel like you aren't improving, and there would be other times where you feel like you are moving too fast, it is all part of the journey. You have to be comfortable failing and going back to the drawing board- if frontend engineering is not for you consider other areas of tech. It is normal to fail and everyone fails it is also normal to feel like you are behind but this is your journey and no one else’s so focus on your growth and yours alone.

I am wishing everyone reading this great success in their programming journey– WAGMI !!

Â