Summary of six skills for self-learning programming

One day, a friend of mine who was learning programming asked me, "I want to learn programming quickly, do you have any good recommendations? I taught myself programming in college, and after so many years, I realized that I might be Learning and understanding programming in the hardest way. I could have learned faster. So after looking back, I wrote down some of the things I've learned over the years about how to learn to program.

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

For the question of "how to learn programming fast", I really don't know what "fast" is. I feel that by following the advice below, you will learn programming very quickly (at least you will grow/progress faster). But you really shouldn't just have "fast" in your eyes.

Only the pursuit of speed will hold you back and make you suffer. Perhaps the only sustainable way to learn "quickly" is through immersion. Find a way to immerse yourself in programming for a long time (months?).

In order for it to work, you need to keep pushing yourself to learn new things and get away quickly. This is one of the advantages of coding boot camps. When you come out, you will learn faster even though you are not yet an expert. This can also be achieved by teaching by a dedicated tutor or by studying with a dedicated beginner.

1. Read > Write Code > Read > Write Code (Day to Day)

The first piece of advice I would give on how to learn to program efficiently is to cycle back and forth between reading code and writing code. Reading the code (books, blog posts, open source code) will help you see solutions, understand best practices, and get an overview of the language or system.

But after you do that, you need to actually write the code yourself. Can be anything. It can be a small coding exercise or a side project, but make sure you can put it into practice and use what you've learned in some way. If you don't, you'll find yourself at a loss when facing the editor.

The trick to this is to make yourself uncomfortable. It's quite painful, but as it should be. Coding follows the 80/20 rule. Spend 80% of your time on 20% of the code or 20% of what you learn. Getting used to this uncomfortable feeling and overcoming it is the key.

This iteration cycle should not occur on a weekly or monthly basis, but should instead occur on a daily basis. The longer knowledge waits to be used, the duller the axe of knowledge. The longer you wait to learn something new, the harder it is for you to incorporate it into your code.

2. Don’t get stuck and ask for help

My biggest mistake was taking too long to learn to program when I got stuck. When stuck, I spend a lot of time on something stupid or something I don't understand at all.

Sometimes it takes me days to get this done when I could do more and learn more if I could find a better solution. Getting stuck on something for more than an hour is basically a waste of time.

I recommend three things to avoid deadlock. The first is to try to always read more about the technology you use and get a general grasp of what's going on. Usually, when you're stuck, it means you're making incorrect assumptions about something that needs to be clarified.

The second is to consult the Internet. This is obvious, but still worth mentioning. Finding online and asking people who have had this problem is a very important skill. Stackoverflow is arguably the best site on the internet. Don't be afraid to ask your own questions there. Usually, just do your best to state your problem correctly. I really wish I'd asked more questions before, but I've always stopped for fear of looking stupid.

My third piece of advice is to ask someone you know for help. Often, you may already understand the technology and have questions, but you may need a higher level of context to really solve the mystery. Don't be timid, go ahead and ask.

For example, when learning Docker, I spent a lot of time rebuilding images from scratch. I fundamentally don't understand docker cache and spend 20 minutes waiting for a single change to pass through to the Dockerfile. I probably spent 8 hours waiting for a build.

If I had read more about Docker or asked someone who knew, I might have figured it out already and could have learned more in less time.

3. Work on the project

In my experience, there is nothing more useful than working on your own project to learn to program. With a few exceptions, all really good programmers I know have a habit of working on side projects (which can happen at work too!). It's very challenging to have an idea and try to implement it. It requires a lot of self-discipline.

However, by trying to actually do one thing, you can learn how to break down problems and apply techniques. The kinds of problems you face and how you solve them are really called programming. Knowing every quirky detail of a programming language does help, but it just keeps you further and further behind.

In addition, the drive to want to complete the project is the motivation to continue learning. The satisfaction you get from a side project is far greater than the satisfaction you get from learning something in the abstract.

My advice for picking a side project is to pick something that interests you and that you have an idea of ​​how to implement. Being able to express realization before starting always helps keep me motivated. You will definitely learn a lot on this journey!

4. Recognize the difference between deep dives and porters, choose accordingly

There are two types of programmers: perfectionists and porters. Some people want everything to be right, they want to be perfect, they want to follow all the best practices and write nice and elegant code. They want to understand every line of code.

Different from those who don't care about 3721, as long as their code works, even if it damages the codebase. Balancing these two skills is very important. Sometimes you should dig into an issue or project and see what's going on. Sometimes you should just make it work, even if you don't know what's going on.

Whenever you spend too much time on something, ask yourself: Which approach should I take? In most cases, you will want to take intermediate values. You want to provide a good, solid solution that you can understand and modify with confidence, but without taking a ridiculous amount of time.

As you grow as a developer, you'll better understand when it's ok to just leave it and when it needs to be done in a certain way.

Personally, I like my projects to be 80% perfect. If your project is absolutely 100% perfect and no line of code embarrassing you, chances are you've spent too much time.

5. Talk to other programmers

A great way to learn to program is to talk to other programmers. Don't have to talk about anything specific. It could be something you're learning, something you think is cool, something you're working on, whatever.

You'll find that many programmers don't like just talking about programming. Doing this will probably teach you a lot about libraries, services, programming languages, and patterns. But, most importantly, you'll learn how other people view programming. You will find that things you take for granted or never consider are very different from person to person.

If you have nothing to talk about, go back to the topic of editor wars or tab vs space.

6. Try everything, if you don't get it, wait 6 months

Lastly, I'm going to say that this has been happening to me all the time, I've tried so many things and I just don't understand it. After 30 minutes of trying something new, I stop. I guess this is normal when starting out.

However, I remember many times, after 6 months (or 3 or 9 months), I would go back to the same problem or technique, figuring out how to use it. This is because I have some knowledge that I didn't have before, or because it's just another way of framing it. Waiting for a while and then going back is always the most useful method.

An example of this is learning how to use the terminal. I remember being afraid to touch the terminal for a long time because I didn't know how to use it. It took me a while and followed the steps to use it and understand it regularly. Of course, if I knew someone who could answer me, or find a good resource to learn from, something like this wouldn't have happened!

in conclusion

These things help newbies learn to program on their long journey. I know I have more to learn and will continue to learn how to learn forever. The most important thing said three times, please go on, don't give up, don't give up, don't give up. Of course, that's easier said than done because learning to program can be very frustrating at times! do not worry. this is normal. Everyone has experienced this feeling.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324734909&siteId=291194637
Recommended