Innovative development and exploration (I)-opening part

Source: Internet
Author: User
Tags fast web



Innovation is not a mysterious thing. It is born from the daily development activities of our engineers.


Why do I have to work overtime to write programs? What are you doing at work? Why can't I learn all the things I want to learn and do everything well during my 8 hours at work? Why is it still low-level and inefficient development? What hinders us from achieving our tasks faster and better? In addition to completing specific tasks, does our daily development activities produce innovative results? What rules and methods can be used for efficient and innovative development?

Innovation is another kind of efficiency. Once we rely on innovative technologies or products to lead competitors, we have time to adjust the pace of each other and think about the overall strategic development, rather than busy following them. From another perspective, developing an innovative solution often doubles the efficiency. It is an example that a fast carriage cannot run a train. Then, how can we make development activities more innovative?
?


Event 3

What is low-level and low-efficiency development? I believe many people have seen a lot of repetitive code and have done a lot of repetitive development tasks. When adding, deleting, querying, and modifying data for the first time, it is a must. If you do this for the second time, you may be able to deepen your impression. If you do this for the third time, you will not be able to tolerate it. This is the principle of "event 3.

Why can't I add, delete, query, and modify a common component, and simply add configuration? Or is it possible to reduce the workload for similar functions? I have seen a simple and fast web development framework that uses jquery + struts2 to make the "Paging Data Control with search, addition, deletion, and modification" Generic. To add a similar function, you only need to write the create. JSP, detail. JSP, update. JSP, and inherit a base class, fill in several methods. The whole design is still very elegant, and the code quality is also very high. It can be used multiple times only once it is understood for maintenance.

In order to get rid of low-level and low-efficiency development, we must switch from the "function development" perspective to the "mode solution development" and "solution development" Perspectives. Instead of completing a specific function, we seek implementation and solutions for a type of problems. If you want to draw 20 pie charts, are you going to write a pie chart implementation and then copy it 19 times? You may find that no matter what the pie chart is, it is actually rendering different
The value pair set of <name, num> is almost the same except for data. Isn't it possible to create a general component and draw 20 pie charts to "Create a general pie chart component and then generate 20 pie charts using different configurations or data "? You may only need one day for the previous solution, but it may take three days for the later solution. However, you will learn more useful skills and knowledge when solving the problem, these will accelerate the subsequent development, and the code with good reuse and maintainability is usually good, -- you probably don't want to use one minute to copy the code. It will take two or three days for maintenance and debugging.


Early direction


Establish an attractive and promising direction for yourself as early as possible, and then devote yourself to exploration. Direction is a prerequisite for hard work.

If the direction is unclear, it is easy to be held by low-level companies and move most of their time and energy into various development frameworks and technologies without any improvement. The possible result is that even after you write several web applications, even HTTP and Servlet are not necessarily clear; learning applications are superficial, the energy and time spent will soon depreciate with time. At the same time, someone with you may have already established a dominant position in a certain field. The vast majority of people have only enough energy to do one thing. You must focus your strength and interest on one thing to achieve something.

 

Strengthen scientific knowledge

Scientific knowledge refers to these things, such as how indexes improve database query performance, how grammar guides language design, how paradigms regulate database design, and how to establish reliable benchmark tests. Engineering is closely related to science.


Mastering the power of computer science will make the program designed more powerful and touch the core of the computing world. This makes it easier to encounter very challenging problems and stimulate breakthrough innovation. Cloud computing, search, databases, and other breakthroughs have all been created on a scientific basis. Creative Ideas are easy to imitate, but the strength of science is not so easy to steal. This is also the reason why IBM's technology giant has been standing up, where the strength is, no one can underestimate it.

Daniel's people generally have good scientific skills. They often have a deeper and more thorough view of the computer program world than those who simply develop. Reading a scientific book such as the structure and interpretation of computer programs does not teach people specific development skills, but can guide people to understand the essence and path of program design.


Basic reinforcement skills

Basic skills refer to the basic mechanisms, principles, and details for running the computer world. For example, for network development, how is the data of an application process sent to an application process on a specified remote machine? Is the entire connection, transmission, and Shutdown Process and details clear? For system programming, how does one process run a program, how does the system schedule multi-process execution, data structures, scheduling policies, and clear the problems, solutions, and details? Can an experiment be clearly displayed? It cannot always be used to create a castle in the air. Do not be satisfied with apps that can be made by ten-year-olds.

Basic skills determine the development potential of a person. The stronger the basic skills, the stronger the explosive power. People with strong internal skills and knowledge will learn and understand the procedures quickly. People with solid foundation will, it is easier to understand the nature of new technologies, master the application of new technologies, and even lead technological development.


Practical development and extensive exploration

Since I am an engineer, I have to study and develop the technology well. In addition, I have to extensively read non-technical books, such as design books, based on my hobbies and directions, product, operation, literature, and philosophy. Cross-disciplinary disciplines are more prone to the source of innovation.

Multi-aspect balancing

Computer Programming is essentially a mental activity that runs in our hearts and is expressed on computing devices. Therefore, it is not necessary to open a computer to program. Exercise, understanding and listening, mental activity training, interpersonal communication, and other methods can all enhance the development capability from the aspect, and enrich our lives, -- It is not just a way to learn technology. For details, see programmer, how to stay away from your computer. The ability to innovate may benefit from the improvement and balance of comprehensive capabilities.


Release talent and intuition

Humans are born from nature. Therefore, there must be a close connection and interoperability with nature. Life has a strong talent, intuition and instinct. You only need to discover and release it.

Our long-term learning and mainstream educational philosophy make us pay more attention to systematic Skill Education and analytical thinking, while ignoring the soft power naturally given to us: instinct, intuition, and imagination, this kind of soft power is actually more powerful. Believe in the wisdom of nature.


Development skills

Explore principles, Master methods, and read documents.

Most of the time, they are used while learning. For a framework like extjs, there are many configuration items N, which cannot be seen at all. There are pitfalls everywhere. How to learn? It is necessary to understand its basic working mechanism and principles, master the core common parts (see "how to learn new IT technologies"), and then solve the actual problem by referring to the document.
Without exploring basic working mechanisms and principles, it is easy to be unable to cope with problems and cannot be understood. It is difficult to grasp the Common Core Components and practical application, you can't cope with your energy. Therefore, this is the most common compromise technique for development. Whether to explore its internal details. If you think it is valuable, you can go further.

Where is innovative development?

I am always busy with development and development. What exactly do I develop? How much value and impact have been produced? We often focus on the efficiency of development, but ignore the innovation capability in development. It's time to pay attention to this issue!


This article is an introduction, hoping that more people will be involved to discuss this issue, which will make our development activities more effective and enrich our lives.


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.