In the most basic aspect, every employee should strive for the two basic abilities:ProgrammingSkills and skills as employees.
Programming SkillsIt refers to the ability to write good, stable, efficient, maintainable, and all other derogatory adjectives that can be depicted.CodeCapabilities. These areProgramPeople like to spend time repeatedly, discussing and reading things.
Employee skillsIt refers to the ability to be a good employee and colleague. It is responsive, good at communication, able to complete on schedule, good at accepting feedback, capable of explaining complex things clearly, and other similar skills.
An extreme example
Image of two people:
RodrigoHe graduated from MIT and developed compilers in his spare time. He is the core code donor of the Haskell language and has developed many well-known Python libraries. The Code he wrote is robust and easy to read. It can handle critical computing scenarios in various programs elegantly. However, he usually replies to the email after several days of delay. you rarely see him answering the phone. He does not seem to really understand the importance of completing the task on time. He does his work in his own way, it's impossible for you to figure out what he thinks, but it just feels like he has some infinite thoughts in his mind.
GabrielNot a very good programmer. The program she writes looks quite amateur. She writes 30 lines of programs that can be completed in 15 to 20 rows. There are bugs in her program, which made the QA department spend a lot of time on it. She didn't really understand the principle that the written code should have good performance-"You can use it !". However, she is very enthusiastic-she will give a reply within a few minutes after receiving the email. She never missed a call and is good at communication. She can clearly tell the customer about complicated technical problems, she never finished her job within the deadline. She constantly sought feedback to improve her work. She is a easygoing person and her colleagues like to talk to her.
Now, think about this. Which one would you prefer to work?
What is the most important?
In my experience, programmers prefer to work with Rodrigo colleagues, while bosses prefer Gabriel.
This is normal-after all, programmers suffer from dealing with bad code, and bosses worry about dealing with delays and improving communication in the team. Therefore, I like people who bring us as little trouble as possible.
However, the problem is that the bosses are people who give us job opportunities. They are people who can promote us, raise our salary, and reward us. In this case, Gabriel stands out. I have seen this situation many times-programmers with good staff skills but poor programming skills are the most delicious, programmers with excellent programming skills but not good at communication will always be behind others.
No matter how programmers know this, if you want to succeed in programming for others, compile