In the structure of most major companies, front-end developers are included in the software engineering department rather than the design department.
First, consider the definition of “design.” The term “design” is subjective. Depending on what you are “designing,” the actions you must take to complete your task will be completely different than if your goal was something else. For example, designing a solution to a problem and designing a corporate logo are two very different processes.
Responsibilities of “web designers” typically include anything you would consider creative or artsy. Choosing color schemes, fonts, layouts, button designs, and borders all fall under this category. Web designers are also the brains of the visual operation and determine the placement of various elements on each page and participate in design brainstorming meetings with other members of the art and design departments.
In contrast, “front-end developers” are responsible for the tasks that would be considered behind-the-scenes. Developers choose the front-end framework and architecture. They create the “guts” behind the design with scalable, object-oriented CSS, front-end coding, and smooth animations. They are also responsible for how users interact with the site. They responsibilities include evaluation processes for load times and cross-browser compatibility.
In some cases, however, the lines get blurred. Within some companies, designers can build high fidelity mockups using bootstrap. They give these mockups to the developers in an effort to “speak their language.” While the code provided by the designer is likely not suitable for actual use in the coding of the website, it gives the developers a better idea of the idea and implementation that the designer had in mind.
Generally speaking, a company has a front-end TEAM that consists of front-end developers and web designers that work hand-in-hand to create and execute their joint vision for the website. With the current trend of downsizing and shared responsibilities, the once concrete borders between the two groups are becoming more fluid. Designers and developers are now commonly expected to have knowledge of (or even be able to complete) some of the job duties of the developers and vice versa.
Here is what they don’t do
1. Decision on font-size/color/background color
2. Design a Layout
3. Design a button
4. Decide margins & padding
5. Decide where to place what.
6. Information architecture (Content placement/Creative Error messages text)
7. Brainstorm ideas to design
8. Create a cool little graphic
9. Decide the colors on the bar graph or line chart.
10. And may more….
Here is what they do
1. Decide on a front end framework (Angular.js, React.js)
2. Create the front-end architecture
3. Build Scalable Object oriented CSS
4. Do front-end code reviews
5. Worry about the page load time/paint cycles
6. Make sure that there are no memory leaks/XSS/Globals
7. Make the animations smooth
8. Worry about cross browser compatibility
9. Work with API’s
10. Try to reduce the CSS/JS file sizes
11. Write semantic markup for design.
12. And many more…..