The so-called difference between software engineers and programmers

Source: Internet
Author: User

I have just read an article titled the difference between software engineers and programmers in Xinjiang. It is obvious that some so-called "masters" are too poisonous.

In the past, we engaged in language worship, and later we had model worship and software engineering worship. Now we are popular with UML and architecture worship. International Song: there has never been any savior. F. Brooks said more than 20 years ago: no silver bullet! -- Practice is the only criterion for testing truth. The practice over the past two decades has proved that Brooks's argument is correct.

First, before coding, we cannot effectively understand the design ideas and content of the software. The specific manifestation is that we cannot fully understand the standardized UML model;
For example
If coder cannot be understood effectively, is it just a coder problem? Does architect clarify his design ideas? In addition, UML is not the only expression of design, but also
Maybe the design is wrong if architect understands the requirements correctly. Besides, if the coder level is high, you can easily understand the design idea and even correct it.
So what else do you need to perform ECT?

Second, after encoding, high-quality Code cannot be provided to the integration test or system test personnel, as the unit test cannot be carried out consciously;
Being unable to perform unit tests consciously is mainly the responsibility of coder. However, in the spirit of TDD, testing is a manifestation of demand and should be "first ", instead of After encoding. There is also a problem here: Can the effecect refine the requirements to a testable level before coding starts?

Third, the coding process cannot effectively cooperate with other developers. This is manifested in the lack of basic software configuration and change management concepts and practices.
Association
There is a foundation of the traditional Chinese culture for poor performance, but there is another key reason: The team-building work of the company itself is inadequate. That is to say, managers have important responsibilities. As
The use of software configuration and change management is completely technical, and only a short training is required. The key lies in the long-term management mechanism, such as the systematic daily.
Building. These have nothing to do with coder.

As a coder, the most important thing is to do coding well.

Everyone on Earth knows that the success or failure of a software is not entirely the cause of code. For example, 549 in Ari's ", !" As stated in the reply: In fact, most people are not eligible for coder. This is an important fact. In this case, it is a very sinister argument to advocate that coder needs to have the qualities that should have been called by architects and managers. If the coder has such capabilities, what else do you need to do with the impact ect and manager?

It is also in Ari's,! Medium, the error message says:

People at different levels have different plans and understandings of their professional life. Just like you were fascinated by technical details a few years ago, it was nice to be a coder, after two years, coder cannot bring you pleasure.
I like to study architecture, team .... so you think that PM is your pursuit. In the next two years, you feel that the success of PM is not enough, so you will start to engage in some capital operations and talk about management concepts. In two years, you have
I am an international citizen. I started to sit at the same level with Chen Tianqiao. For two years, you have been eager to write your autobiography. The key to your career is not to stop thinking and not satisfy the current situation, as for what I learned at the moment
Looking back, it seems ridiculous because you are at another level.

This reveals the root cause: There is no channel for coder improvement.

Everyone has their own expertise and scope of adaptation, and not all of them are suitable for executing ect or manager, let alone capital operations. According to Peter's principles, when a person is promoted to an incompetent position, he may start to behave like this: deliberately expressing an uncertain feeling.

Or, as the topic in this article says: The story of Gao laigao.

I dare not say that all the country ect or (Project) managers in China are like this, but at least most of them are. The simplest way to judge such people is to simply push their responsibilities to coder when there is a problem with the project's progress.

In fact, the question of this article is due to a chat with Ling Hu on MSN a few days ago. Ling Hu said:

Its
The implementation is like talking about the so-called technologies of impact ect. This kind of high and high technology doesn't mean anything. The purpose of talking about these things in China is very simple, as I said in the group:
"This operation" is the same as getting a new concept. First, you can show yourself that "It's amazing. I understand this new stuff." Second, it's no risk, there is no need for the actual system or a specific case.

I added: You can also cheat money. China's software industry has no hope, and no one wants to do things practically.

Ling HU: Now the whole environment is like this. Everyone is very impetuous. First of all, the company is impetuous, and customers are also impetuous. Because many projects are official now, and they are not afraid of spending money, it doesn't matter to the project service provider. As long as I want the effect, it doesn't matter to the money. That's it. If you really want to spend your money, I am afraid many people will seriously think about whether this function is really needed.

In fact, Ari is on the ", !" page. The essence of the software: the true use of tokens (or mature use of tokens ), I will never care about your technical selection. He only cares about his needs!

I have also expressed a similar view in "Efficiency article: the essence of programming": software development focuses on two aspects: Demand and demand. Other methods are used to serve these two key points. Otherwise, the system will put the cart above the horse.

It's still a little less to talk about those high and high. Do more practical work.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.