32 : What is the difference between a frontend developer and a frontend Engineer?
Seonyoung Chloe (she/they)
Posted on April 29, 2020
Frontend developer just implements the GUI, using the provided design, specification and consultations with colleagues/client for additional information.
Frontend engineer first measures the client and all the monitors by using a Vernier caliper, calculates their mass, acceleration and other parameters.
Engineers reason
In a blog post Dominic differentiates engineer from programmer by explaining that an engineer, “…can reason about his subject.”
The engineer knows the subject very well — this is a given. A front-end developer should know his subject very well, too, but he doesn’t necessarily “reason about” his subject and try to gain a deep, intuitive understanding of how his subject works.
Developers do
The front-end developer doesn’t “reason about” HTML, CSS, and JavaScript. The developer writes the code, and it works well (hopefully). It should be DRY, scalable, performant, etc.
The developer is a brick-layer, a drywaller, or an roofer. The developer does things, but not necessarily with the understanding and reasoning behind it. Does the brick layer necessarily know why the walls are 8 feet tall; does the drywaller know why the walls in the main corridor are 12 feet long?
A front-end engineer understands the mechanics behind the code
The front-end engineer, through reasoning, isn’t just doing tasks. The front-end engineer knows why she wrote her code the way that she did. She takes stacking context into consideration when she uses transforms. She considers specificity when she picks a CSS methodology. She thinks about prototypal inheritance when she picks a JavaScript pattern. She considers the performance gains and losses between for-in and forEach.
Front-end developers can write good code. Front-end engineers can explain how good code works. They understand browser mechanics; how the browser parses CSS, forms the DOM, and compiles JavaScript. Front-end developers are more likely to fix things. Front-end engineers are more likely to solve things.
A front-end engineer creates
Engineers design materials, structures, and systems while considering the limitations imposed by practicality, regulation, safety, and cost[1]. In the world of front-end, the starkest contrast I can provide is that a front-end engineer can create plugins, tools, frameworks, utilities, patterns, and methodologies.
A developer can use plugins, tools, frameworks, utilities, patterns, and methodologies.
The reason that front-end engineers can create these things is because the engineer “reasons about the code”. The engineer can evaluate a problem and design a solution or system that conforms to the limitations around it.
Posted on April 29, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.