A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
This article provides 15 criteria for evaluating software developers, which can help programmers become excellent programmers from a good programmer!
How to assess a software developer? This is a strange problem. Now there are a lot of theories and forms to do this, and the human resources department also tries to help you manage and reflect on your own behavior. However, how can you be a great software developer? How can you develop your career today? The following are the "military rules" of software developers in my evaluation team ". By following these skills and rules, you can improve your current situation and become a great programmer by a good programmer.
1. Time spent on writing wonderful code
This is not about quantity, but about quality. In this regard, a distortion is: quantity and quality. You may encounter the following two situations many times:
Situation A: you have a crazy programmer who can write code. Things seem to be in progress ...... Then, the bug began to appear, and you don't know why. It seems that you can never complete it. After completing ten more and five more, you have a lot of code ......
Situation B: you now have a very intelligent programmer. When you interview him, he seems to have no idea. He can say the first thing about the theory. However, you leave him three tasks. After three weeks, he will be doing some things that should be done in three days. Now you are confused. He is so smart that he knows everything about generics (For details, refer to the remarks), multithreading, and can even explain to grandmothers what is a pointer, the old lady is excited to program. But -- why is nothing finished?
Therefore, in a dream-You write a great code-the great code is written by a great programmer. He is wise and understands the true quality of the Code. Writing code is as elegant as Tony Hawke playing skateboarding, And it looks pleasant. These programmers can get everything done at a Glance. They know how long each problem should be handled and will not seek the so-called best solution in the world, A simple game can be written with multiple threads and layers. The program they wrote has no bugs, because they tested it themselves when writing it, and they also wrote code to say this to people who are sleeping. These programmers are too valuable.
2. Clarify the problem
It can be clear that even if a problem cannot be solved for the time being, there are hundreds of ways to solve it. Some people are very responsive and will soon be able to propose a variety of solutions. However, a great programmer should clarify the problem before taking action-create a document or use a whiteboard to express it. They wrote an email to the project manager and said, "I want to tell you how I understand this problem. Can we handle it like this ?" Then they will give you a variety of solutions.
Yes, these people understand the way they see the problem and clarify their positions, which is probably not what the problem creator wants to understand. Remember that this is the key. A great programmer must fully understand the problem before trying to solve it. Are you fully aware of this? No? 99%? -- Go back and ask more questions to make sure they are fully understood.
3. How to solve the problem
When I understood the problem, I began to write code? Error! A great programmer should start to think about the various options and start to consider the best solution based on the problem. I think this is like a chess game. You know how each game can go and all the game rules. But will you play the game right away? No, you need to review the current situation, make plans, keep an eye on your opponent, and analyze the common practices. Like this, you should do the same before coding solves the problem.
Let's look at the problem and calculate what results are needed, how can you arrange your time, the expected quality, the tools you must use ,...... Okay, let's get started!
4. Trust in code
As a project manager, how do you trust their code. Some programmers, you can say to them, "I will get the results on Friday ". -- When Friday arrives, you receive an email like this: "I have checked all the code, and now I am waiting for the test ." You can rest assured that only a few flaws are found in the Quality Assurance Team. Of course, there are still some rash examples. Some programmers say in the mail: "I haven't finished it yet. I will finish it first on Monday morning ". You are not sure about this and find many bugs that are basically unavailable for a long time. It takes several weeks to clear bugs in the code.
Key: the closer you are to a developer, the closer you are to become a great programmer. Imagine that you are your manager. If he doesn't worry about your code, how much confidence and courage will it give you!
5. Trust in the solution
Trust in code is the same-if you have a great programmer, you will have confidence in the solution. These programmers are also great architects. They analyzed the problem and pointed out how to solve it. This is not just about programming with great code. It depends to a large extent on how you build a solution. This is the key and will make you stand out in the software world.
6. meet customer needs
One day, you wrote the best code, used the best framework, and the best solution. But can this really meet your needs? I'm afraid that's not the case. You screwed up. Despite the many failed attempts, a great programmer will focus on finding out what the customer needs and gradually display the final version they need Without bugs. The customer is satisfied with the demand.
7. continuous upgrade
Great programmers will actively upgrade their own technologies. Their attitude towards knowledge is like a hungry cat seeing milk. They never use their superiors to urge themselves to set their own goals, and do not need managers to ask them to complete their tasks, because they have already arranged OK.
They found that they wanted to attend the conference and wrote an email to the company. "I really want to attend this year's tech-ed conference. I will study hard and make contributions. I expect this will save <money/other reasons>. If it is feasible, I wonder if the company will help me pay for this trip ?" If I receive such an email, I will not only pay for the conference, but also pay for the route.
Great programmers will always pay attention to all user groups such as. Net user groups or Java user groups. They attended local technical meetings and learned from them. Will you read all the latest blogs and magazines? List your top five development blogs. Can you do this? You should be as easy as attending the Christian Youth meeting. Doing this can help you extend your thinking! You will always get better ideas! You will get a better return!
8. Team dedication
You can be the best person in the team, but if you are not the best programmer, not an architect, or the most dynamic person in the team, then for me, if you cannot share or help your team, your value will be compromised. A good programmer will make people around him equally powerful. Imagine that good programmers will constantly improve their knowledge and abilities. If they don't share their knowledge with people around them, where can they get more?
They keep learning new things and discovering new technologies, but will not let others know that they are doing so. A good programmer will finish the plan on time, but it is the premise of urging and the team cannot rest. However, a great programmer will keep in touch with all the projects in the team and be able to help when necessary. They will say, "I have noticed that the project of Team A has reached the XX progress. If you don't mind, can I help you ?"
9. Keep meeting records
It is absolutely important to keep meeting records! During the meeting, we spent a lot of time explaining new ideas, new ideas, collective discussions, and new design schemes. However, no one can obtain the meeting records after the meeting, nothing is worse than that. Even if you have a meeting outline, I still hope that every member of the meeting can carry paper and pen (of course, the notebook is perfect for programmers ). A great programmer will notice this. They will write down all the meeting records, and at the end of the meeting, they will say, "As for the meeting just now, I have recorded some important points: xx ...... Are all records recorded ?"
Next, the great programmer will distribute their meeting records to the project manager to list the meeting time, meeting themes, and participants. Next, the title and important items of the meeting project. After that, it is a detailed record of these topics. A good programmer did not make a meeting record, and said yes at the meeting about every matter proposed, it can only hope that his memory is good enough. Then, he will send you an email asking you to check his changes. You have to go back and remind him that he hasn't forgotten much. 90% is correct. -- This is not a waste of time! That's not the case! Therefore, keep your meeting records.
10. The hacker can teach and accept criticism.
If you read this, it indicates that you are willing to accept these suggestions and try to implement them in future development operations. Yes, another important capability of programmers is to learn from others and be able to accept criticism. By turning yourself into an imaginary person, you can quickly absorb a large amount of knowledge like a sponge. After all, you still have many predecessors on the way to programming. Of course, they may have been Rusty and even scarred in the years of code writing, but they have crossed numerous hurdles after all. They have an instant instinct to make the right decisions, so that you will not be satisfied. In their position, we are happy to see your growth and success.
Therefore, as long as you are a great programmer, you will naturally have an ideal working environment. If you constantly improve your skills, learn with humility, sum up mistakes in others' opinions and criticisms, and make improvements, I assure you that you will become a great programmer, not just imagining that you will become great. If you always think of yourself as an "Elite" without making progress, then you are just deceiving yourself. If you don't grow up, you can't even stay in the same place and wait for you to perish!
11. When the company needs it, it always appears
This is like an equivalent transaction. If you work for a great company, they will give you enough flexibility. The company does not limit how you work, the time you start or end, or the time when you stop. The company will encourage you to do exercises during off time, and even pay for you when you and the team members go out for dinner ...... After a lot of complicated and intense work, the company will give you a few days off. And so on.
However, there is no doubt that it is the responsibility that comes with the preceding beautiful things. If you catch up with the time and get work done, Great programmers suggest you work overtime even on weekends. You have to finish the job even if you are late. You see, Great programmers are responsible for their own creations. This is not necessary, but it is a sign of a great programmer. Some people only want to go to work nine to five. They may be good but cannot become great programmers. Great programmers are the final part of the team. They regard the work as a perfect art, and they are like team members.
12. professional clothing
You never know when a customer will suddenly visit. You will never predict when you will suddenly attend a meeting. Not everything is planned. You must always be ready to present yourself. A good programmer can wear Common clothes from Monday to Friday, and may even wear cowboy clothes and sneakers to go to work. On some Friday, they wore T-shirts, shorts, and sneakers. When a customer suddenly appears on Friday and wants to talk about a big project, you can't call him out of clothes.
A great programmer is dressed professionally from Monday to Friday, and his clothes can also bring achievements. If you don't care about the dress, you will not be promoted because it is strange to wear it. There is no doubt that suits and ties can improve yourself. I want to assure you that a decent suit will make you feel worth the money this year.
13. Communication Skills
This is another criterion. There are too many excellent programmers in the world, but few Great programmers. Why? Because most programmers do not communicate well. There are many layers of communication: from sending emails to attending small scrum Development Group meetings to larger supervisor meetings, the level is gradually improved. In this way, you can freely display your software at meetings attended by hundreds of people. You do not need to have good acting skills at the meeting, but at least you must express your point of view clearly and clearly. The stronger your communication skills, the farther your career will go!
Summary: To become a manager, you must score at least 9 to 10 points in your communication skills. Even if you only talk about a few minutes or only a small report at the meeting, you need to be very expressive. Don't just write "Fix 1371 bugs" in your daily work logs. What you need to do is to describe how to solve the problem in such a difficult situation as much as possible. Clarify your method and how you can ensure that this bug does not appear again. You will no longer worry about your logs. This is a wonderful show to your manager.
14. Goal Setting skills
Good programmers keep doing what you arrange for them day after day. They are not looking far away. They are not planning for next year, five or even ten years. Some good programmers know what they want, but have no specific plans to implement it. Great programmers set their own goals for the year and the next five years, and probably expect their development in 10 years.
If Great programmers have a goal, they will not just think about how to implement it. They will perform specific tasks as expected. They will elaborate on the plan for next year, including the courses to be attended, the projects to be completed, and even the interpersonal relationships they need to establish.
15. Organizational skills
The most important factor for integrating all things is organization. You may be the best programmer in the world, but if you are not good at organizing what you do, your work will be paralyzed and eventually lose your advantage. Great programmers keep their work platforms clean and orderly, keep all the notes, and make adjustments clear. They marked their meeting schedules. They have specialized inbox to classify calendar emails, meetings, and new tasks. They keep documents and can quickly find the desired ones as needed.
If a great programmer is not enthusiastic, his work is not great. A good programmer has enthusiasm for his work, solutions, and team, so he is even greater than a great programmer.
In retrospect, I used these criteria to judge my development team. I give my team the best possible environment. In return, I want them to become the greatest programmers. You can use these criteria to judge your team, or you are a programmer. Use this list to rebuild yourself as much as possible to surpass your peers.
Note: generics is a technique of programming language. It refers to parameterization of data types in a program. In essence, generics abstracts the Data Types of the program and extends the expression ability of the language, it also supports code reuse at a larger granularity. For some data type parameterized classes and methods, they often have better readability, reusability and reliability. When designing collection classes and their abstract operations, you often need to define them as irrelevant to specific data types. In this case, it is very suitable to use generics.
Start building with 50+ products and up to 12 months usage for Elastic Compute Service