Professionalism is very important to software engineers. Because: the progress of software cannot be seen, and software engineers must be strictly self-disciplined and good at communication. Software development is a creative labor, and creative labor depends on personal initiative, without self-motivation, it is impossible to become an outstanding software engineer. software plays an increasingly important role in the national economy and people's daily life, and the moral code of software engineers has become a matter of high attention.
The following are ten non-professional behaviors of software engineers. People who work in some specific fields may think that these are not very broad and representative. For example, in terms of software engineer professional ethics jointly issued by IEEE and ACM, it is believed that software engineers must first abide by the Public principle, that is, the software developed must bring welfare to humans, do not make harmful software similar to computer viruses. As a result, virus production is obviously the biggest "unprofessional ". However, this problem is not the most prominent in general commercial companies. Therefore, virus production is not included in the top ten non-professional behaviors listed in this article.
Behavior 1: deliver semi-finished products externally
Our attitude is reflected in our work. professional people never hand over unqualified work products from themselves. Non-professional software engineers are satisfied with making work semi-finished products, waiting for others to correct their mistakes.
Developers are always not good at unit testing and are not sure about their ownCodeIf they do not meet the requirements, they will blindly and confidently think that there is no problem and submit it to others for integration and testing. As we do not know, code that has not passed the unit test often finds a large number of problems in the integration and system test stages. To fix these problems, you must pay a higher price, this cost is much higher than what you have discovered and fixed, causing huge losses to the Organization.
Behavior 2: do not comply with standards and norms
An important characteristic of professionalism is that it complies with industry standards and cannot be used as expected. Each industry has its own technical specifications, and the same is true for the software industry, such as international software engineering standards released by IEEE; each Software Development Organization also has corresponding code specifications, document templates, and code review lists. Software Development Organizations with a certain level of management also have corresponding process documents.
These are the rules that software engineers need to comply with in the software development process. It is particularly emphasized that since people realized the software crisis, both academia and industry have continuously summed up the lessons learned and successful experiences of software development and summarized them into best practices, then, standards are formed. These best practices are extracted based on a large number of practices. They should be fully utilized to guide their own actions.
Behavior 3: not actively helping others
The easiest mistake for technicians is to keep a secret. They feel that their development results belong to themselves and do not like to share with others. For fear of affecting your position in the Organization.
Helping others is also helping yourself. This simple principle is ignored by software developers with high IQ. In other industries, helping others may be just a virtue, but in software development organizations, helping others can also reduce costs for the Organization, shorten the development cycle, and improve product quality, all these are the problems that the software engineering discipline has studied and tried to solve.
Behavior 4: copyright awareness is not sensitive
We are both the software manufacturer and the most active users of the software. If we do not abide by the copyright, it will bring great and negative exemplary effects to others, and we will not respect the fruits of our own work. In our real life, we see too many examples. A large number of software engineers pirated and used products of other companies to show off their capabilities.
Another example of not respecting copyright is: do not read carefullySource codeYou can use the restrictions of use. You can find a development kit and embed it into your system without looking at the ins and outs. You may mistakenly think that the work you have done in your organization is your own, after leaving the company, transfer it to others. If you see someone else using pirated software, it will not be stopped, and it will continue to spread.
Behavior 5: do not take the plan seriously
Software Engineering emphasizes planning. In software project management, any project must be planned. The result of planning is the project plan. The Project Manager follows up on the implementation of the project plan, records deviations in the plan execution process, and reviews and approves any ideas that differ from the plan before it can be put into action.
Therefore, the plan is serious. Planning is a platform for communication, a basis for checking the project status, and a means to control project changes. The plan is still a commitment, because the planning process is attended by all developers, or developers have been consulted, and the various arrangements in the plan are acknowledged, which means you have already made a commitment to the outside world.
The software program has a feature that is difficult to accurately estimate and dynamically change, so we need our software engineers to take the program more seriously, and should not be an excuse for us not to proceed as planned.
Behavior 6: obfuscation of official and private affairs
Public/Private separation is another important feature of professionalism. Using the company's equipment to do your own things; browsing websites that are of interest and irrelevant to work during work hours, such as stock trading at work, are all non-professional behaviors and habits and belong to the private sector.
In turn, it is also unprofessional: Use your own private device to handle company affairs, use a free mailbox to send and receive company emails, and bring your PC to the office to process the company's business. In this way, the software security of the Organization may be compromised, the work of the Organization may be in trouble, and the right to file a lawsuit. Draw a red line between the public and the private, to achieve a clear public and private, is a necessary quality for professional software engineers.
Behavior 7: do not pay attention to updating yourself
An important difference between a professional and a non-professional software engineer is that professional people often learn and constantly update their knowledge to maintain their competitiveness in the industry.
Many of the engineers I have come to contact, who want to take shortcuts and have a taste of the technology. I don't know why. They are afraid to fall back: they don't want to fight in the first line, and they like the so-called management they think; I want to do the test because they mistakenly think that the test is not technically demanding ...... These are not commensurate with professional software engineers.
Behavior 8: do not actively communicate with others
Communication is a responsibility issue, not a personality issue, in the field of software development.
The more important reason behind inactive communication is that the engineer's sense of responsibility is insufficient. Active communication with superiors, peers, and subordinates is essential for professionalism. Because software development requires team collaboration, the work of any engineer may affect others and the overall situation. The practice of software engineering shows that the lack of active communication often leads to deviations in the technical solution of the entire team, or the progress of the entire project is affected.
Report is a form of communication, and sometimes it is particularly important. Report the progress of your tasks, especially when the task is difficult or may affect others or cause changes. Working with the project manager and QA personnel to track the implementation of the project plan is the responsibility of each engineer.
Behavior 9: do not comply with workplace rules
Some Engineers cannot comply with the workplace rules of the software industry. For example, tell each other or inquire about the salary and bonus amount; take away the company's source code and documents when leaving the company; or rush to work in a new organization without focusing on the transfer and so on.
The inaccuracy of software plans leads to uneven distribution of development tasks, especially before important milestones (such as product release. In this regard, professional software engineers should understand and cooperate.
Behavior 10: honesty and integrity
It is the responsibility of the engineer to cooperate with the project manager to make a good plan. The schedule is determined based on the experience and level of the task owner. The engineer should make a correct judgment on the assigned task. In actual work, it is said that the tasks that some engineers can complete in one day are two days. They strive for an excessively loose environment for themselves. Although some organizations require software engineers to have certain judgment and estimation capabilities on the workload and progress, this is different from the nature of the intentional false reporting plan. The former is a level problem, the latter is about integrity.
The integrity of engineers comes from a strong sense of social responsibility. Only by maintaining the ethics and professional standards of the industry can the software industry continue to develop healthily. At the sacrifice of professional ethics and standards, we have gained temporary economic benefits. What hurts us is the honor and trust of the entire software profession.