Home >Backend Development >PHP Tutorial >Three kinds of thinking that front-end engineers should have_PHP tutorial
Editor's note: This article uses three dimensions of logical thinking, business thinking, and design thinking to match whether you are a qualified front-end engineer. Because front-end engineers are not only responsible for receiving information, extracting data, making responses and other chores, they should also need to communicate with back-end engineers, designers, and PMs. Therefore, teamwork, coordination, etc. all need to consider more things besides code.
If you are a genius engineer (you can leave immediately), you can accomplish many things independently, you can be a weirdo, because I believe no one will not admire you. But reality is reality. Most people are not geniuses, and we do not work alone in the workplace. We need teamwork, coordination and cooperation, and we need to consider more things besides code.
Front-end engineers are not only responsible for receiving information, extracting data, and responding. Of course, there is nothing wrong with just doing these, but we need to communicate with the back-end engineers, we also need to communicate with the design, and we also need to communicate with the PM. How to do this is more beneficial to these three parties?
Logical thinking
When you start writing a certain piece of code, think about where it will be used and will it be used repeatedly? Will it change in the future? If so, how can it be changed? Although there are many changes in the general web page structure, there is also a basis, and this basis can be estimated in advance. There is no case that will not be "changed". Many times you have to make changes while doing it, and it may even cause a big change. When changes and modifications are really needed, what are your strategies? These need to be thought through and based on logic.
Usually, professional designers design a web page with elements that are highly homogeneous, proportional or contrasting, so the code can be reused. So why do you need to learn to use CSS preprocessor (Sass, stylus, less) and write a Mixin or a variable? You will find it troublesome at first to use it, but once you use it, you will never go back. It not only improves your efficiency but also improves your efficiency. Your accuracy.
The world of engineers is like martial arts. Everyone practices independently. There are new secrets every day. Everyone is curious and goes to practice, hoping to become a martial arts master one day. This is also the potential to improve your knowledge and expertise. If you are not curious and see and understand too little, your logic will naturally not keep up with the times. You must keep learning to hone your logical thinking.
A certain level of logical thinking is your programming expertise. In addition to being able to write, it is also maintainable and readable. When things are based on good logic, the chances of errors are lower and the people you work with will be happier.
If you can do one thing well, you are a master; if you can do one thing well and predict the future, you are an expert.
Business Thinking
PMs, bosses or clients will all ask you, "How much time do you need?" If the answer is too short, you may not be able to finish it; if the answer is too long, it may not be possible. This is a question of how to answer or die. question. Sometimes, you need to change your stance and think from the perspective of a third party. Our degree of completion may be different from their degree of completion.
We divide the details of the case into two situations, one is one in which you already have experience and can estimate the time; one is one in which you have never done it or you are very unfamiliar with it, and you have no basis for time estimation.
Then come up with a minimum standard that they can accept. For example, for an App website, the minimum standard requires a homepage and a link to download the app with 2 buttons. These can be estimated. As for the rest, you need to research it and then give a more well-founded time. It is very, very important to estimate how long it will take to complete a project, because you are consuming a group of people's time, not your own, unless you are doing it alone, or you are the boss). If your estimate is wrong, it will be delayed later. It doesn't matter if you can't finish it. The most important thing is to solve the problem and propose your solution. What method can achieve the purpose of solving the problem.
Putting forward solutions from another perspective is helpful to things, the company or customers. Customers won’t care that you can’t solve the problem of not being able to see the 20-column table on the mobile web page, but customers are very interested. I'm happy to hear you say that this kind of Table doesn't look good and you can change the display method. Customers don’t really care whether you use Rails or PHP (some do care, they pretend they understand), they can just shop and post.
Front-end engineers may be easily exposed to customer complaints, so if some things are not thought through, it will be very troublesome. Make a website. If you were a netizen or a customer, would you be satisfied with the website you made?
Design Thinking
Many times, front-end engineers are also designers themselves, but there are also many who are front-end engineers and back-end engineers themselves. Design and front-end are inseparable. Of course, the design I’m talking about here doesn’t really require you to create a picture or complete design drawing.
It’s not just what it looks like and feels like. Design is how it works. —Steve Jobs
Front-end design refers to how a picture or element is executed, created, moved or eliminated. What is the effect of this design when viewed on different widths and heights and on different devices? Taking this into consideration is your design thinking. To turn the designer's picture into a living web page, you need to think from the designer's perspective so that you can fully express the concept of the design drawing.
Earlier, I received a "design drawing" with an "X" on it. I asked the customer what it was, and he said it was "return to the previous page." Why was it "X" when returning to the previous page? It is neither a popup nor a modal. At the same time, there are many "X"s of different colors and sizes on this picture, which represent "delete", "close" and "slide down" respectively. This is an unreasonable design.
Design thinking will directly affect the code structure and web page structure you write, because you cannot see where the focus of design is and how to write to achieve the effect required by the designer. You cannot organize your structure well. and elements, you can't put the web page together properly. Not only does this greatly reduce your efficiency, but the results you produce will also be inconsistent. There may be several buttons on a website that should be the same but turn out to be "similar" but different because you used several classes and different structures to make them. You didn't think through the design in the first place.
What can you do
If you have nothing to do, just go to FB for a few minutes to practice, you don’t need to linger for too long.
Make a website, play it yourself, let your friends play it, and ask them for their opinions? Ask a few more questions.
Look at the design drawings and think about what you would do.
This article comes from: kimix’s blog