Photo by Arnold Francisca on Unsplash
My Tech Journey: A Retrospection
Retrospection about a fresher's journey in software development until now (Part-1)
Inspiration
So recently I graduated from college with a bachelor's degree in computer engineering. Currently working as a developer in the Silicon Valley of India Bengaluru and learning the ins and outs of this field.
I Joined Hashnode recently and while I wondered what should be my first post, I pondered upon this article. So here I am inspired by her blog (thanks Stella Wanja), jotting down my own experience.
How I Discovered Computer Science
We had a computer at home for the longest time I can remember. Exploring some random software, clicking those info windows that looked like absolute jargon, and making random lists with Microsoft Word and Powerpoint, is probably all I did.
My official introduction to the software programming world began in Class 11, with the subject Informatics Practices. It was love at first sight! Tired preparing for the weekly JEE-Main mocks, the Informatics Practices NCERT was my abode. Those MySQL statements manipulating the tables were magic at first, nothing like any subject I had tackled before. Little did I know, my journey had already begun.
As time commenced, my interest peaked. I began exploring beyond the syllabus: the basics of Java seemed surreal (in a positive way of course lol), HTML and CSS looked beautiful, and of course, MySQL was the muse. So by the end of Class 12, I found my calling: Computer Science Engineering!
Software Development Journey
During my initial months in college, exploring this field was probably the hardest.
Any software developer today with years of experience will suggest you this: despite being a field with a plethora of opportunities, one can get lost very easily. But back then getting lost did not matter, I just wanted to be the Jack of All Trades and explore!
Exploring Machine Learning and Python
During 2018, the terms Machine Learning, Data Scientist, and Python were in a rage. So started my programming journey by learning Python. Then learned the ML packages and tried building simple regression models on small datasets. Honestly speaking, even today if you ask me, I love learning the behind-the-scenes of machine learning models more, the why's and what's of the calculus theorems. Simultaneously, began watching Andrew Neug's Stanford Course on Coursera, and the explanations grabbed my attention. Since then I'm always starry-eyed whenever I learn more machine learning algorithms, their workflows and use cases. Extremely interesting!
Exploring C, C++
So, why am I explicitly mentioning C and C++ in my exploration journey? Because I owe them for my present programming basics. Initially, it was very hard. I remember how writing a simple recursive program seemed tedious. The basic programming concepts: OOPs, and Exception Handling all looked tedious. Not ashamed to admit, everything looked super tough in the beginning. And the imposter syndrome? Where should I begin? Looking at everyone arriving at solutions while me still struggling with basic loops was very demotivating.
But that is the beauty of computer programming: all you need is practice with the constant urge to enhance your problem-solving, solution building and designing skills. It took me almost a year to be finally comfortable with coding in C and C++.
Exploring Backend Development with Django
Later while exploring Github, this Full Stack Developer term caught my eye. Furthermore saw that while using databases for an application, I can use my MySQL skills. So I redirected my focus to building full-stack applications with Django. And it was fun! The backend programming experience, MVC model design, calling API endpoints, exploring public APIs, and manipulating the JSON data kept me hooked for months. There were also days when no code worked, no StackOverflow solution worked, and then suddenly out of nowhere after deep diving further, the solution would be found! And I think this is what I enjoy the most about programming: The confidence that the solution is surely around, just a little more research + patience and you'll reach it. The following is one of my favorite Django projects.
Exploring UI with HTML-CSS
Earlier while programming the backend, I mostly used Bootstrap framework for the UI and rarely used any complex HTML-CSS. So that is what I focussed on next. And my god, it is tricky. Huge Respect to all the Frontend Developers out there!
It took me quite some time to overcome my fear of coding the UI with HTML and CSS, this portfolio project being one of my biggest achievements in this journey. It might look simple, but it is probably one of the very few UI projects I made with 100% confidence.
PS: Do not want to make this article too long! Will release Part-2 of this journey! Thanks for reading so far! ๐
Btw, this is my first blog on Hashnode, do comment and like the article if you like it!