[Junior Programmer]'s ten improvement suggestions, and 10 good habits of [Programmer], make you "bald" and stronger

foreword

The first three years of work are the fastest growing years in your career. During this time, you will be full of passion, focused on things, and easy to develop good habits. In our company, some students have quickly become technical experts in a certain field in the first three years, and some students may not make progress. This article discusses with you how to quickly grow into a technical expert in the shortest possible time! The monthly salary is directly doubled and exploded!

The first is the ten-point improvement suggestion of [Junior Programmer]:

1 Don't be afraid of problems , but after a problem occurs, you must look at the log and debug to find out the root cause, and then don't make a similar problem next time.

2 In addition to writing code, more attention should be paid to testing, deployment, architecture design and other skills , especially (database, code or jvm) tuning skills .

3. If you encounter production line problems, whether you manage them yourself or not, pay attention to them . Even if the problem cannot be solved this time, after others solve it, be sure to review it, so that you will continue to be familiar with the code and technology.

4 In addition to the business of adding, deleting, modifying and checking, junior programmers generally do not know how to improve themselves, such as what skills they should look at. At this point, you can see what skills the programmers who are higher than you in the company have , or what skills the senior developers or architects of the big factories need . These are what you need to learn, so that you can clarify the direction of your efforts .

5 In the primary development stage, you can decide your current learning route according to the following ideas: Which technologies can help you enter a large factory in the fastest time, and these technologies are your learning directions . Learning routes can be high concurrency distributed components, but are not unique. After deciding on the learning route, you can clearly define the main points to be learned in the route. At this time, you can buy 2 or 3 books in this area , so that you can know how to systematically learn related skills.

6 In the primary development stage, theoretical knowledge, such as operating systems, compilation principles, design patterns, etc., are imaginary and can be used in the project to look at. Usually, you don’t need to spend too much effort to look at it, but depends on the needs of high salaries in this field. skills.

7 To learn any technology, you must first build a development environment and learn while typing the code. You will definitely not learn by just looking at the theory. Which technologies should be learned, has been said before. When learning, it is recommended that you buy books to learn , rather than learning through the Internet, because although the online information may be correct, it may not be a system, and you cannot ensure that the online code will work. In contrast, the skills in the book are first systematic, and the second code has a high probability of running through.

8 When you feel that you don't have valuable skills to learn at your current company, don't hesitate to consider changing jobs. When job-hopping, you have to consider not only the salary, but also the platform. You know, the programmers of big factories and good companies improve very quickly, because the technology used in big factories is generally very valuable. Or this sentence can be understood as: In order to improve, the most feasible method for junior programmers, or the fastest way is to enter a large factory.

9 Not only must be familiar with the actual development skills, but also pay attention to interview skills. Interview skills can be improved by participating in more interviews. Therefore, even if junior programmers do not want to change jobs, they can often go to interviews, so that they can at least know the direction of learning.

10 When upgrading, you must choose a direction. The direction can be Spring boot back-end, front-end, python data analysis, python machine learning, etc. How to choose yourself, but you must only choose one direction, don’t think about developing in multiple directions at the same time , because in this case, there is a high probability that you will not be able to learn fine. At present, only by learning one direction well can you get a high salary.

For the ten-point improvement suggestions for junior programmers, all of them are summarized clearly. If you are not even a junior, you can pull it to the end, and the summary will give you enough surprises! Next is crucial: Ten Habits of Programmers!

10 good habits of [programmers]:

1. When introducing a new technology stack, focus on official documents

In the project, whether you use a new jar package or a new middleware, be sure to read the official documentation.

Nowadays, the technical articles on the Internet are mixed, and the domestic search engine is not very good, so searching for reliable technical articles on the Internet is equivalent to fishing for gold in the shit pit.

For example, if you want to unit test code written in SpringBoot2 , you may already have JUnit version 5 . But the online articles you find will most likely tell you that test cases need annotations:

@RunWith(SpringRunner.class)

But the official documentation says, in fact, if you use JUnit5 , you don't need to add this annotation, and adding it may cause unnecessary conflicts.

Therefore, the introduction of new technologies in official documents is the only reference gold standard.

2. Be sure to quietly test the code and then deliver it

In the workplace, what kind of people can grow rapidly and be reused quickly? The answer is reliable people.

As a programmer, what kind of person is a reliable person? The answer is to deliver reliable technology products.

The first evaluation criterion for a reliable product is that it has few bugs. This bug is rarely assessed by others, rather than by myself.

No matter how our own code is implemented, even if the code is not perfect, as long as we pass the self-test and solve the problem as much as possible before submitting, so that others will find less of your mistakes, especially low-level bugs, then You are a reliable programmer.

Therefore, before delivering the task, you must test the code in an all-round way to ensure that you have an excellent reputation.

3. When logging, try to print out the input, output and time-consuming as much as possible

What is the purpose of our logging? is to locate the problem.

What are the problems? In fact, there are basically two types, logical problems and performance problems.

Logical problem, if we print the input and output, then according to the business rules, such a comparison can easily locate the problem.

For performance problems, whether we use shell commands such as grep and sort to directly filter and sort logs, or use tools such as log collection and log search, we can easily find problems. It can even be combined with the monitoring system for direct early warning.

Therefore, when logging, we must remember to print out the input and output as well as the time.

4. Learn Git well

Git is so important. The current team development uses Git to manage various code versions and code branches. If you do not use Git well, it is easy to generate many unnecessary bugs due to merging code, upgrading versions, etc.

A team that doesn't use Git well may bring several inexplicable problems every time it goes online.

In short, this manual is perfect for both beginners and developers who want to learn more about how Git works.

5. Prioritize the implementation of functions, performance issues may not be so urgent

When I was leading the team, I often found that some colleagues who were just starting out would struggle with the performance of the code they wrote while writing code. Actually it really doesn't have to be. Older programmers like us know that premature optimization can sometimes be a waste of time.

For example, if we write a batch scheduled task, this task only needs to be run in the early morning, and the task can be completed before everyone goes to work. So, is there any difference between this task running from two to six in the morning and from four to four?

The optimization code must be moderate. After writing the function, see how the function will be used, and optimize the areas that really need to be optimized according to the actual requirements.

6. Implement the most certain requirements first, and put the uncertain or vague requirements first

The order in which the requirements are implemented must be based on the reliability of the requirements.

There are generally two categories of requirements assigned to us:

  • Some requirements are very clear requirements for both us and the product manager;

  • There are also some vague requirements: everyone thinks that there is no problem during the meeting, but when the code is implemented, it is found that there are still many problems.

At this time, the skill we should deal with is to first build a unified shelf for these requirements, and develop the already very clear requirements first.

Since the shelf has been built, discuss those vague requirements with the product manager at this time, and it is easy to let the product understand the difficult areas, so that the difficulty of communication can be minimized.

7. Actively find problems in the project and give solutions

what is the problem? A problem is what needs to be solved in practice.

Find out and solve these problems one by one, and the solutions generated from solving these problems will form the driving force for the project to move forward. Then you yourself, who generate these impulses, will surely benefit a lot from them.

8. Evaluate the development cycle and allow for redundancy

The purpose of setting aside redundant time is very clear. When we developed, we encountered too many unexpected situations:

  • Demand has changed again

  • Team members have changed

  • The estimated time was optimistic

  • This function requires moving old code

  • Requires cross-team development

  • The leader said "add a small function", the leader believes that this small function does not affect the development cycle (two hundred words are omitted here)

  • ……

Therefore, redundant time is to be set aside.

The redundant time set aside is not equal to the time to catch fish. The development is still done according to the normal rhythm, and the early completion and early delivery.

9. Don’t just read books to learn technology, realize the technology you are interested in through code

The most important thing for us programmers is practice, and we can turn the knowledge we have learned into practice and use it in our work.

Just reading books to learn technology is likely to only give us the illusion that we have already learned. Only by practicing the technology we are interested in through code can we really understand what the technology actually looks like and what needs to be paid attention to.

10. English is still very important

You have to admit that in the IT industry, almost all innovations are born in the English-speaking world.

For example, k8s, as far as I know, the domestic technical staff with good English is gradually promoted in the country from the English community, and these pioneers who promoted k8s also naturally have the right to speak of k8s. You can look at the popularity of k8s in the market, and you can also look at the approximate salary of a k8s expert.

Moreover, as I said before, everyone must read the official documents when introducing new technologies. Eighty percent of the official documents are in English, so English is really important.

If English is not good, is there no chance? Not so absolute.

Let me tell you, I have not passed CET 4, but I can still read English materials and translate the first domestic Hibernate technical book with others.

At first, I used Hibernate as an early group of programmers in China, and I often went to the forum to answer questions, so later someone asked me to translate books together. I resisted at first, thinking that my English was too bad and I couldn't translate it well. Then I thought, since I can learn Hibernate by looking at the English documentation, why don't I try it. So just did it.

As a past person, what I want to say is that technical documents do not have particularly complicated grammar or uncommon words, and now there are translation software and plug-ins that can help us read them. Even if the basic English is average, it's not a big deal.


About Python technical reserve

As a beginner, how to get started with the Python language from scratch mainly includes: Introduction to Python, how to download Python, how to install Python, how to use various development environments such as terminal, shell, IDE for Python development, Syntax and basics, concepts and logic, and ways to continue learning Python in depth.

Python is easy to learn but difficult to master, and it is not easy to master it overnight. Here I share my treasured "learning Python knowledge framework diagram", systematically sort out the necessary knowledge points for getting started with Python, and give some help to those who want to learn python! It is recommended to save.

⭐Python learning route summary⭐

The technical points in all directions of Python are organized to form a summary of knowledge points in various fields. Its usefulness is that you can find corresponding learning resources according to the above knowledge points to ensure that you can learn more comprehensively.insert image description here

 Reminder: The space is limited, the folder has been packaged, and the way to obtain it is at the end of the article! ! ! !

Python essential development tools

insert image description here

 ⭐Excellent Python learning books⭐

When you have learned a certain foundation and have your own understanding ability, read some books or handwritten notes compiled by seniors. These notes record their understanding of some technical points in detail. These understandings are relatively unique and can be learned from Same idea.


Python Video Collection

 Watching zero-based learning videos is the quickest and most effective way to learn. Following the teacher's ideas in the video, from basic to in-depth, it is still very easy to get started.

insert image description here
insert image description here Reminder: The space is limited, the folder has been packaged, and the way to obtain it is at the end of the article! ! ! !

 ⭐Practical Cases⭐

Optical theory is useless. You have to learn to follow along, and you have to do practical exercises before you can apply what you have learned to practice. At this time, you can learn from actual combat cases.

insert image description here
Python practice questions

 Check the learning results.insert image description here

 ⭐Interview Questions⭐ _insert image description here

insert image description here

Summary (Get)

 The Python language is all-encompassing, can do a lot of things, and is suitable for the development work of various enterprises.

Technology is the lifeblood of technical people. In addition to doing a good job in technology, we also need to use technology to monetize it. If you are fired immediately, you are not panicking!

Full version of Python complete set of learning materials: https://shimo.im/docs/HgKhKrYGDYxpY8dp/ 

Guess you like

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