I guess you are still a CRUD programmer now.

Insert picture description here

Pragmatic programmers always see the essence through the problem when facing a problem, starting from the specific scenario, considering the overall situation, and understanding the ins and outs of the whole problem. They will be responsible for their actions. When the project faces problems, they will not Will let go or let the risk expand step by step until it cannot be maintained.

Most people are not pragmatic programmers, because becoming a pragmatic programmer does not satisfy short-term interests. It requires long-term polishing and continuous learning, thinking and reflection. Most people are not pragmatic programmers for only one reason: inertia.

Provide free Java architecture learning materials, learning technology content includes: Spring, Dubbo, MyBatis, RPC, source code analysis, high concurrency, high performance, distributed, performance optimization, microservice advanced architecture development, etc.

Friends in need can click: click this! Click this! , Code: csdn.

Insert picture description here
Programmers are hostile, and many people complain to me.

I have been working for a long time and my age is relatively old. I feel that there has been no improvement in the technical direction of the work over the years.

I have something to say to these people: Failure to reflect in time may be due to the fact that they have been busy at work and have not stopped to think quietly. Because I believe that any programmer who has time to think will not have this idea. Be good at reflecting on yourself, you will adjust the latest state in time, learn systematically, improve your core competitiveness, and make yourself a talent that the company cannot easily replace.

CRUD all day, the project technology stack is relatively old, I want to contact new projects, I want to go to the Internet

I have something to say to these people: CRUD all day is not the basis for you to find reasons! CRUD's spare time has time to improve himself! I am also CRUD, but I am not a CRUD programmer! Don't put all kinds of CRUD hats on yourself. The project technology stack is relatively old. I want to say that the computer world has been developed for more than 60 years and still only recognizes 0 and 1, and we must focus on the unchanging roots. If you finish learning the operating system, you will know that the software is ultimately inseparable from the operating system, and you will know what is going on in the monitoring process, and when the operating system implements the decision of different scheduling algorithms. I used to say that I like technology and want to get in touch with new technology stacks. When I was asked which hibernate ideas you know are still popular and which ideas in mybatis are still very old, you will find that the new wave of technology is only temporary Yes, there is no technology that will never be outdated!

I heard many seniors talk about it, who said that when he entered the Internet in the first few years, he was waiting to be laughed at! Why is the Internet popular now? Because it meets the demands of our public! No cash payment, relax after work, don't want to buy food by yourself when you are hungry, physical shopping is troublesome and you have to resolve the embarrassment of various shop assistants! ! ! However, the Internet cannot be implemented. After it has developed to a certain scale and platform, the Internet will eventually be eliminated! Hardware, chips, and communications are always trending technologies. It's just that you can't get the feedback in front of you, and many high-quality talents don't want to do it!
Insert picture description here

What techniques should i learn

I have something to say to these people: this question is meaningless in itself! No one can guide you which techniques to learn! The purpose of asking this sentence is to take a shortcut, but there is no shortcut to learning! Learn what you want to learn, learn what is relevant to your job, and learn what can help you improve your core competitiveness! If I have to tell me what I want to learn, I suggest learning the basics, learning the basics, and learning the basics. The basics are the principles of computer composition, operating systems, networks, and compilation principles;

If you are also a Java programmer, I can give you my current system learning route, several core knowledge points and the supporting materials collected; if you need a full set of system learning materials, you can click: click here ! Click this! , Password: csdn, free to get.

  • Multi-threaded high concurrency
  • JVM virtual machine
  • Design Patterns
  • repeat
  • zookeeper
  • mysql tuning course
  • netty (backend project)
  • Spring source code analysis
  • 2 major projects: online car-hailing + billion-level traffic multi-level cache architecture platform

For these people, I think they just find it difficult to accept changes. I think these people are cooked frogs. You must have heard of this story. It is about putting the frog in a boiler that is slowly heated. At first, the frog feels the temperature is very comfortable. As it heats up slowly, the frog is no longer able to jump out of the boiler!

The other type of person is a person who throws a frog in a hot boiler. It must try its best to jump out. This type of person will do everything possible to overcome difficulties.

Don't set limits on your life

Bruce Lee once said: I am not living to meet your expectations, just as you are not because of my expectations.

The point of mourning is: You see me more pretending to be x, I think you should be like this

The software development industry is definitely the most popular industry, because we have a lot of income, because we can choose the job we want, we can choose the office location, and we can achieve financial freedom, but these premises are that you have the ability.

Why do people like to complain? Because they never thought about change, Martin Fowler said that you can change the organization, or change yourself to another organization. In general, you are free and you can do what you want.

I wonder if you have heard of "Murphy's Law"? The simplest form of expression is that the more you are afraid of accidents, the more accidents will happen. If you take out the words of our ancestors, you will be afraid and come. But in software development, it is normal for problems to occur. Even if you have perfect needs, Design documents, a complete automated testing process, multiple rounds of test iterations, there will still be problems, delays in delivery, and unexpected problems.

So, don't be afraid of problems, because problems will appear at any time. When problems arise, we should rely on our professionalism to solve them. We must admit that we have made mistakes and we must be honest.

Have the courage to take responsibility, don’t attribute the problem to others or other things, don’t find excuses, don’t attribute the problem to the environment, programming language, time, or colleagues, these factors may affect you, but they are not excuses for you

Imagine, for example, when bank clerk, supermarket salesperson, car mechanic prevaricate or perfuse you, how do you react? Do you want to miss their store? What do you think of their company? What if it were you? What would your boss or Party A think of you?

Broken window effect

The broken window effect is about how to turn a magnificent villa into ruins? Maybe you only need a broken window, which is the power of the broken window effect.

So why is the broken window effect so powerful? If a broken window is not repaired and repaired for a period of time, the owner of the villa will imperceptibly develop an old idea that the villa is very old. Over time, more windows will gradually become dusty and will not be taken care of. Until the entire villa became ruins.

In software development, if a broken window (bad design, wrong decision, uncommented code, confusing logic) is not repaired, slowly more people will make a broken window decision, leading to the whole The project is messy and cannot be maintained. It is commonly known that a piece of stinky meat spoils a pot of soup.

Prepare a reasonable lie

There were three soldiers on the battlefield who hadn’t eaten for a long time. They saw a village in front of them, but there was no one in the village, but the soldiers were not discouraged. They boiled a pot of water and carefully put three stones in the pot. The strange villagers all came out to watch, and then the soldiers said: This is called stone soup, you put this in the soup? Well, yes, the soldier replied, but a little carrot tastes better. A villager ran home and took the carrots from his home. Then the soldier said that if there is beef, it would be better, and another villager ran away. Going home and brought the beef, in the end, they cooked a big pot of soup, the soldiers threw away the stones, and finally had a good meal with the villagers.

This also applies in software development. You can start with a small change and gradually expand the overall situation, but you must pay attention to the methods and methods, and you must pretend that you don’t care. At this time, you should sit down and wait for them to ask you if you want to add something you originally wanted. Features. It is easier to join a successful project in progress.

Involve users in review and design

Have you ever experienced this? After showing the user what you have made, it is not what they want, and you need to call it back and redo it every time. But there is no way, that is your user, your common responsibility is to make a software that is satisfactory to both parties. To achieve this goal, communication plays a vital role. In other words, if you don't know your users enough, you should talk to him more. This may be a programmer's shortcoming. Involve more of your users in the review, and ask them how to do this.

How to learn knowledge

  • Knowledge management

Benjamin Franklin once said: Investing in knowledge has the highest returns. Knowledge and experience are indeed the assets you need most. Investment knowledge is the same as financial management to some extent. what? How can these two unrelated concepts get together? Don't worry, let me analyze it slowly.

  1. First of all, rational investors have the habit of cyclical investment, cyclical investment is fixed investment
  2. A rational investor will measure or balance the combination of high risk, high return and stable return
  3. Adopting diversification is a key factor in the success of a protracted war
  4. The core criterion for investors is to buy low and sell high to get the greatest return.
  5. Review and reflect on your financial portfolio regularly

Why is it said that learning knowledge is the same as managing money?

  • Regular investment

Just like financial fixed investment, you must regularly find the right learning combination for your technology stack, even if the number is limited.

  • Risk Management

Don't put all your eggs in one basket, you have to learn the trendy framework and also focus on the eternal basic knowledge. This will allow you not only to think about the framework, but also to follow the progress of the times and adapt to this society.

  • diversification

The more you know, the greater your role and value. If you are a programmer who only focuses on a certain business, you must grasp it as a whole, and don't limit it to your own three-acre land. If you don't like business, then you have to consider the technology used as a whole. Computer technology changes rapidly, and today's hot technology may be abandoned tomorrow. You have to be familiar with technology and become a T-shaped talent. The word T must be written horizontally and then vertically. After knowing the breadth, it is possible to choose an entry point to go deeper.

  • Buy low and sell high

You would never think about learning Java before Java became popular, but when Java became popular, those early users have accumulated quite generous returns.

  • Reassess

Re-evaluate your technology stack, innovate through the old and fill in the gaps.

Knowledge combination

Here are some ways to combine your knowledge, and some suggestions:

  • Learn a new programming language every year: train yourself to think about language from different angles, weigh the pros and cons of the language, and what kind of problems it solves
  • Reading a technical book every month: This may be a little strenuous, because you can't finish reading a black book in one month, unless you do nothing and only read the book every day, but some practical books can still be read. . This is just to tell you a rough reading cycle
  • Reading technical books: Your life is not only a computer, but also a life. Computers are also made by humans. You have to think about problems from a human perspective.
  • Class: going to a local university is a good thing
  • Participate in the communication in the city’s technical circle: Don’t just be an audience, get involved and understand what other people are doing
  • Keep up with the times: Again, take care of your technology stack and read relevant news and technical posts. This is a good way.

Continuous investment is very important, and computers are not a quick thing.

Opportunities for fragmented learning

You have to study eagerly. If you can't find the answer to the question, look for someone who can find the answer instead of letting the question go silent. Talking to other people helps build your network, and you will be surprised to find that you will continue to expand your knowledge in the process of finding answers.

All reading and research takes time, and time is never enough. So you need to be always ready to make sure there is something to read when you are bored. Don’t forget to give up a good opportunity to read in the hospital — you must bring your own kindle or e-reader

Critical thinking

The last point is to think critically, thinking critically about what you read and hear.

The network is not so clean. Never underestimate the power of business. He will call black as white.

Internet search engines will put hot things at the forefront, not just the right things, nor the things that are useful to you. The bookstore will put a book in a prominent position, but it does not mean that it is a good book. It may be packaged, it may have a good cover, it may be just an attractive title, it may be that the book is very popular or very popular .

Critical thinking has five directions you need to think about

  • Repeatedly ask why
  • Who can benefit from it, understand the direction of capital flow
  • What happened in the background
  • What happens after the start, what happens after the end
  • Why is this a problem

Why do most people would rather suffer from the hardships of life than studying?

Because the hardship of learning needs to take the initiative to eat, the period is full of challenges, full of confusion, and full of unknowns. The bitterness of life comes when you lie still, like a frog boiled in warm water.

Finally, provide free Java architecture learning materials:

Friends in need can click: click this! Click this! , Code: csdn.

There are also Java core knowledge points + a full set of architect learning materials and videos + first-line interview books + interview resume templates can be obtained + Ali Meituan Netease Tencent Xiaomi Iqiyi Kuaishou Bilibili interview questions + Spring source code collection + Java architecture Practical e-book + 2020 latest interview questions from major manufacturers.
Insert picture description here
Insert picture description here

Guess you like

Origin blog.csdn.net/HarderXin/article/details/109598347