What is a 40 -year programmer?He gave 13 suggestions

Author:Quantum Time:2022.09.18

发 发 | Public account QBITAI

What is the experience of 40 years of programmers?

A brother, who has been a programmer since 1984, came out to "appear".

He concluded his experience in his recent business and brought together 13 suggestions, hoping to provide some help for novices who want to be programmers for a long time.

As soon as the article was released, discussions were caused on Reddit and Twitter. Many programmers also submitted to posts, and some netizens said that they could not agree with more!

Hurry up and see what dry goods he shared.

Experience sharing from the nearly 40 years of code farmers

The older brother is NOAH Gibbs, who has worked in Nvidia, AppFolio Inc, DAQRI and other companies. He is currently working in Shopify.

As a senior software developer, he has always been active in development.

But unlike imagination, this time he did not introduce what language or framework to learn, but pointed out something that he thinks more important than technology.

(The following is the tone of the author Noah Gibbs)

1. It is not too late at the beginning of a few years

About a year ago, when I was 45 years old, I started learning to play piano. I feel that I have been progressing this year. I believe that if I persist, I will definitely be great at the age of 60.

The same is true for learning programming. When you already have some other fields, your learning programming will become fast.

Believe me, if you start a programmer from the age of 50, 10 years later, when you are 60 years old, you will definitely be much better than me 18 years old.

I have encountered many excellent programmers. They all joined at the age of 20, 30 or even 40, so I don't know why you can't start from 50 or 60. This line takes time and work, but you don't have to be young.

2. Try different types of programming

If you have just joined the industry and want to engage in the programming industry for a long time, my suggestion is to write more software, it doesn't matter if any software and anything are written.

In the 40 years of my programmers, many trends came and went. It can be said that it is important to let yourself try different types of programming.

This can make your thoughts not stiff, and it turns out that almost any rule can teach you something.

If you are too stuck in a certain task, it is likely to fail.

3. Don't be afraid of slow returns

Don't feel that what you are learning is useless, because useless is just relative.

I have devoted many years of my spare time to an old MUD programming language called DGD. Of course, this is not for practical value, because almost all things about it are strange and unconventional, and rarely can really be applied.

But it taught me a lot, it taught me what Ruby on Rails later applied, it taught me how to use database programming, and it also taught me something that I can use in 5 or 6 languages ​​I later learned later. Essence

Interestingly, many years later I found a consultation work at DGD. There are not many DGD jobs in this world, but I have one! This is more practical than many "practical" languages ​​I have learned.

Just like what I often say to myself: "It's still early." You can learn more interesting or useful things, even if there may be rewards after ten, twenty or 30 years.

Don't always choose something after 18 months, because you can't foresee what will happen in the future.

4. Find the attraction point of your job to you

You start to write code because it attracts you in some aspects. What you have to do is try to figure out what it is.

Everyone is different in this answer. For me, I like to write code to the sense of accomplishment and cleverness.

Only when you find enough points to attract you at work can you persist for a long time.

If you don't feel any attracted point, then you may need to take a vacation or look for what you like, because such a job will only exhaust you.

5. This is not a sprint or marathon, this is a writing diary

If you are a novice, you are likely to make a detailed plan after determining that "I want to be a programmer", which may include 8 large points, 56 small points, and so on.

I won't tell you not to be so excited, but I want to say: Don't take this plan too seriously. Because you can't complete everything by calculating and planning.

At some point, you do not "get rid of the task you set", you just "live your own life". This is not a failure, nor does it give up.

You can't predict what is valuable, so you should learn everything. My experience is: the longer you live, the better you work, the more you can realize that everything (everyone) can teach you what useful.

You are not running or marathon. On the contrary, this is like writing a diary.

Ten years later, you will look at this diary, and then say, "Wow, I did something cool" or "Well, I am a very interesting person", but I think you should not write on the diary "I'm very good at Java."

6. Don't confuse jobs and occupations

Do not confuse jobs and careers, they are not the same thing.

For me, writing software is a great job, but it is just a career that can be better or better.

When accepting the suggestions of others, you should also pay attention to whether the other party mentioned whether it is a suggestion on work, or the suggestion of this profession. If you confuse the two, this suggestion is not much meaningful. 7. The order of learning is not important

When you just get started, you often get different suggestions about what language or technology first learn, but this is not important.

If you do not follow the old rules, but create your own path, it does not mean that you do not do a good job of basic work, nor does it mean that you are bad.

Because if something is really important, you will find it sooner or later and learn it again.

8. The better you are, the more different from others

Early programmers vocational training (such as blog articles, university courses, books) is like an assembly line, trying to cultivate your basic ability in every aspect.

Moreover, it is easy for novices to mistakenly believe that a chief engineer needs to be full of many skills and each skill level, but this is not the case.

You can describe it by writing a fairly simple code and in detail, just like Patrick McKenzie in "Bingo Card Creator", you can also get respect by writing some really favorable things.

Except for basic abilities, these roads have almost nothing in common.

This is why asking such a question when you job jobs are stupid: "I am a software engineer with 15 years of work experience. What is the usual salary?"

15 years is so long, so that you should form a different advantage from others. Have you written a book? Have you ever been engaged in large -scale projects? Have you integrated an interesting open source project? What did you do in the past 15 years?

Of course, this is not just a matter of salary. You can ask: "I am a software engineer with 15 years of experience, which means that I have the ability to lead this project, right?" The answer is of course "possible". The next question is "What did you do in 15 years?"

9. Learn from practice

I don't recommend people to learn the deep principles of software design at the beginning. This is because if you try to learn them as a pure theory, it will almost be wrong.

For beginners, we must first learn to build a available software with some practical language. Regardless of the language, only if you make some real mistakes, can you solve the problem in the error.

Then you can circulate like this: practice, mistakes, learn theory, and correct errors.

Of course, this does not mean that if you learn the theory first, you will always be worse, but it will only take a while to correctly use what you have learned.

10. What technology to use is important

If you want to do it for decades in the programmer, then you must not only learn all kinds of technologies, but also learn a variety of non -technical skills.

For example, "learning at least one functional programming language" is just like the pianist's "learning and playing Mozart's piano song". At the same time, learning the edge technology involved in some programming will cultivate you additional additional extraction for you to cultivate additional extra. Inpherish.

11. Learn from other fields

If our industry is still young, what does this mean? This means that we are still studying the basic principles.

You can learn a lot from other fields. I once wrote a book about how to learn artists' practice methods. It is precisely because art and music are ancient disciplines. They have led the computer for thousands of years.

So, if you encounter a problem, you can consider how people in other fields deal with this problem.

For example, in the "Checklist Manifesto" of Atul Gawande, it tells that the pilot, skyscraper builder, and doctors have a very different way. These are good methods.

12. Don't repeat wheels

As we all know, if the artist repeatedly draws a static and musicians to repeatedly practice a song, they will become more and more proficient, but the programmers are different.

One of the sayers in the programmer is "Don't repeat the wheels". Our job is to find a way to let the computer complete all the duplicate work, so that we can do new jobs.

You can try to re -invent the wheels, and you can write the code intentionally in a "bad" way to see what it will happen. All in all, you need to be really good at some unusual things.

13, just do it

I have been recommending suggestions from non -technical fields, not those forums that are full of technical houses. Those forums are full of paranoid enthusiasm for those who have recently turned the programmers.

If you write a program, you are a programmer, or a software engineer, or what you just call it.

As long as you persist, you can always be a programmer, no matter how many years. In any case, if you persist, you are qualified, which is the most important.

How about, do you have a new understanding of the programmers industry after reading it?

In addition to the text version, the author also uploaded a video version on YouTube. Links are placed in comment. Interested friends can take themselves ~

- END -

How much does this conch with my eyes stare at me?

If one conch stare at you, how would you feel?Picture source: pinterestPicture sou...

Beijing Consumers Association: More than 60 % of the respondents said that they had experienced "killing" experience by big data

China News Service, September 9th. The website of the Beijing Consumer Association issued a survey report on the issue of big data Killing. He has experienced the experience of being killed by big