As designers, developers, salespersons, managers, or any working person entitled to do some task, we often find ourselves sunk under the details specific to our profession. In the flux of numerous projects and deadlines, we hardly have time to take a step back and look from a wider viewpoint. It is undeniably beneficial to think wider in order to make up a good team. 

Consider a software development company, typically with parties such as front-end developer, back-end developer, designer, salesperson, manager, … The customer can also be on the list. Lot’s of levels of interactions take place as the form of collaborations within or between different groups. Transmitting knowledge and experience among team members is a must for the sustainability of a successful team. And to achieve all these continually and seamlessly, team members must have acquired a decent understanding of each other’s experience. One basic way of doing that can be wearing someone else’s shoes.

 In this post, we are going to take a step back and try to see the world through our front-end developer fellows.

What it means…

Thinking about who and hows of a front-end developer is interesting in particular, due to the vagueness of the job description. Even front-end developers themselves are not sure about the outlines of the title themselves. And they are definitely not the ones to blame – If this vagueness is to be treated as a problem in the first place. 

If history is to be blamed, we can go ahead and say that back then there were designers and developers. But then the former learned how to code the design with HTML/CSS, so the title front-end developer is born: designers who also code. In time, sophistication in designing or “coding” the design gained importance, therefore the front-end development has become an independent profession. 

Now the title “designer” is primarily associated with the dexterity in using various design tools about wireframing, prototyping, etc. Whereas “front-end developer” is expected to be able to write HTML/CSS, Javascript, JQuery and many more tools competing with each other. Really, it has become a jungle of competitive tools outside. Throughout the rest of the article, we are going to assume the definitions in their broad sense of simplicity. 

Collaboration with designer

Implementing a UI of a web or mobile application is a major part of a front-end developer’s work. But the line between “designing” and “implementing” a UI is very shadowy. This is because what designer and front-end developers do usually aim at the same final stage: a well-operating UI. Decisions of both sides directly affect the same output. This uncertainty in the job description of front-end developer usually forces it to be a jack of all trades. Front-end developers are expected to have a general understanding of the design process. 

They need to:

  • have a good judgment of applicability of a design. This is a critical virtue, especially during design handoff.
  • evaluate the design handoff output in terms of usability and customer’s requirements, without compromising either of them.
  • be able to interpret the design to code in a neat and clean structure.
  • verify with the designer, the output of the code with respect to the desired design. 

Most of this is done in collaboration with the designer. All these factors force us to leave the line between job definitions of designer and front-end developer to be blurry. But if managed well, this entangled relationship between designer and front-end developer can enable fruitful discussions and elevate the product to a new level.

Collaboration with back-end developer

On the other side, there is the front-end handoff to the back-end developer. Both front-end and back-end developers must understand the architecture of the whole application. They should be synchronized about the characteristics of the interface between front-end and back-end, such as API specification (API contracting), which covers the structure and format of information passed between the two sides.

Biggest Challenges

Biggest challenges of front-end developers might be listed as:

  • Performance: Building complex UI while retaining high load time/ good performance.
  • Browser/device compatibility
  • Responsive web design
  • Testing:  Especially for Setting up moc data to replicate production requires too much time.
  • Dynamic and ever-evolving domain: Keeping up with the best practices on both coding and design concepts.
  • Generalizability of the architecture: Keeping a good balance between long term and short term design decisions.
  • Updating: Making the correct architectural decisions in order to adapt to the changes.

To conclude…

As would be expected from any other medium containing variety and liveliness, front-end developer acquired change as one of its ingredients. The change suggests the challenge. And it is human to feel threatened by the challenge. But for the millionth time, it is actually a matter of how we see things. And one might say, after all, this dynamism in front-end development is maybe the indicator of the fact that there are many front-end developers who love what they do. They are the ones who bring innovation to the field which affects application development in its every aspect. This is what makes front-end development such an exciting and interesting occupation.

References

Credits