Software Engineer's Bigger picture

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed.

Constantly copying and pasting and simply arranging the combination of people called Code farmers, understand that their programming design people called software engineers.

Understand the process of C language, HTML/CSS/JS document declarative, Java/ruby object-oriented, Golang combination and recently seen Lisp (Scheme) The function of these different thinking patterns let me gradually understand: a good software engineer should be in the basic computer knowledge, have the overall consciousness, have bigger picture, in the project at all stages to make the most reasonable design decisions, pay attention to what is said here is reasonable, not the best, because the project is to liberate human brain and physical strength.

Design decisions to design language selection, database, software architecture, network protocols, small to modular design, class, method, variable naming. I remember a football coach in high school said: "If a person can play football, it's enough to see him kick a foot."

So the question is, how to make a reasonable design?

    1. Understanding of the needs
    2. Assessment of real-world conditions
    3. Expected of the project (person month)
    4. Balance 1. 2.3. Make a decision plan for trial and error
    5. Take a small step and make a reasonable project plan before an acceptable point in time

Demand comprehension

The difference between good programmers and poor programmers is the ability to understand-the beauty of simplicity: the way to design software

Yes, every line of code we write, each line of comments is designed to achieve some real value directly or indirectly, rather than studying an academic or practicing English. So understanding the needs is important, in fact, the white is how to deal with the data. Different industries have different characteristics, different needs have different values to achieve the demand, in-depth understanding of the areas to solve the problem, and then in a higher perspective to abstract into a computer can understand the model, the so-called "art from Life, but higher than life."

The penetrating force of realistic conditions

This is mainly concerned with the basic skills in the field of computer science: Operating systems, computer networks, databases, algorithms and data structures, language-related design models. There is no need to recite the protocols of each algorithm, and it is not necessary to find the documents in your own mind. To understand that: each of the above areas of design has a strong demand background, we have to understand is, in the historical perspective, they are to solve what kind of problem and gradually evolved, the various solutions between the connection and difference, consider their own application scenarios, how to do from the predecessors of the design project extraction, combination, Modifications and extensions.

Evaluation Power of Human month

With the above basic objective conditions, the most rare is the assessment of people.

    1. Assessment of the level of Self/team members
    2. Research and study time of new technology
    3. Response measures to unexpected situation

Pierced: strain adjustment force

Only change is constant, in practice constantly honed their ability to adapt to change.

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.