Is this a lie to developers or a famous saying?

Source: Internet
Author: User

This article is from The Greatest Developer Fallacy Or The Wisest Words You'll Ever Hear? This article is translated.


"I will learn it when I need it!"

I have heard this sentence for countless times over the past few years. It sounds like a very practical attitude to be in a fast-developing and changing industry like software development. In some aspects, it is indeed very useful, but on another level, I am very troubled by this sentence. It seems to be the gospel of our industry, but it has never been better. The problem is,On the surface, this sentence uses wise and experienced developers as an excuse for people to follow the stream.There are too many things we need to "discover and learn" at work. But for this kind of "Discovery and learning" of new knowledge, do you go hand in hand at work and learn, or simply encounter some problems, learn how to deal with this problem? There is a big difference between the two.

The whole industry is full of talent and talent. Maybe it has always been like this, but I am too closed to recognize this, and I am not willing to see this situation. No one is willing to study something in depth, including the basic principles of computer science, the latest technology you are using, or even the language you have been using in recent years. Why bother yourself? Maybe you will find that these technical knowledge has been updated, upgraded, abandoned, marginalized, outdated, and no longer popular when you are learning it for a while. I have discussed this phenomenon with many people. No one thinks this is a problem. "Be a practical person."

At the same time, we are all imitating and cloning each other. Now I need a Java programmer. I am a Java programmer. You are also a Java programmer. My neighbor is also a Java programmer. What are the differences between us? -- No difference! Also, I learned some jQuery knowledge. This is good, so I know how to make a foldable menu. In addition, I can use Google to search on the Internet, everywhere. I can find the best code and plagiarize it. At the same time, if you want to recruit a Perl expert (maybe you want a magic interpreter or visualize a large amount of data), you have to prepare enough dry food and water, because you cannot find it.

Yes. There are many differences between you and me. I have better communication skills, so I am doing better. This is of course important,,Developers are differentiated by soft power rather than developing technical capabilities-a bit distorted.We all have good communication skills and the code that can be written is a mess. Damn it, I shouldn't have said that, because I am also a general talent. Of course, I prefer to think of myself as a man with both breadth and depth (T type). But if you want to tell the truth, you will say, most people only have breadth, no depth, and more like the horizontal line (broken line ). In these breaks, you are like a huge stalactite-you are T-shaped.You look like an expert, even if you have never been an expertThis is the advantage of dedicated talent when talent is everywhere.

Investing in your future

I don't want to preach that we should invest in our future career, because this is what everyone knows. Most people think they are investing. They work hard, write a lot of programs, and even work and study. It is true that they will certainly become an expert over the past 10 years, he has been a senior expert for 20 years. However, if this is the case, then all the older people will become experts in various fields. This is definitely not the case. Maybe the reason is that people do not know how to develop their expertise in a certain direction (This actually exists.), But in private, I suspect that,People lack enthusiasm rather than guidance in this area.. The problems mentioned above are basically the same.

I am totally confused. "Investing in the future"This is just one of our discussions, and the main issue is"I will learn it when I need it."This rumor. This sentence is suitable for my dad, and it has been used for so many years. Let's apply the thought of this sentence to finance.I will invest money when I need it.". You will find that this sentence is not so useful sometimes.

You don't know what knowledge you lack

We 've all gone through this time: You're suffering from a problem. Someone finally tells us about the X algorithm or Y technology, which makes all the problems fast and simple. You are lucky to have met someone who can tell you the "simple" method. Otherwise, you may need to go several days or weeks to figure out the problem and make things messy. You will not be blamed for this, because you cannot know in advance what kind of knowledge you will lack. I think this is where the thought method "I will learn it when I need it" fails.You cannot learn the technical knowledge you have never heard.. Google has made great achievements to alleviate this problem, but it cannot solve all problems. In the vast unknown field, you will encounter a large number of unknown problems, which will make your head broken. how miserable is it, unless you understand what type of problems you are facing (for example, if you know some search algorithms and constraint propagation problems, you can solve the sudoku problem. Otherwise, you are in trouble ). You cannot learn an algorithm that you don't know or where to use. You cannot use a technology that you don't know what you can do to solve a problem. It's impossible for someone to keep pointing you in the right direction. I bet there are millions of codes in the world that can be replaced with code that is more efficient, tidy, and effective, just because the people who write the code do not know what they lack.

I would like to explain this problem in reverse direction. If we can know in advance what we lack, it is true that I need to pay attention to a lot of knowledge. It is of great help to explore as much knowledge as possible in a wide range. When a problem occurs, I will be able to see what the problem is in, and then study this knowledge in depth. However, things won't happen like this,Looking at all kinds of knowledge without any trace in our minds,This is not how our brain works. If I do not strengthen or dig deeper into a knowledge concept, our brain will soon mark it as unimportant information, which is a waste of time (Recall how many things do you remember the next day for the exam?). However, if you can focus on a topic for in-depth research-and be interested-you will get a lot (You will not forget this.). My grandfather is a nuclear physicist. He has been an expert for decades by collecting his knowledge in this field, but he has also become an outstanding mathematician, A good chemist, a very good physicist, a qualified biologist, and so on. This is just a broad by-product from in-depth research.

Can you learn them quickly enough?

It takes a long time for you to learn something. I am confident that I can learn an ORM framework that I have never seen before without frown, because similar things I have seen before have the same concept. However, if you want to convert your speech into words, it is not that simple. You do not have enough background knowledge. Pin your hopes on Google and find something that we can paste and copy. This is a bad practice. Only university researchers can do this. What if I develop a website? We all know how to do this, but what if we need to support 10 million user views per day? I need to know how to upgrade,I believe that without a month or two of research, you will not be able to speed up.. Yes, I am so stupid. What I should do is hire an expert and then... Oh... Slow, wait, we have not enough dry food or water.

Why do I care?

It's so nice to work with experts.. Maybe you have had such an experience before. What they say is so novel and interesting. Every line of their code can benefit you a lot, and you can almost feel that your brain is expanding. You want to learn from experts, but it is unfortunate that you cannot find such experts. Because everyone learns when they are "needed", and no one can teach others anything. The biggest lesson is that experts also want to work with experts,Your question is, do you know whether experts are willing to work with you?This is a good practice if you can learn it as needed, but you cannot regard it as a famous saying for software developers. Yes, this industry is very broad. You can't learn everything, so you have to choose something and learn it well. If you are curious and have done in-depth research, you will find that you have a lot of other knowledge in the end. And if you can make a good job, other elites will hope to walk around with you, because they can learn from you, you can also learn more from them. This is good for everyone.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.