FAQs on Getting Started with Programming and My Journey as a Self-taught Developer
Image by https://unsplash.com/@clark_fransa

FAQs on Getting Started with Programming and My Journey as a Self-taught Developer

What is programming?

According to Wikipedia, "Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a specific task."

The definition above is pretty self-explanatory. In simpler words, we teach a computer to do something useful. We instruct the computer what to do using programming languages. Without us, a computer is just a box with some electronics. It does nothing. So this shows the importance of programmers in our day-to-day lives.

There is a common misconception that programming involves typing keys in the keyboard for hours. This is usually the portrayal of programmers in movies. But this is not true. It's quite the contrary. Most of the programming involves, just thinking and writing the idea on a piece of paper. In my opinion, programming is 80% thinking and 20% typing.

Why learn to code?

This video by code.org sums it all up beautifully.

When can I learn programming?

The truth is anyone can learning programming regardless of their age. The only thing that matters is the willingness and strong determination to learn new things. Another thing that is often overseen is you can't make someone learn something that they don't like.

If kids can learn to code, should we teach programming to kids? 

NO, NO, and NO! Kids should enjoy their life, make friends and shouldn't be carrying more burden along with their studies. They should explore all the fields and find their true passion. Pressuring kids with programming at a young age will result in them growing hatred towards programming. There are many companies out there that promise to make kids good at programming and help them to start their own million-dollar company. If you're a parent, please don't fall for those traps

What should be your first language?

Simply put, "it depends". If you're someone with a goal in mind. For example, you want to develop a web app or a native android, just learn the language that is required to achieve said goal. If you just want to get started with programming and choose a goal from there on, I would suggest Java as your first language. It is easy to pick up but hard to master. You can learn the concepts of OOPS as well. Another option would be C/C++. Contrary to the popular belief, I won't recommend C/C++ to a beginner. Python is also a good starting point to understand the logic of programs. The most important takeaway from this section should be "CHOOSE A PROGRAMMING LANGUAGE RIGHT NOW!". Most people get stuck in this phase, wasting their time to choose the perfect programming language that doesn't exist.

Where to start?

Again, "it depends". Some people are good at learning to program from books, some may feel more comfortable with materials in video format and some may feel comfortable learning in-person with an instructor or trainer. In terms of online resources, you can use Udemy courses, Coursera courses, Udacity courses, or even YouTube channels like 'freeCodeCamp'. The amount of resources freely on YouTube available now makes me jealous compared to when I started coding. If you're a book person, I would strongly suggest you to read it in a library or in-store before purchasing. The book on the same topic can vary drastically from author to author.

Okay, I know the basics, what next?

Competitive programming. Learning a programming language is like getting a toolbox. To use it you have to start to solve problems. There are many online platforms for problem-solving. I would personally recommend LeetCode as it has the best interface and a good selection of questions. HackerRank, CodeChef, HackerEarth, TopCoder, and CodeSignal are some of the popular problem-solving platforms. Once you can solve, Medium to Hard difficulty programs, you can move on to competitive programming. Most of the above-mentioned platforms conduct coding contests, programming marathons, and other competitions related to programming. You compete with other coders across the globe.

My Journey

School

11th grade: I learned C and basic problem solving like factorial, matrix multiplication, etc.

12th grade: I learned the basics of Java.

College

1st Year: I learned Python3 and C with intermediate problem solving and os level functions like file handling.

2nd Year: I learned Advanced Java and started my development journey by creating native Android apps using Java.

3rd Year: I started my web development journey using React library along with HTML, CSS, and JavaScript. I also started competitive programming. I regret starting very late. 

4th Year: I learned Swift and started my iOS development journey. I also learned Kotlin for Android along with architectural components like MVVM. I started my Hyperledger Fabric Blockchain journey using JavaScript. And I also got certified Microsoft Azure Fundamentals.

When I use the word 'learned', that doesn't mean I know the language 100%. That just means I'm just proficient with the language. No one can learn a language 100%. Even its creators. That's the beauty of programming. You'll keep on climbing the mountain, but will never reach the peak. Some of you have might have noticed that I'm using the word 'journey' frequently. In my opinion, development is a journey with ups and downs just like life.

About me

I'm just a final-year engineering student passionate about programming sharing my observations with you guys.

Self-learning is the best way to learn anything!





Gavaskar S

Educator| Trainer-ECM | Technology | Legal I consultant

3 年

Good! Self learning is best way to learn,buy Guided learning is easy way to learn

Aravinth S

System software Engineer at AMI India

3 年

Super

要查看或添加评论,请登录

社区洞察

其他会员也浏览了