Chris Koyer's thoughts
One of the thoughts that has settled in my head:
should a frontend developer need to be aware of everything ? In a general sense, a frontend developer can be used in other workplaces. The whole team of developers ends the conversation on a frontend-developer. This is the meaning of my idea. Frontend developers create things that people interact with. All stages of development are held together with the frontend-developer. Perhaps that is why this is such a fun job! Since the frontend developer is central to the development chain, while we are dealing with a large number of different specialists, we need to understand their work and sometimes suggest what to do and how to do it better.
From translator
Hello everyone, Maxim Ivanov with you, and today we will talk on a rather acute topic in the field of web development. According to Chris Koyera, a frontend developer
must understand a lot of things that not everyone even thinks about. Of course, we must understand that the frontend developer is not the main one in the development process of any online service or software as a whole. You will find more responses to the vacancy to the same position of the frontend developer than to the backend developer position. But why then Chris Koyer considers that working as a frontend developer is more difficult, because you have to specialize in everything. Of course, there are a lot of situations in life, different companies use their specialists in different ways, but what should the frontend developer probably understand? We will talk about this today. I am waiting for comments on this topic, and now we will start.
Content
- Frontend developer must understand design.
- The frontend developer must understand the server side (backend)
- Frontend developer should understand networking
- Frontend developer must understand performance
- Frontend developer should understand content strategy.
- Frontend developer must understand databases
- Frontend developer should understand testing
- Frontend developer must understand build systems
- The frontend developer must understand development methodologies.
- A frontend developer must understand the configuration of web servers.
- Frontend developer must understand usability
- Frontend developer must understand mobile design.
')
Frontend developer must understand design.
If the frontend developer is not in itself a designer, he should know how important the design is. He must have good taste. He should know about the tools involved in the development.
To read:
1.
Memo to the site designer
2.
The principle of cicada and why it is important for web designers
3.
Steve Circle "Web Design or Don't Make Me Think"
4.
Jacob Nielsen "Web Design"
5.
Donald Norman "Design of familiar things"
6.
Jeff Raskin “Interface”
7.
How the main pages of Apple, Microsoft, IBM, Sony changed in 15 years
8.
Mangling
9.
About design
10.
Why is the mouse cursor tilted at 45 °?
11.
Have the courage to do not like everything. 12 obsolete interface and technology solutions
12.
Names of people and interface
13.
User experience design: how to build a website for customers, not for yourself
14.
The main features of Chinese web design and their origins.
The frontend developer must understand the server side (backend)
Even if you are not a backend developer, you are clearly aware of the importance of the server side. You understand what the backend interacts with, what is transmitted to the server and what is not. You know the responsibilities of the backend developer. You understand what language is used on the server, and at the same time you should be able to explain what the backend should give you and what you need from the server part of the frontend.
To read:
1.
What we have learned by developing the backend
2.
Interview for the post PHP Backend Developer in Germany
3.
We write backend for a mobile application in a few minutes
4.
What should be ahead of the frontend or backend?
5.
What you need to know to become a Backend developer?
6.
What should PHP Junior Developer without experience have to know?
7.
What technologies should the backend developer possess (initial knowledge level - beginner +)?
Frontend developer should understand networking
A frontend developer understands that sites are located on the Internet, data is transmitted over the network, and that the network is wild and unpredictable. You need to understand what networks are, how they work, and how fast and reliable they are.
To read:
1.
Principles of the Internet
2.
Architecture and network principles
3.
The principle of operation of torrent networks and how high speed is achieved
4.
TCP / IP Beginner's Guide
5.
Domain Name Service - Domain Name Service
Frontend developer must understand performance
If you are not focused on productivity, then you know that productivity has an important place in the success of your project. Frontend developers know about this difficult world. The necessary skills will help you to win a quick victory in a long struggle. It is necessary to understand how fast the backend should be, and also that the remaining 80% of the time is site loading, i.e. this is a frontend.
To read:
1.
Web performance: Why Performance Matters
2.
Performance subtleties
3.
Performance benefit for rel = noopener
4.
Measuring the performance of web pages
5.
Improving UX through optimization
6.
Approaches to optimizing (web) applications
7.
Sample web performance
8.
Web Image Rendering Performance
9.
10 Ways to Test Your Website Performance
Frontend developer should understand content strategy.
Again, you can not develop a content strategy, but you should understand that the site lives and exists thanks to the content on it. The absence of a specific plan can cause certain difficulties that you cannot prevent during development. People who will use the resource, and those who are looking for something, should be confident in the accuracy and correctness of the information.
To read:
1.
How to create a content strategy to be discussed
2.
Super content strategy. 5 successful examples
3.
Do I need a content strategy when filling the site?
4.
Erin Kissain's Content Content Basics
5.
How to build an SMM strategy: a step-by-step plan for advancement in social networks
6.
How to optimize content for SEO and SMM?
Frontend developer must understand databases
Content is stored in a database. The database should work correctly with the content. A frontend developer should be able to work with what comes to him from this very database. When working with a database response, the frontend developer needs to be able to combine content with templates on the site.
To read:
1.
Introduction to databases
2.
Databases: SQL (DDL / DML)
3.
Accelerate the website database
4.
Web interface for databases of one .php file size
5.
PostgreSQL features not found in MySQL, and vice versa
6.
HTML 5. Work with Web SQL database
7.
Databases and NoSQL
8.
How to display 350 million rows from a database on a web form
9.
Embedded JavaScript database with an emphasis on API compatibility with MongoDB
Frontend developer should understand testing
There are many types of testing. Integration testing. Regression testing. User Testing!
To read:
1.
Software Testing
2.
Why do we need tests?
3.
Unit tests and integration: what is the difference?
4.
Testing
5.
JavaScript Testing course (eng)
6.
QUnit. Testing javascript code
7.
How to develop a novice tester?
8.
Increase the stability of the front-end
9.
Beck Kent. Extreme programming. Development through testing
10.
We write our first unit test using the example of the BDD methodology and the Jasmine library.
10.
The process of testing mobile applications
11.
McGregor John, Sykes David. Object-Oriented Software Testing
12.
Testing JS. Karmic webpack
Frontend developer must understand build systems
Frontend developers write collaborative code, and everyone must take responsibility for implementing something new in the project. If you have written your build system, other team members need to understand what it is and why it is needed. Even if someone does not use the build system, he still needs to understand how to use such things.
To read:
1.
Webpack - one of the most powerful and flexible tools for building frontend
2.
Grunt - Build System Overview
3.
Assembly Automation
4.
Nice build frontend project
5.
Comparison of popular build systems for frontend developers
6.
Grunt vs Gulp comparing build systems for a front-end developer
7.
Gulp or Grunt, yes anyway
8.
Methodology for assembling a BEM project
The frontend developer must understand development methodologies.
Fronend-developer writes and styles the code independently, as well as other developers of the project, therefore they need to adhere to uniform installations. If you did not write the build system, then in any case, you should know how to work with it, what it does and what it can do. If you do not know how to deploy such systems, then you need to learn how to work with it.
To read:
1.
Required minimum for front-end developer
2.
Frontend development methodologies
3.
Tips for front-end developer
4.
What kind of knowledge should a Front-end developer have in 2015
5.
What you need to know and be able to front end developer in 2015/2016
6.
Web Developer Development Map
7.
Basic Frontend Developer Skills
8.
Isobar Front-end Code Standards
9.
Front-end Style Guides
10.
JavaScript Style Guide
11.
Coding style (Mozilla)
A frontend developer must understand the configuration of web servers.
Without them, there would be no websites.
To read:
1.
Main server types
2.
What is a web server?
3.
Web server
4.
Simple language about HTTP
5.
Web services in theory and practice for beginners.
6.
Comparison of web servers
7.
Web servers and their use to manage the load on the application.
8.
PHP. Embedded web server
9.
Local web server
10.
Take advantage of the built-in PHP server
11.
How to raise server for python scripts in 1 minute
Frontend developer must understand usability
If the frontend developer is not very good at usability, in any case, he should understand how important this is. You must be able to test and improve usability. A frontend developer should know who to talk about on this topic.
To read:
1.
Usability
2.
Website usability
3.
10 tips on site usability based on research results
4.
Basics of usability sites
5.
Usability Testing (ITMO)
6.
Usability vs. User experience
7.
What is the difference between UX and UI designer and web designer?
Frontend developer must understand mobile design.
A frontend developer must understand that his site can be used everywhere, his site can be accessed from any device, so care must be taken in advance about this. Large screens, small, touch, outdated devices. A frontend developer must be prepared for the unknown!
To read:
1.
Best practices for mobile UX from Nik Babich
2.
Responsive web design
3.
Responsive Web Design: What It Is.
4.
Ethan Marcott's Responsive Web Design Book
4.
10 responsive web design frameworks
5.
Responsive Web Design Fundamentals Course (eng)
Conclusion
This is just part of what the frontend developer should know. The bigger, the better. All this, of course, is learned in the work. HTML, CSS, JavaScript, responsive design, libraries and frameworks - this list may not end for a long time.