industry that was born after the widespread adoption of the internet back in the 1990s. It’s about building applications and websites that uses the internet as their backbone.
the main consumer of the end product was the web browsers. Now there are plenty of mediums that rely upon web development as well like mobile applications, IoT devices, smart fridges … etc.
compnoent of the applications and integrate the output of the designer. Web Designer Work on the visual design and create the HTML and CSS with the help of graphic authorization tools.
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
frontend languages, frontend developers roles extended to include: • Web accessibility • Performance optimization • Search engine optimization • Focus on JavaScript • Implementing features with consideration to the user experience • Writing markup for HTML emails
the logic. It’s responsible for storing information added by the user of a system and the retrieval of data requested by users. It connects all the dots together.
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
microservices or start integrating with other 3rd party services, new patterns emerge to facilitate that like message brokers and queue (RabbitMQ and Kafka)
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
(DRY) or Duplication is Evil (DIE) KISS: Keep it simple, Stupid! SOLID: Group of principles when applied together intends to make a system easy to maintain and extend over time
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.
and deployments, tools like containers can be used to facilitate the setup of the development and production environments. Docker offers great benefit when it comes to this area
conferences. Most of the conferences are either streamed for free or added later on YouTube. You can find a list of upcoming and past conferences at: https://confs.tech/
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