• Skip to main content
  • Skip to primary sidebar
BMA

BeMyAficionado

Inspire Affection

5 THINGS I WISH I KNEW When I Started Programming

March 16, 2021 by varunshrivastava Leave a Comment

5-things-I-wish-I-knew-when-I-started-programming
My Two Cents
5 THINGS I WISH I KNEW When I Started Programming
Loading
00:00 / 8:34
Spotify
RSS Feed
Share
Link
Embed

Download file | Play in new window | Duration: 8:34

Subscribe: Spotify

I’ve been wanting to write this article for a long time. When I look back at my life and ask the question – What if I knew this already, how my career paths would have been different?

And this is a good question to ask yourself. You learn a lot about yourself in ways you didn’t know. So, in this article, I would share 5 Things That I Wish I Knew When I Started Programming (a little keyword streak there :p)

Okay, let’s dive right in.

1. Focus On Data Structures and Algorithms From Day 1

When I was in college, data structures was my favourite subject but I only learned what was taught in college.

I knew how to create all the basic data structures like ArrayList, LinkedList, Stack and Queues but this is the basic stuff. This is where the foundation is laid but I wish I knew more than this back then. Like Graphs and its applications for example.

My advice to all the budding programmers out there – Start focussing more on the data structures and algorithms. Create small projects like sorting visualizer or shortest distance finder or recursion visualizer etc. This not only develops the important concepts in your head but also you will have some brilliant projects to showcase at the right time.

Another thing to look forward to is problem-solving. This is the most important part of the developer’s life. You got to be quick in developing algorithms to solve a given problem efficiently. And the only way you can do that is to practice. There are some very good websites that challenge you with good computer science problems. Make use of them. Try these,

  • LeetCode
  • HackerRank
  • CodeChef
  • CodeForces

I strongly recommend buying these two books,

  • Algorithms by Robert Sedgewick
  • Cracking the Coding Interview

These books may seem a bit costly now but trust me it’s a treasure of knowledge and will set you off the right path.

Robert Sedgewick is the founding chair and the William O. Baker Professor in Computer Science at Princeton University and was a member of the board of directors of Adobe Systems.

2. Not Try To Learn Everything

Don't stress out your processor
Don’t stress out your processor

This is very important lesson that I learned late in my small career.

When I was starting to code, I was overwhelmed by the technologies around me. There are only 24 hours in a day and it is your responsibility to make them count.

Unfortunately, I was poor at managing these hours back then. I picked one tech stack and then I read about something else and then I hopped on to the other one. It took me time to realize that new technologies will continue to pop up every second and it is important to stay focussed and dedicated to the one tech-stack you know better.

The saying – Jack of all trades and master of none is actually bad in this field.

The saying that worked for me is – Jack of all trades and Master of One.

You gotta pick one tech stack. Be it python, java, c or c++. I cannot emphasise enough how important this is. And if you will ask for my preference… I would recommend you C++.

The reason being is that this language operates closer to memory. So, when you will develop data structures with this language, you will know a lot more about the memory management that takes place. And once you know how different pieces work together, you can take this learning to any other tech stack like Java.

It will help you to adapt to any new ecosystem faster and easier.

  • Minimalism is the Way Of Life

3. All Code Is Garbage

Tauba Tauba!
Tauba Tauba!

Never get intimidated by someone else’s code and start running towards excellence and perfection.

Remember this – All code is garbage. I’ve heard Tech Lead talking about Google. He mentioned that Google rewrites its entire code base every few years?

All programmers write shit code and then they learn and write some more shit code. That’s how it works.

Let me share my personal experience. When I started coding, I wrote shitty code and thought my code is the best. Just because it worked, I thought I know how to write code. But then I started working for a big MNC and I saw their code. It was well structured, followed best programming practices (that I knew of), looked clean. I thought to myself, what have I been doing so far. This is the way to write code.

But when I started learning about Object-Oriented Programming and Design Patterns. I started seeing shitty code everywhere again. The same code that I thought is perfect was actually a bag full of crap. Like real smelly crap.

So, the lesson to learn from my experience is that all code is garbage and you will never find the most perfect code in this industry. Sure, some coders would be more talented than you and would write it better but then again there will be someone better than them.

Never get hooked on perfection. It stalls you.

4. Focus On The Projects Not The Technology

Varun Shrivastava's Github Profile
My Github Profile

As I said earlier, technology will keep on changing and evolving every second of every day of every week. You will have to stay in touch with that. That is expected of you. But there is one very important thing that most of the companies look for in their potential candidate and that is the number of projects they have under their belt.

Projects are directly related to your knowledge and speaks of your experience.

There are many candidates who are well versed with Javascript, Java or Python but there are a few who have real-world projects to showcase.

You should start focusing on creating projects.

Create as many projects as you can and showcase them in your profile.

The best place to showcase your projects is via Github. Other platforms like LinkedIn is also a very good place to showcase your skill set to a potential employer. Make use of these platforms religiously.

You can check out my Github profile for a reference.

5. Watch, Read and Listen

This should come naturally to you. If reading, watching educational videos and listening to ebooks is not your cup of tea… well then… you have to make it your cup of tea. Develop that taste in you. Without this, it is very difficult to find success in the IT world or any other domain.

The thing is that most people stop learning new stuff and that’s the end of their career growth. They stall at that very moment.

In the world of information, everyday something new comes in and you should be vigilante for that stuff. If you are actively subscribed to the right news and channels, you wouldn’t miss it.

Just remember this – In IT everything is simple and you are the only limitation.

It takes 14 days to learn a new language and develop something useful from it. The only thing is that you should believe in yourself and just DOOOOOOO…

I learned JAVA in less than a week. You don’t have to learn everything about a language before you develop a production-ready app. Just the basics will set you off. If your basics are clear than learning a new technology is a piece of cake.

Learning along the way will help you more than learning first and then making a move.

Keep the hunger alive. Keep reading, keep watching and keep listening.

See you next time.

Related

Tagged With: 5-things, Life Lessons, podcast, programmer

Primary Sidebar

Subscribe to Blog via Email

Do you enjoy the content? Feel free to leave your email with me to receive new content straight to your inbox. I'm an engineer, you can trust me :)

Join 874 other subscribers

Latest Podcasts

Recent Posts

  • Is The Cosmos a Vast Computation?
  • Building Semantic Search for E-commerce Using Product Embeddings and OpenSearch
  • Leader Election with ZooKeeper: Simplifying Distributed Systems Management
  • AWS Serverless Event Driven Data Ingestion from Multiple and Diverse Sources
  • A Step-by-Step Guide to Deploy a Static Website with CloudFront and S3 Using CDK Behind A Custom Domain

Recent Comments

  • Varun Shrivastava on Deploy Lambda Function and API Gateway With Terraform
  • Vaibhav Shrivastava on Deploy Lambda Function and API Gateway With Terraform
  • Varun Shrivastava on Should Girls Wear Short Clothes?
  • D on Should Girls Wear Short Clothes?
  • disqus_X5PikVsRAg on Basic Calculator Leetcode Problem Using Object-Oriented Programming In Java

Categories

  • Blogging
  • Cooking
  • Fashion
  • Finance & Money
  • Programming
  • Reviews
  • Software Quality Assurance
  • Technology
  • Travelling
  • Tutorials
  • Web Hosting
  • Wordpress N SEO

Archives

  • November 2024
  • September 2024
  • July 2024
  • April 2024
  • February 2024
  • November 2023
  • June 2023
  • May 2023
  • April 2023
  • August 2022
  • May 2022
  • April 2022
  • February 2022
  • January 2022
  • November 2021
  • September 2021
  • August 2021
  • June 2021
  • May 2021
  • April 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • February 2020
  • December 2019
  • November 2019
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • January 2019
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016

Tags

Affordable Hosting (4) algorithms (4) amazon (3) aoc-2020 (7) believe in yourself (4) best (4) database (4) earn money blogging (5) education (4) elementary sorting algorithms (4) experience (3) fashion (4) finance (6) Financial Freedom (7) food (7) friends (3) goals (5) google (5) india (10) indian cuisine (5) indian education system (4) java (16) life (16) life changing (4) love (4) make money (3) microservices (9) motivation (4) oops (4) podcast (6) poor education system (4) principles of microservices (5) problem-solving (7) programmer (5) programming (28) python (5) reality (3) seo (6) spring (3) success (10) success factor (4) technology (4) top 5 (7) typescript (3) wordpress (7)

Copyright © 2025 · Be My Aficionado · WordPress · Log in