A front-end web developer is probably what most people think of as a `web developer`.
A front-end web developer is responsible for implementing visual elements that users see and interact with in a web application.
They are usually supported by back-end web developers, who are responsible for server-side application logic and integration of the work front-end developers do.
Important : These are some basic guidelines and tips.
1.
Proficient understanding of web markup, including HTML5, CSS3.
Basic understanding of server-side CSS pre-processing platforms, such as LESS and SASS.
Proficient understanding of client-side scripting and JavaScript frameworks, including jQuery.
Note: Every front-end developer is expected to have a proficient knowledge of JavaScript, while most front-end developers should know jQuery.
Good understanding of {{Depending on the specific case, a developer should have the knowledge of advanced JavaScript libraries and frameworks, such as AngularJS, KnockoutJS, BackboneJS, ReactJS, DurandalJS etc.}}.
Good understanding of asynchronous request handling, partial page updates, and AJAX.
Basic knowledge of image authoring tools, to be able to crop, resize, or perform small adjustments on an image. Familiarity with tools such as as Gimp or Photoshop is a plus..
Note: A UI/UX designer is expected to deliver finished resources for the developer to incorporate into the app. However, quite often a front-end web developer needs to make some small adjustments.
Proficient understanding of cross-browser compatibility issues and ways to work around them..
Proficient understanding of code versioning tools, such as {{Git / Mercurial / SVN}}.
Good understanding of SEO principles and ensuring that application will adhere to them..
2.
Determining the structure and design of web pages.
Ensuring user experience determines design choices.
Developing features to enhance the user experience.
Striking a balance between functional and aesthetic design.
Ensuring web design is optimized for smartphones.
Building reusable code for future use.
Optimizing web pages for maximum speed and scalability.
Utilizing a variety of markup languages to write web pages.
Maintaining brand consistency throughout the design.