Literature for back-end developer

You are reading this [...] for two reasons. First, you are a programmer. Second, you want to be a better programmer. Good. We need better programmers.

-Robert C. Martin (from Clean Code)

We have, again and again, experienced that it’s not enough to be a good developer — let alone be a developer. We also have experienced in our team that once a developer has studied the correct content, the code quality and the collective peace of mind have multiplied. That’s why we have curated a great deal of material for ourselves to become better.

In IxDF, it is essential for developers to study the content in our library. This list is not here for a developer to ignore. An IxDF developer should have read the whole library — at the least.

The frenetic rate of change in our industry means that software developers must continue to learn copious quantities just to keep up. Woe to the architects who stop coding—they will rapidly find themselves irrelevant. Woe to the programmers who stop learning new languages—they will watch as the industry passes them by. Woe to the developers who fail to learn new disciplines and techniques—their peers will excel as they decline.

-Robert C. Martin (from Clean Coder)

Index

You can find all books and videos on the shared folder IxDF - Shared Reading - Library of Development literature and videos. Warning for devs having small SSDs: The videos may take up more than 10gb on your disk. That’s why you may want to selectively sync those you want to study into your computer when you want to study them.

  1. Front-end Foundations
  2. Backend
    1. Foundations
    2. References
    3. Subscriptions
    4. Awesome lists

Frontend

Every back-end developer should have some front-end knowledge to have basic working skills & collaborate with front-end developers.

Foundations

  1. JS tutorial: A re-introduction to JavaScript (opens new window) - An overview for those who think they know JavaScript.
  2. Topic: How to debug JS: Get Started with Debugging JavaScript in Chrome DevTools (opens new window) (with video)
  3. Topic: JS Event loop (opens new window) and Promise API (opens new window)
  4. CSS tutorial: Introduction to CSS (opens new window)
  5. Topic: ITCSS/BEM methodology: MindBEMding (opens new window)

For more frontend hints please see 🔒 frontend hints dir (opens new window).

Backend

Every back-end developer should

  • have a basic set of programming skills (Foundations),
  • use evergreen programming principles and team conventions (References),
  • be aware of modern techniques, tools, and APIs (Subscriptions and Awesome lists).

Foundations

  1. Classic programming (books): Robert Martin - Clean Code - 2008 and/or Steve McConnell - Code Complete, 2nd edition - 2014.
  2. Framework: Official Laravel documentation (opens new window) 😄
  3. Design Patterns (book): Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides - Design Patterns - 1994 or Eric Freeman - Head First Design Patterns - 2004.
  4. Server management (book): Chris Fidao - Servers for Hackers - 2016.pdf.
  5. Clean Architecture (book): Robert Martin - Clean Architecture: A Craftsman's Guide to Software Structure and Design - 2017.
  6. Topic: S (opens new window).O (opens new window).L (opens new window).I (opens new window).D (opens new window). principles (short version (opens new window)). There are also videos on the topic inside SOLID Principles in PHP directory.
  7. Topic: KISS, YAGNI & DRY Principles (opens new window).
  8. Topic: How to use xdebug on your local env (opens new window).
  9. Optional: TDD in Laravel: Course videos for Test-Driven Laravel (opens new window) video course by Adam Wathan (opens new window).
  10. Optional: Classic programming (book): Hunt A., Thomas D. - The Pragmatic Programmer. From Journeyman to Master - 1999.
  11. Optional: DDD (book): Vernon V. - Domain-Driven Design Distilled - 2016.
  12. Optional: Articles inside Articles shared folder.

References

  1. Clean Code concepts adapted for PHP
  2. 🔒 IxDF’s back-end conventions (opens new window)

Subscriptions

  1. PHPStorm blog (including PHP Annotated Monthly (opens new window) digests): RSS (opens new window) https://blog.jetbrains.com/phpstorm (opens new window)
  2. Laracon EU (opens new window) annual Laravel conference videos on YouTube.
  3. A blog on Laravel & PHP: RSS (opens new window) https://murze.be (opens new window)
  4. Laravel weekly newsletter: RSS (opens new window) https://laravel-news.com (opens new window)
  5. Optional: Adam Wathan's blog (active Laravel developer) RSS (opens new window) https://adamwathan.me (opens new window)
  6. Optional: Taylor Otwell's Medium stories (Creator of Laravel): @taylorotwell (opens new window)

Awesome lists

Awesome lists are great starting points for any material you'd like to find: Documentation, articles, talks, tools, etc. All of them are community curated and always up to date 🌲.

  1. Awesome PHP (opens new window)
  2. Awesome Laravel (opens new window) - you can find the best packages and practices for Laravel here.
  3. Awesome Laravel Nova (opens new window)
  4. Awesome composer (opens new window)

🦄