most hostile environment known to programmers; web browsers. The reason why it is difficult is because browsers have different capabilities and support for features. A feature you might rely upon might not be available to your user. This is why a deep understanding of cross browser compatibility is essential to create a working solution
It’s different devices as well. The list is endless, we have desktop devices, tablets, phones, smart watches, smart fridges connected to the internet, gaming consoles … This lead to the birth of a practice called responsive web design.
if it is related to visual design. While in frontend development the output is usually the visual part, it’s not the job of a frontend developer to create the actual design. His/her role is to translate a design into code. Visual Design
frameworks to handle common problems, cases and other stuff like security. Frameworks also force the developer to follow certain patterns and take certain decisions on behalf of the developer. This enable the developers to spend more time worrying about the problems they are trying to resolve rather the application architecture and code structure
development. It is used to help you store and retrieve different types data that you need. In general, databases are classified into Relational and Non relational database systems. Commonly also referred to SQL vs NoSQL databases. Both have pros and cons and specific use cases. SQL vs. NoSQL Databases: What’s the Difference?
ACID properties • SQL language rather than ORM • Database normalization • How indexing work • Database transactions • Storage procedures • Data replication • Sharding Strategies When you’re working with databases it’s important to understand and focus on the following principles:
separate the backend logic from the views and switching to asynchronous requests that respond with data only rather than its view (e.g HTML). This helps the developers to use the same APIs to serve any consumer without additional work. Examples: • RESTFul APIs • GraphQL • JSON APIs
adoption increase, you start taking new measures and strategies to improve the performance of your applications through: • Application profiling and identification of bottle necks • Using different caching strategies like using CDNs • Decrease database hits by using in memory cache like Redis
job of a system administrator, Devops engineers; basic understanding of working with Linux environments and administration is important and often required for backend developers. In addition to web application server management like Apache, Nginx … etc
common vulnerabilities in web applications. A web developer should be familiar at least with the top 10 OWASP vulnerabilities and have the sufficient knowledge to test, patch and avoid these vulnerabilities.
like radio programs you can listen to when you’re working, commuting … anything. It open your eyes on different topics and usually has interesting guests who share their thoughts on different topics; This repository contain a list of interesting podcasts in technology grouped by language, category, language .. https://github.com/rShetty/awesome-podcasts
great references as they fill the gabs in your knowledge. Always check book reviews on services like Amazon if you decided to read one. In collaboration with EKB, Apress publishing house offer free books in different formats for Egyptian residents if you’re accessing their website from Egypt