When you are reading this article, front-end developer has become a common job title in this software development industry. And there’s a bunch of blogs about this very topic too. However, if you are new to the industry and want to learn more about this job, then this article is for you. In this blog, we’ll cover these 4 questions:
- What does a front-end developer do?
- What skills do they need to perform this job?
- Where could a beginner learn to become a skilled front-end developer?
- What kind of tools does a front-end developer need?
1. What a front-end developer do?
a. Produce HTML, CSS, JS
Image: Frontend Masters
This is the most important task of a front-end developer whether you are a junior or an experienced engineer.
As a result, users can see and interact with your product directly through content, buttons, images, navigation, and internal links built by those HTML, CSS and JS lines of code.
b. Ensure the product is easy to use
While creating interactions, a front-end developer has to work with the product’s UI and UX.
The idea here is to serve a perfect visit to every user who comes to the web. You, as a front-end developer need to work with designers and back-end programmers to make the UI as simple and effective as possible.
Meanwhile, when it comes to UX, a front-end developer’s mission is improving or enhancing the usability, accessibility, and interaction between users and products.
- Besides those two most important tasks, you must:
- Make sure the site appears correctly in different browsers, OS, devices
- Implement design for mobile sites
- Maintain software workflow management
- Look at SEO best practices
- Test the site for usability and fix any bugs
2. What skills do they need?
HTML is the thing that builds up a website’s structure and content. That’s why every front-end developer needs to be familiar with this language. HTML elements can annotate headers, footers, the display of text, media and images, etc.
Many programmers underestimate the importance of HTML. But little do they know that it takes great skills and practices to deliver lean and clear HTML.
It’s essential to know how to combine all elements correctly and effectively. As a front-end developer, you must have good knowledge of common HTML elements such as default layout rules, styling, HTML semantic and contextual usage.
CSS is broken into modules and comprises the code for every graphic element—from backgrounds to font—that make up the look and feel of a website.
To master CSS, one must understand fundamental concepts of CSS like cascading, specificity rules, selectors, inheritance, box model and stacking context.
After getting to know all the basics, it’s time to have some ideas of OOCSS (object-oriented CSS) or start practicing some points from CSS guidelines.
On top of that, experienced front-end developers must have some tips and tricks of their own. For example, they must know all the tricks to vertically align contents while Flexbox is not yet mainstream. They must also know when to use pseudo-elements, CSS shape tricks, icon fonts, or sprite sheets, etc. to achieve the UI designs with best performance and compatibility results.
And finally, an up-to-date front-end developer should be able to use a CSS preprocessor to enhance maintainability and productivity.
With Git, we can keep track of changes. Besides, GitHub gives people the ability to submit the issues that clients have with the product and they can also request a new feature. Furthermore, your code will be better and your skills will be improved due to the fact that we can revise our work and improve it once there’s a bug.
Image: LogRocket Blog
In general, a front-end developer must be comfortable when working with feature branches, rebasing their work on the work of others, squashing commits using interactive rebase, and doing work in small units that are unlikely to cause conflicts whenever possible.
e. UI skills set
As mentioned above, a front-end development must understand how a website’s UX/UI works so that they can improve or enhance the product.
Image: X Effect Studio
That said, you should have an understanding of typography, UI and animation concepts and can speak UI jargon fluently with your UX/UI designer fellows. (i.e: hamburger button, hero banner, the fold…)
What’s more? To get assets for your UI development as well as extract parameters (opacity, gradient, colors…) you must know how to use Adobe Photoshop or Sketch.
Besides all the above most important skills, learning how to use some query languages such as RESTful or GraphQL is also a must to every front-end developer.
3. Best resources to learn front-end development
- HTML5 Doctor: Reliable reference to HTML5 elements’ usage, especially in a semantic way.
- HTML basic tutorial: Basic HTML tutorials
- CSS Tutorials from webplatform.org
- OOCSS: Object-Oriented CSS methodology by Nicole Sullivan
- CSS Guidelines by CSS Wizardry – Harry Robert
- CSS Tricks: Who does CSS and hasn’t visited this site before?
– TodoMVC: A go-to site for MVC frameworks evaluation and comparison
– Writing Modular JS: More details on modern JS modules
– Understanding ES6: Learn ECMAScript 6 with Nicholas C. Zakas
– About Face: The Essentials of Interaction Design
– Design for Hackers: Reverse Engineering Beauty
– Design for Non-Designers
– Designing Interfaces
– Designing Web Interfaces: Principles and Patterns for Rich Interactions
– Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability
4. Helpful tools
Just as other works, we all need tools to make our processes go smoothly and effectively. And just like learning resources, Designveloper will show you the tool to improve your productivity for each key skill.
HTML Templates/Boilerplates/Starter Kits:
– HTML5 Boilerplate
– HTML5 Bones
– Mobile boilerplate
– Element attributes
– HTML Arrows
– HTML Entity Lookup
– HEAD – A free guide to elements
– HTML Minifier
– Online Creation/Generation/Experimentation Tools:
– HTML Code Guide
– Principles of Writing Consistent, Idiomatic HTML
– HTML 5 Outliner
– Tailwind CSS
CSS Frameworks (utilities + UI):
– Bootstrap 4
– Material Design Lite (MDL)
– Metro UI
– Semantic UI
– Mobile Only CSS Frameworks:
– Eric Meyer’s “Reset CSS” 2.0
– PostCSS & cssnext
– rework & myth
– CSS Cursors
– CSS Indexes – A listing of every term defined by CSS specs
– css4 Rocks
– CSS TRIGGERS…A GAME OF LAYOUT, PAINT, AND COMPOSITE
– CSS Tricks Almanac
– MDN CSS Reference
– CSS Cheat Sheet
– CSS Lint
– Code Formatter/Beautifier:
Online Creation/Generation/Experimentation Tools:
– CSS Arrow Please
– CSS Matic
– Enjoy CSS
– Flexbox Playground
– Ultimate CSS Gradient Generator
SC5 STYLE GUIDE GENERATOR
Transpiling / Type Checking (ES to ES):
Linting/Hinting & Style Linter:
– Testing Assertions for Unit Testing:
– Test Spies, Stubs, and Mocks for Unit Testing:
– Code Formater/Beautifier:
– Performance Testing:
– Visualization, Static Analysis, Complexity, Coverage Tools:
– Closure Compiler
– UglifyJS 2
– JScrambler [$]
Sharable/Runnable Code Editors:
– CodeSandbox [free to $]
– Online Regular Expression Editors/Visual Tools:
Authoring Convention Tools:
– Airbnb’s ESLint config, following our style guide
– Standard – ESLint Shareable Config
Phew, so this is the end, we hope that you enjoyed this piece of writing. But aren’t you interested in this title? Here’s good news for you! Designveloper is looking for front-end developers, so let’s join us now to make great things together. Click here to find out more!