嘿, 我是Mofei!
How to Grow into an Excellent Web Front-End Developer?

I saw this question on Zhihu, and it was answered very well, so I want to share it.

What makes a good front end engineer?

Original blog post link: http://www.nczonline.net/blog/2007/08/15/what-makes-a-good-front-end-engineer/

Nicholas C. Zakas discusses how to become an excellent front-end engineer:

Yesterday, I was responsible for an interview event organized by Yahoo! and I was deeply impressed by the Q&A session where candidates asked questions. I must say that I was quite disappointed with most of the questions posed by the candidates. I hoped to hear some passionate questions about working at Yahoo! Among the candidates yesterday, only one person's question stood out to me as the best; that person asked me, "What do you think makes a good front-end engineer?" I believe it is very important to bring this question out of the interview room for discussion.

Firstly, front-end engineers must master HTML, CSS, and JavaScript. It is not enough to only know one or two of them; you have to be familiar with all three languages. It doesn’t mean you need to be an expert in all three, but you should at least be able to use them to accomplish most tasks without frequently seeking help from others.

Excellent front-end engineers should possess the ability to learn quickly. The technologies that drive the web are not static, right? I can even say that these technologies are changing almost daily. Without the ability to learn quickly, you won’t keep up with the pace of web development. You must constantly improve yourself and learn new technologies and new models; relying solely on today's knowledge will not adapt to the future. The web tomorrow will be vastly different from today, and your job is to figure out how to reflect that monumental change through your web applications.

Many branches of computer science are viewed as science by people. However, what we refer to as front-end is not a science, but an art. Artists must not only master the skills to earn a living but also understand how to apply them. A solution to the same problem may work in one situation but not in another. For front-end web applications, there often are many solutions to the same problem. No solution is inherently wrong, but some are indeed more suitable than others. Excellent front-end engineers should know which solution is more appropriate in what situation and when to reconsider.

Excellent front-end engineers need to have good communication skills because their work is closely related to many others' work. In any case, front-end engineers must at least meet the needs of the following four types of clients.

Product Managers - These are the people responsible for planning applications. They can imagine how to meet user needs through applications and how to make money through the models they design (hopefully). Generally, these individuals pursue rich functionality.

UI Designers - These individuals are responsible for the visual design and interactive prototypes of applications. They care about what users are sensitive to, consistency in interaction, and overall usability. They are enthusiastic about smooth and beautiful user interfaces that are not easy to implement.

Project Managers - These individuals are responsible for the actual operation and maintenance of applications. The main focus of project management is usually normal uptime—how long the application remains usable, performance, and deadlines. Project managers often aim to keep things as simple as possible and avoid introducing new issues during upgrades and updates.

End Users - Of course, these are the main consumers of the application. Even though we do not often interact directly with end users, their feedback is crucial; an application that no one wants to use is worthless. End users demand features that are useful to them and the functionalities that competitive products provide.

So, which group's opinions should front-end engineers pay the most attention to? The answer is all four. Excellent front-end engineers must know how to balance the needs and expectations of these four groups and then come up with the best solutions based on that. Given that front-end engineers sit at the intersection of communication with these four groups, the importance of their communication skills is self-evident. If a super cool new feature must be simplified because it will affect front-end performance, how do you explain that to the product manager? For example, if a design might negatively impact the application unless it is reverted to the original plan, how can you persuade the UI designer? As a front-end engineer, you must understand where each group is coming from and be able to propose solutions that all parties can accept. In a sense, excellent front-end engineers act as ambassadors and must approach their daily work with a diplomatic mindset.

The piece of advice I give most to new front-end engineers is to not casually accept a task without making an assessment first. You must always remember to clarify what others really want you to do; you cannot simply accept vague statements like, "this function has issues." Moreover, you need to be clear on the true intent behind the function or design. A task like "add a button" does not always mean that you will just add a button in the end. It might also mean you will ask the product manager what the purpose of that button is, and then consult with the UI designer to discuss whether a button is the best interactive means. Communication is vital for becoming an excellent front-end engineer.

From any perspective, I believe that front-end engineering is the most complex profession in the field of computer science. Most traditional programming concepts do not apply anymore, and using multiple platforms requires borrowing a lot of knowledge and ideas from soft sciences. The professional skills required to become an excellent front-end engineer cover broad and complex fields, which become even more intricate due to the involvement of various parties you ultimately must serve. Professional skills may lead you through the door into front-end engineering, but it is the applications created using that expertise and your ability to collaborate with others that will truly make you excellent.

THE END

More Articles You Might Be Interested In

If this post was helpful or sparked new ideas, feel free to leave a comment!

avatar

Mofei's Friend (Click to edit)

I heard leaving a comment here is pretty cool.

HI. I AM MOFEI!

NICE TO MEET YOU!