How to learn any programming language?

How to learn any programming language?

"Programming Language", is it a buzz word that's why you like or it just makes you damn curious like it does to me?

Well, it depends how passionate you are about programming and how much do you actually love coding. Let me be clear that I am not a good programmer yet. I just keep learning and keep evolving into a better "ME" just because I love programming.

No matter which programming language is it, I just love to code. Even if it's a frontend side language or any of the backend programming or scripting one. I am always there to learn it, work on it and may be explore more.

But here is a twist. I have learnt all these programming languages by my own.

Yes, my college lecturers and professors played a good role in clearing out my basics and nurture my interests into programming and I'm always thankful to them for all of their support and guidance. But, keeping up on this enthusiasm has transformed me into a better programmer than I used to be during my college, even if I always had fear of computers till my schooling.

Actually, I bought my first 2nd hand P-III processor Windows XP PC with 80GB HDD and I guess 250mb RAM with typical domb type monitor. Well, I'm sure you're gonna hate my story about me and my first PC because it's bit boring but idiotic a lot. I'll share that one day.

So, now I would want to share a recent incident of mine at a job interview.

Recently, I met a guy who was good in lots of programming, scripting languages and server management and much more. I felt envious however but really looked after working with him. Somehow, I didn't got that chance but during interview, I asked him a question. What do you think I would have asked him?

Well, it was pretty simple and straightforward. I asked, 

Sir, it's fine. I know I'm not that good in programming so that you could hire me. However, I really looked forward working with you but I'm not ready yet. But, I can really work around it and come back to you in a month with skills, fulfilling your expectations. But, there's a thing I would like to ask you for guidance actually.

Would you please suggest me how can I be that good in programming?

After all, this question always used to get triggered in my mind. And, I've tried many approaches but neither of those succeeded ever. And, that's the reason I said before that I'm not a good programmer yet.

And, when I got his reply, I was amazed because I have always been right. The approaches I followed were always correct. It's just that I gave up too early. I gave up because I wasn't ready to come out of my comfort zone up to that level which could have been triggered that thing into me.

Every big transformation needs time and patience. 

Every big transformation needs time and patience and I never had that. I have always wanted to learn it quick, apply it quick and deliver to the client. Chapter closed.

So, what was that solution? 

He said that whatever you learn, just learn in deep. Go in depths as much as you can. You know everything but you got weak in basics. You've not gone through the depths of all these things.

That day, learnt a most important lesson of my life.

Programming is easy but going in depth isn't.

And, even in my college and early career time, I've been practicing C# with ASP.NET and that too from their official documentation. Even, I've prepared a list of their namespaces and planned to study each and every library but couldn't do that. I just gave up on it because it was too tough and time taking.

But, it was a great way to get hands on expertise on every minute detail of the language. However, there's also a twist. We need to move forward with speed because tech stacks keep on upgrading to newer versions and new libraries, new frameworks, new platforms keep on introducing. And, we cannot lag behind all of that.

So, there's a simple approach compiled down into bullets here:

  • Have patience
  • Keep learning everyday
  • Go in deep as much as you can
  • Official documentation is the best way to start
  • Read books, stack exchange questions
  • Read blogs everyday
  • Theory is good for understanding but practical implementation is must
  • Share what you learn
  • Don't give up until you get expertise
  • Don't stick to one programming language only
  • Again, go in depth because it will open many other doors which aren't mentioned here. 

To share my experience into the form of blogs and vlogs, I've tried many times writing blogs and also created video on "Programming in C" but due to not consistency in all of these and my lack of time management, it hasn't worked out so far. But, hopefully, this new year will bring that enthusiasm, patience and consistency in me to enhance my learning further and share all of my knowledge here.

I'm really expecting the responses from my readers and don't wanna end up into this one-dimensional communication. Hopefully, by the end of this month, I'll open the option for commenting so that this communication could go towards the next level.