
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 designer2.
The principle of cicada and why it is important for web designers3.
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 years8.
Mangling9.
About design10.
Why is the mouse cursor tilted at 45 °?11.
Have the courage to do not like everything. 12 obsolete interface and technology solutions12.
Names of people and interface13.
User experience design: how to build a website for customers, not for yourself14.
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 backend2.
Interview for the post PHP Backend Developer in Germany3.
We write backend for a mobile application in a few minutes4.
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 Internet2.
Architecture and network principles3.
The principle of operation of torrent networks and how high speed is achieved4.
TCP / IP Beginner's Guide5.
Domain Name Service - Domain Name ServiceFrontend 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 Matters2.
Performance subtleties3.
Performance benefit for rel = noopener4.
Measuring the performance of web pages5.
Improving UX through optimization6.
Approaches to optimizing (web) applications7.
Sample web performance8.
Web Image Rendering Performance9.
10 Ways to Test Your Website PerformanceFrontend 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 discussed2.
Super content strategy. 5 successful examples3.
Do I need a content strategy when filling the site?4.
Erin Kissain's Content Content Basics5.
How to build an SMM strategy: a step-by-step plan for advancement in social networks6.
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 databases2.
Databases: SQL (DDL / DML)3.
Accelerate the website database4.
Web interface for databases of one .php file size5.
PostgreSQL features not found in MySQL, and vice versa6.
HTML 5. Work with Web SQL database7.
Databases and NoSQL8.
How to display 350 million rows from a database on a web form9.
Embedded JavaScript database with an emphasis on API compatibility with MongoDBFrontend developer should understand testing
There are many types of testing. Integration testing. Regression testing. User Testing!
To read:
1.
Software Testing2.
Why do we need tests?3.
Unit tests and integration: what is the difference?4.
Testing5.
JavaScript Testing course (eng)6.
QUnit. Testing javascript code7.
How to develop a novice tester?8.
Increase the stability of the front-end9.
Beck Kent. Extreme programming. Development through testing10.
We write our first unit test using the example of the BDD methodology and the Jasmine library.10.
The process of testing mobile applications11.
McGregor John, Sykes David. Object-Oriented Software Testing12.
Testing JS. Karmic webpackFrontend 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 frontend2.
Grunt - Build System Overview3.
Assembly Automation4.
Nice build frontend project5.
Comparison of popular build systems for frontend developers6.
Grunt vs Gulp comparing build systems for a front-end developer7.
Gulp or Grunt, yes anyway8.
Methodology for assembling a BEM projectThe 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 developer2.
Frontend development methodologies3.
Tips for front-end developer4.
What kind of knowledge should a Front-end developer have in 20155.
What you need to know and be able to front end developer in 2015/20166.
Web Developer Development Map7.
Basic Frontend Developer Skills8.
Isobar Front-end Code Standards9.
Front-end Style Guides10.
JavaScript Style Guide11.
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 types2.
What is a web server?3.
Web server4.
Simple language about HTTP5.
Web services in theory and practice for beginners.6.
Comparison of web servers7.
Web servers and their use to manage the load on the application.8.
PHP. Embedded web server9.
Local web server10.
Take advantage of the built-in PHP server11.
How to raise server for python scripts in 1 minuteFrontend 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.
Usability2.
Website usability3.
10 tips on site usability based on research results4.
Basics of usability sites5.
Usability Testing (ITMO)6.
Usability vs. User experience7.
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 Babich2.
Responsive web design3.
Responsive Web Design: What It Is.4.
Ethan Marcott's Responsive Web Design Book4.
10 responsive web design frameworks5.
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.