After writing multiple onboarding documents for developers in the companies I worked for, I have decided to publish something on-line not to have to write it over again.

This article is just an overview of the topics that I will describe over the next month (it might get updated in the next weeks). I plan to finish the whole series by the end of January 2017.

The series is designed for all developers (usually from beginner to medium level) regardless from the programming languages they use.

My goal is to be able to have a set of articles to share with developers that I would work with, so that, we can express our ideas using the same terminology and with the same level of abstraction.

Planned series parts

  1. Networks
    • TCP and UDP (Transmission Control Protocol and User Datagram Protocol)
    • The OSI Model Layers (The 7 Layers)
    • IP addresses (IPv4 vs. IPv6)
    • What happens after you enter an URL address in your browser and before you get the response
  2. SSH/TLS/HTTPS/SFTP
  3. Caching (all aspects of cache and web cache)
  4. Encoding, bits and bytes (char sets and code pages)
  5. Tools
    • Using git
  6. Main principles of scalable systems
  7. Web security
    • Main principles
    • Main threats (OWASP)
    • Web server configuration, good practices
    • Database server configuration, good practices
    • Code, good practices
  8. Differences in programming languages (and their implemented programming paradigms)
  9. Approach: proper tool for the job + proper skill set for the job
  10. Data structures
  11. Algorithm time complexity (Big O notation)
  12. Searching algorithms
  13. Coding standards (how to follow it and make it easy)

I plan to write short and simple articles with decent introductions to those topic, and with resources for further reading.