"Development work is more than just writing code," says Dan Frost of 3EV, who describes some of the things to be aware of during the development process in an article. The original contents are as follows:
Developers are the main force in creating the digital world, they should not only play the role of programming tools, but should have higher requirements for development work. So what can developers do to improve their development capabilities? Let me just talk about my thoughts. My advice may not be comprehensive, but I hope it will give you some help.
1. Don't just stare at the code.
Now everyone can write code. Many amateurs can also build websites, write applications, and programming is no longer a rarity.
With the popularity of the internet, many people can only learn to program by Self-Study, but both the trained and the developers have some of the same problems. I interviewed a number of highly educated candidates who received computer degrees, AI classes and computer grade certificates, but they still lacked some important knowledge.
Developers should not only stare at the code, but also pay attention to two aspects of development work-horizontal and vertical, for example, developers should know how to collaborate with others in the team, and should be aware of the development of the project system level design.
I think people who work with developers should also read this article. Because the more you know about development, the more you can ask your developers when you collaborate, such as outlining the issues that are discussed, refining the core functions of the system, and using pictures and examples to show the implementation of the application.
2. Important Reminders
I think I'm qualified to find fault with developers because I'm also a developer and I understand some common problems with developers, even though they know the code well enough to get the job done on time. But they still have to pay attention to two aspects: more professional and more humane.
3. Network impact
You can get a lot of answers by just searching the development technology on a professional website. such as framework knowledge, browser, CSS and JS. Search engines will help you find the frameworks, platforms, and trends you need to focus on.
And these things are just our tools, they help us build projects, but they're not the key to the project's success. Even if a developer understands every detail of the system, has all the API features and the new CSS technology, he may also develop meaningless products.
Developers need to know how to use tools, as well as the audience, the user, the team, and other developers. They need to know how well their tools are adapting to the environment (in other words, the product environment) and the usefulness of the tools.
One developer is described as "wide and Deep", a developer who knows how to work in a team, while mastering the core technology of development. If they join the project, they will significantly improve the project process, change the pace of the project, without them, non-technical people will fall into some trivial details of stagnation.
4. What we need
I've been making a list of all the things that are needed to build a Web site and manage the host, as a basic guide to new learning techniques. We are constantly exploring to modify the contents of the list, hoping that this list will create a good start for the new person.
The list we have given contains most of the knowledge needed to learn and develop. There are classic tools and some new tools.
In the development practice, these tools are very helpful to advance the project progress, the outstanding Developer's tool accumulation should be richer than the programming language, the CMS, the framework knowledge. Because you need scheduling, testing, CI, enhanced versioning (teamwork, not on your own), you can't just learn a few guides, you need to understand the core concepts of the project.
5. DevOps
These assistive tools and techniques apply to the DevOps model (DevOps is a group of processes, methodologies, and systems that promote communication, collaboration and integration between development, technical operations, and quality assurance departments). All along, the DevOps model of "Operation" and "development" of the duel is difficult to compete. Operations are mainly used to keep things running. Development is used to develop new things (often making things stop working). This contradiction resulted in two camps arguing.
If the developer does not fully understand the product, the function he develops often does not match the product, so the code written out is not suitable for the product. Because they have not considered the use of the product environment, so their coding ignores the deployment of products, but the focus on the functional improvement.
Note that these details can lead to terrible delays, and the form of remote server administration can exacerbate this delay.
If you want to be a good developer, you should delve into all the tools used in the development process. Once developers have all learned the use of these tools, there will be a lot of progress.
The practice of continuous deployment and DevOps has become a standard, and no developers or companies that have studied these ideas have been left behind. If you can't keep up with the pace of development, then others will one day overtake you.
There are many introductions to the concept of "DevOps" on the web, which is different from PHP, MySQL, or rails. It is a series of methods to reduce the risk of software and engineering collaboration. The DevOps idea focuses on scheduling, automating and keeping production lines running faster and better.
If you use this development model, you will find that developers have good teamwork, both in other departments and in other companies. If they collaborate with a third party through the API, they will look at problems that may arise for each other. But if they work with the server administrator, they will only care about how they need to configure and how their software is installed on the server, and the legacy of the problem is cumbersome.
6. Code Error Tuning
Onion's chief technology officer Michael Greer a good answer to questions about the skills that Web developers will have:
"Lazy": refusing to do the same thing twice-write a script or algorithm to implement
"Cowardice": regular testing, worry about overload and code impact
"Reckless": Always try new things
"Cowardice" is another way of looking at details. You know, 99% of the developer's life is made up of debugging and testing.
What developers need to know is that fixing an application requires not only error codes but also outstanding problem-solving capabilities. For example, to solve the user's invoices can not download the problem, do not need to spend a day to develop the production of PDF file function, as long as the page is simply set to print. Sometimes a link is a better solution than a one-week program, and it's hard to think of a shortcut for a programmer who only knows how to write code.
Although there are a variety of testing tools available, testing is still a fascinating blind spot for developers. Developers should learn to use unit tests, Selenium, load tests, and analysis tools such as Xhprof. You should also learn to use some performance detection tools, such as newrelic, that can help you keep your application as little as possible in memory.
Error tuning is also a key link in development. So developers need to learn not only to use the error-making tools, but also to know how to tune up a problem--and I do a little bit of the wrong thing with Michael Greer's list:
"Impatience": ignoring the irrelevant issues and using the time to solve the real problem
The above is some basic principles, developers should learn to grasp the main, ignore the secondary. Real developers can find problems without looking at the code. Unfortunately, many people tend to blindly scrutinize a trivial problem for dozens of hours or even days, and solve a problem with the same method of testing 10 times.
7. User needs
As a developer, understand the real needs of other people. You can enjoy the fun of coding, but at the same time be aware that all the code is useful.
Developers need to understand the business, operations, and business processes that can be useful for development efforts. Only by understanding these can developers develop products that meet user requirements. Some developers can show unusual productivity, not only because of their fast coding ability and extensive stack knowledge, but also because they understand the real needs of users.
Back to my original point of view, development is getting easier and the market is becoming more competitive for developers. Want to be more outstanding, must understand the business demand, the development sells the customer satisfaction the product. Therefore, developers should focus on the market.
Understand how data changes over time. In the developer's perspective, these data should be changed along with current or impending technologies. So when your client comes up with a new idea, you should take into account the actual needs of the user and make a budget ahead of time. (instead, at worst, developers claim that their new technology can solve all problems.) )
Developers need to have a lot of aspects-like understanding each area of the terminal database, and how will the client display if the data changes? Is there a better way to solve the problem? Database administrators tend to think that the external response to the database is bad, but they are actually presenting a bad database to the outside world. The world is full of chaos and incredible situations, and database administrators must learn how to deal with them.
8. Drawing and writing
Drawing is the most direct way to describe things. Developers must have the ability to display their ideas on whiteboards and on paper.
A good developer should be able to formulate a clear intent by drawing a prototype on paper. If developers only nod, talk, or simply use the editor demo, it's hard to get the trust of others.
The best code starts with a painting prototype, and multiple failures can make you succeed faster.
9. Enjoy the fun
If it takes you dozens of hours to solve a problem, how would you treat it?
Learn to enjoy the process-even if it's just a general job. As a developer, the most failed attitude is the lack of interest in the team's work. Unfortunately this is a common occurrence, often because developers do not see themselves as part of a team. (enthusiastic programmers will make themselves "more fun at Work", you can also try)
The development of web and application still belongs to the emerging domain, the development of computer technology needs more advanced developer. Developers can not be satisfied with the status quo, need to quickly put into the ranks of advanced development, improve the efficiency of development work.
10. Keep your Spirit
This is the last important thing I want to say:
Keep your spirit and seek competition, no matter which team is the most picky one.
The most picky and annoying developers on the team are often the ones with the most ability to develop, while others tend to be content with the status quo. The lack of these high requirements in a team can easily lead to slow team progress and reduced competitiveness. It's a good habit to improve your own requirements.
Developers can also gain more experience from projects outside of work and learn to summarize the feedback and criticism they receive in these projects. The more criticism you get now, the less criticism you will have in the future. When one day you start to take a more holistic look at what people are asking for, you become a hot, senior developer.
Original address: Ten things Web developers must know to become truly
Compile Address: Iteye