Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/patrykwozinski/dev-stuff

😎 Programming stuff for everyone. Collection of articles, videos about architecture, Domain Driven Design, microservices, testing etc.
https://github.com/patrykwozinski/dev-stuff

List: dev-stuff

architecture awesome-list clean-architecture clean-code cqrs ddd ddd-architecture lists microservice oop oop-principles php testing

Last synced: about 1 month ago
JSON representation

😎 Programming stuff for everyone. Collection of articles, videos about architecture, Domain Driven Design, microservices, testing etc.

Awesome Lists containing this project

README

        

# Programming stuff for everyone


Logo

### Good habbits / career
- [How to be a more successfull programmer?](https://www.yegor256.com/2018/11/27/you-can-do-better.html) [ENG]
- [Code Reviews and Blame Culture](http://verraes.net/2016/04/code-reviews-and-blame-culture/) [ENG]
- [Profesjonalny developer. Kto to taki?](https://www.youtube.com/watch?v=SqekVVJDyB8) [PL] `video`
- [Good practices will make you a better developer](https://medium.com/docplanner-tech/dobre-praktyki-uczyni%C4%85-ci%C4%99-lepszym-developerem-8741be404960) [ENG]
- [I just reviewed 100+ LinkedIN profiles](https://zef.me/i-just-reviewed-100-linkedin-profiles-86c4a9bacdd3) [ENG]
- [The art of destroying software](https://vimeo.com/108441214) [ENG] `video`
- [How To Speed Up The Code Review](https://sergeyzhuk.me/2018/12/29/code_review/) [ENG]
- [How to write a good software design document](https://medium.freecodecamp.org/how-to-write-a-good-software-design-document-66fcf019569c) [ENG]
- [What I've learned about career development (*) (**)](https://no-kill-switch.ghost.io/what-ive-learned-about-career-development/) [ENG]

### Management
- [Hiring, managing, and scaling engineering teams at Typeform](https://medium.com/@eleonorazucconi/toby-oliver-cto-typeform-on-hiring-managing-and-scaling-engineering-teams-86bef9e5a708) [ENG]
- [Scaling Engineering Teams](https://www.youtube.com/watch?v=-PXi_7Ld5kU) [ENG] `video`
- [Onboarding a junior dev to your team](https://dev.to/carolstran/onboarding-a-junior-developer-to-your-team-here-s-12-tips-4g3a) [ENG]

### IT Consulting
- [Narzędzia pracy konsultanta – Wardley Map](https://radekmaziarka.pl/2020/06/21/narzedzia-pracy-konsultanta-wardley-map/) [PL]
- [wardleymaps - all chapters](https://medium.com/wardleymaps) [ENG]

### Recruitment (Engineering)
- [Technical Interview Preparation Checklist](https://dev.to/trekhleb/technical-interview-preparation-checklist-4m4f) [ENG]

### Domain Driven Design
- [Sposób na projektowanie złożonych modeli biznesowych - Bottega IT](https://bottega.com.pl/pdf/materialy/sdj-ddd.pdf)
- [How to define Bounded Contexts](https://codeburst.io/ddd-strategic-patterns-how-to-define-bounded-contexts-2dc70927976e)
- [Using Domain Driven Design as a crutch for large refactors](https://medium.com/8fit-tech-blog/using-domain-driven-design-as-a-crutch-for-large-refactors-c9ea53253757) [ENG]
- [Strategies for Integrating Bounded Contexts](https://culttt.com/2014/11/26/strategies-integrating-bounded-contexts/) [ENG]
- [DDD - The Bounded Context Explained](http://blog.sapiensworks.com/post/2012/04/17/DDD-The-Bounded-Context-Explained.aspx) [ENG]
- [DDD in plain english](https://stackoverflow.com/a/1222488) [ENG]
- [Services in DDD finally explained](https://developer20.com/services-in-ddd-finally-explained/) [ENG]
- [Sociotechnical DDD](https://www.youtube.com/watch?v=EOof9dof0y0) [ENG] `video`
- [Strategic DDD in under 15 minutes](https://www.youtube.com/watch?v=Evers5npkmE) [ENG] `video`
- [Domain analysis for microservices](https://docs.microsoft.com/en-us/azure/architecture/microservices/model/domain-analysis) [ENG]
- [Domain, Subdomain, Bounded Context, Problem/Solution Space in DDD: Clearly Defined](https://medium.com/nick-tune-tech-strategy-blog/domains-subdomain-problem-solution-space-in-ddd-clearly-defined-e0b49c7b586c) [ENG]
- [Domains and Subdomains](https://thedomaindrivendesign.io/domains-and-subdomains/) [ENG]

### Object Oriented Programming
- [WyjÄ…tkowe wyjÄ…tki i unhappy path](https://medium.com/@patrykwozinski/wyj%C4%85tkowe-wyj%C4%85tki-i-unhappy-path-d2657a1cfdd2) [PL]
- [Alternative to utility classes](https://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes.html) [ENG]
- [Nie koduj, pisz prozÄ™ - lingwistyczne techniki wychodzÄ…ce poza Clean Code](https://www.youtube.com/watch?v=CKONKZLmMwk) [PL] `video`
- [Why null is bad?](https://www.yegor256.com/2014/05/13/why-null-is-bad.html) [ENG]
- [Static classes — the home of the devil?](https://medium.com/docplanner-tech/z%C5%82o-ca%C5%82ego-%C5%9Bwiata-umieszczone-w-klasach-statycznych-46704731398) [ENG]
- [Type safety and money](http://verraes.net/2016/02/type-safety-and-money/) [ENG]
- [Anti Patterns](https://www.yegor256.com/2014/09/10/anti-patterns-in-oop.html) [ENG]
- [How immutability helps?](https://www.yegor256.com/2014/11/07/how-immutability-helps.html) [ENG]
- [7 virtues of a good object](https://www.yegor256.com/2014/11/20/seven-virtues-of-good-object.html) [ENG]
- [Model jest wszystkim czego potrzebujesz](https://www.youtube.com/watch?v=iaLeKHbspLg) [PL] `video`
- [Inheritance is a procedural technique for code reuse](https://www.yegor256.com/2016/09/13/inheritance-is-procedural.html) [ENG]
- [OOP and Go...](https://medium.com/behancetech/oop-and-go-sorta-c6682359a41b) [ENG]
- [Throwing exceptions without proper context is a bad habbit](https://www.yegor256.com/2015/12/01/rethrow-exceptions.html) [ENG]
- [Nazwy metod, atrybutów i zmiennych na poważnie](https://medium.com/@patrykwozinski/nazwy-metod-atrybut%C3%B3w-i-zmiennych-na-powa%C5%BCnie-9626ea91ca47) [PL]
- [Write long function](http://redbeardlab.com/2019/02/07/write-long-function/) [ENG]
- [When to declare classes final](https://ocramius.github.io/blog/when-to-declare-classes-final/) [ENG]
- [How to Kill Parents](https://www.tomasvotruba.cz/blog/2019/01/24/how-to-kill-parents/) [ENG]
- [Entity vs ValueObject - ultimate list of differences](https://enterprisecraftsmanship.com/2016/01/11/entity-vs-value-object-the-ultimate-list-of-differences/) [ENG]
- [Kompleks wielkości metod](https://medium.com/@patrykwozinski/kompleks-wielko%C5%9Bci-metod-ecfb949c61d8) [PL]
- [The return of the native principles](https://www.youtube.com/watch?v=xvOhcteJzxM) [PL] `video`
- [Domain Logic and SQL](https://martinfowler.com/articles/dblogic.html) [ENG]
- [Readable Code](https://blog.pragmaticengineer.com/readable-code/) [ENG]
- [Fat vs. Skinny Design](https://www.yegor256.com/2020/02/19/fat-skinny-design.html) [ENG]
- [A short story of raising errors](https://patryk.it/short-history-of-raising-errors/) [ENG]

### Functional programming
- [The actor model in 10 minutes](https://www.brianstorti.com/the-actor-model/) [ENG]
- [Domain Modeling Made Functional](https://www.youtube.com/watch?v=PLFl95c-IiU) [ENG]
- [Functional architecture - The pits of success](https://www.youtube.com/watch?v=US8QG9I1XW0) [ENG]
- [Programowanie funkcyjne na JVM](https://www.youtube.com/watch?v=cJiwhQkyfRY) [PL] `video`
- [The Essence of Composition](https://bartoszmilewski.com/2014/11/04/category-the-essence-of-composition/) [ENG]

### Refactoring
- [Refactoring Guru: refactoring and design patterns](https://refactoring.guru) [ENG]
- [8 tips for successful refactoring](https://medium.com/@andreigridnev/8-tips-for-successful-refactoring-b2a1c9b5d820) [ENG]
- [PHPRefactor](phprefactor.com) [ENG]
- [Refactoring live session toward tactical Domain-Driven Design](https://www.youtube.com/watch?v=gf5eAM-MFQ4) [PL] `video`
- [The Transformation Priority Premise](http://blog.cleancoder.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html) [ENG]

### Domain discovering and modeling
- [Discovering unknown domain with Event Storming](https://www.youtube.com/watch?v=dhoXYRqghws) [PL] `video`
- [Event Storming Workshop Cheat Sheet](https://github.com/wwerner/event-storming-cheatsheet) [ENG]
- [Modeling Reactive Systems with Event Storming](https://blog.redelastic.com/corporate-arts-crafts-modelling-reactive-systems-with-event-storming-73c6236f5dd7) [ENG]
- [A facilitators recipe for Event Storming](https://medium.com/@springdo/a-facilitators-recipe-for-event-storming-941dcb38db0d) [ENG]
- [The anatomy of a Model Debt](https://no-kill-switch.ghost.io/the-anatomy-of-a-model-debt/) [ENG]
- [Event Modeling: What is it?](https://eventmodeling.org/posts/what-is-event-modeling/) [ENG]
- [Event Storming zdalnie – praktyczne porady](https://radekmaziarka.pl/2020/11/16/event-storming-zdalnie-praktyczne-porady/) [PL]

### Architecture
- [Clean architecture at OLX Europe](https://tech.olx.com/clean-architecture-at-olx-europe-f0501c37f09d) [ENG]
- [Lekkie podejście do dokumentowania architektury](https://www.youtube.com/watch?v=FoMEgnMKhK0) [PL] `video`
- [Listen to Yourself: A Design Pattern for Event-Driven Microservices](https://medium.com/@odedia/listen-to-yourself-design-pattern-for-event-driven-microservices-16f97e3ed066) [ENG]
- [Prosta architektura dla nieprostego systemu (CQRS)](https://www.youtube.com/watch?v=Emr4jkhW9L4) [PL] `video`
- [Warstwowa architektura w DDD](http://tswiackiewicz.github.io/inside-the-source-code/architecture/ddd-layered-architecture/) [PL]
- [Gates for CQRS](https://medium.com/docplanner-tech/goalkeeper-the-guardian-of-a-correct-execution-of-commands-aefeeafc3565) [ENG]
- [Agile & Architecture](https://www.youtube.com/watch?v=YYAcugwEZTI) [PL] `video`
- [All Things CQRS](https://github.com/ddd-by-examples/all-things-cqrs) [ENG]
- [Example of Domain Driven Design enterprise application](https://github.com/ddd-by-examples/factory) [ENG]
- [The Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html) [ENG]
- [DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together](https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/) [ENG]
- [Domain Driven Design in Go](https://www.citerus.se/go-ddd) [ENG]
- [Serverless Architectures I/III: Design and technical trade-offs](https://medium.com/@pablo.iorio/serverless-architectures-i-iii-design-and-technical-trade-offs-8ca5d637f98e) [ENG]
- [How to break a Monolith into Microservices](https://martinfowler.com/articles/break-monolith-into-microservices.html) [ENG]
- [C4 model for visualising software architecture](https://c4model.com/) [ENG]
- [Sagi, strumienie, reaktywność](https://www.youtube.com/watch?v=27S0G9bE3Bg) [PL] `video`
- [Cele architektury oprogramowania](https://medium.com/@patrykwozinski/cele-architektury-oprogramowania-a063dda884d1) [PL]
- [Architecture antipatterns and how to beat them](https://www.youtube.com/watch?v=cJDDsSj2vJA) [PL] `video`
- [Modular Monoliths](https://www.youtube.com/watch?v=5OjqD-ow8GE) [EN] `video`
- [Majestic Modular Monoliths](https://youtu.be/BOvxJaklcr0) [EN] `video`
- [Architecture for developers](https://youtu.be/z1xLDzx7hgw) [EN] `video`
- [Wzorce i podejścia architektoniczne wspierające refaktoryzację](https://www.youtube.com/watch?v=c7mgE9Z29s0) [PL] `video`
- [10 Common Software Architecture Patterns in a nutshell](https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013) [ENG]
- [Awesome #Architecute](https://github.com/binhnguyennus/awesome-scalability#architecture) [ENG]
- [Vertical Slice Architecture](https://jimmybogard.com/vertical-slice-architecture/) [ENG]
- [Architektura multi-tenant](https://softwareplant.com/architektura-multi-tenant-na-przykladzie-produktow-softwareplant/) [PL]
- [How Uber Goes](https://www.youtube.com/watch?v=nLskCRJOdxM) [ENG] `video`
- [Monolith Decomposition Patterns](https://www.youtube.com/watch?v=9I9GdSQ1bbM) [ENG] `video`
- [Sociotechnical Architecture](https://www.youtube.com/watch?v=Pmz3FXu-Dzk) [ENG] `video`
- [Communicating architecture in times of remote "leap of faith"](https://no-kill-switch.ghost.io/communicating-architecture-in-times-of-remote-leap-of-faith/) [ENG]
- [Git internal architecture](https://dev.to/anuj_bansal_/git-internal-architecture-o1j) [ENG]
- [Hexagonal Architecture by example - a hands-on introduction](https://allegro.tech/2020/05/hexagonal-architecture-by-example.html) [ENG]
- [Patterns for Decoupling in Distributed Systems: Explicit Public Events](https://verraes.net/2019/05/patterns-for-decoupling-distsys-explicit-public-events/) [ENG]
- [Read-Your Writes Consistency](https://docs.oracle.com/cd/E17076_05/html/gsg_db_rep/C/rywc.html) [ENG]
- [Symfony Messenger component for CQRS applications](https://patryk.it/symfony-messenger-component-for-cqrs-applications/) [ENG]

### Microservices
- [Export data out of the monolith](https://divad4686.github.io/2018/11/26/microservices-techniques.html) [ENG]
- [Tackling Complexity in Microservices](https://vladikk.com/2018/02/28/microservices/) [ENG]
- [Modules or Microservices](https://www.youtube.com/watch?v=AJW2FAJGgVw) [EN] `video`
- [Microservices Gone Wrong](https://www.youtube.com/watch?v=5QIpzNPVDaY) [EN] `video`
- [Why Having a Feature Flag Microservice Is a Bad Idea](https://dzone.com/articles/why-having-a-feature-flag-microservice-is-a-bad-id) [EN]
- [Awesome #Scalability](https://github.com/binhnguyennus/awesome-scalability#scalability) [ENG]
- [Common mistakes when moving to microservices & cloud](https://www.youtube.com/watch?v=jo46-CP6ywU) [PL] `video`
- [Avoiding Microservice Megadisasters](https://www.youtube.com/watch?v=gfh-VCTwMw8) [ENG] `video`

### Testing
- [Testy w PHP - mock czyli test double](https://zawarstwaabstrakcji.pl/20181005-testy-php-mock-czyli-test-double/) [PL]
- [test && commit || revert](https://medium.com/@kentbeck_7670/test-commit-revert-870bbd756864) [ENG]
- [Jak zwiększyć wartość testów jednostkowych](https://www.youtube.com/watch?v=smK6gCvafJE) [PL] `video`
- [How much testing is too much?](http://verraes.net/2014/12/how-much-testing-is-too-much/) [ENG]
- [Unit Testing Anti-Patterns](https://www.yegor256.com/2018/12/11/unit-testing-anti-patterns.html) [ENG]
- [Working faster with tests](https://medium.com/docplanner-tech/working-faster-with-tests-c0acd60faf2e) [ENG]
- [Test doubles: the motion picture](https://speakerdeck.com/franiglesias/tests-doubles-the-motion-picture) [EN]
- [Integration Testing: What It Is and How to Do It Right](https://dzone.com/articles/integration-testing-what-it-is-and-how-to-do-it-ri) [ENG]
- [Improving your Test Driven Development in 45 minutes](https://youtu.be/PwMNtiKb-P4) [PL] `video`
- [TDD, Where Did It All Go Wrong](https://www.youtube.com/watch?v=EZ05e7EMOLM&) [ENG] `video`
- [Testing Strategies in a Microservice Architecture](https://martinfowler.com/articles/microservice-testing/) [ENG]

### DevOps
- [The Twelve-Factor App](https://12factor.net/) [ENG]
- [The real difference between CI and CD](https://fire.ci/blog/the-difference-between-ci-and-cd/) [ENG]
- [DevOps Roadmap](https://github.com/raycad/devops-roadmap) [ENG]
- [AWS Cheatsheet](https://dev.to/harshaambati/aws-cheatsheet-2f0k) [ENG]

### Generic infrastructure, network, web app
- [Klienci Http: bohaterowie systemów rozproszonych](https://www.youtube.com/watch?v=RVBlCTK_3oA) [PL] `video`

### Performance
- [Czy wydajność to jakość?](https://youtu.be/Ag9mBOjSeb8) [PL] `video`
- [The Ultimate Guide to Web Performance](https://dev.to/ender_minyard/the-ultimate-guide-to-web-performance-ci4) [ENG]

### Databases
- [Baza danych jako szczegół implementacyjny](https://www.youtube.com/watch?v=Vgj-qAgOlIQ) [PL] `video`
- [HandlerSocket](https://www.youtube.com/watch?v=jYFixcFTR4c) [PL] `video`
- [MySQL - Validate Your schema and change it smoothly](https://www.youtube.com/watch?v=30vr4yKD5O8) [PL] `video`
- [SQL Indexing and Tuning e-Book](https://use-the-index-luke.com/) [ENG]
- [50 SQL Interview Questions](https://dev.to/helenanders26/50-sql-interview-questions-4jpb) [ENG]

### Security
- [Web developer security checklist](https://medium.com/simple-security/web-developer-security-checklist-f2e4f43c9c56) [ENG]
- [Worst security hole you've seen?](https://stackoverflow.com/questions/1469899/worst-security-hole-youve-seen) [ENG]
- [Czym jest CORS (Cross-Origin Resource Sharing) i jak wpływa na bezpieczeństwo](https://sekurak.pl/czym-jest-cors-cross-origin-resource-sharing-i-jak-wplywa-na-bezpieczenstwo/) [PL]

### Elixir
- [Phoenix - Gauging Progress](https://www.youtube.com/watch?v=pfFpIjFOL-I) [ENG] `video`
- [Elixir and The Beam: How Concurrency Really Works](https://dev.to/sophiedebenedetto/elixir-and-the-beam-how-concurrency-really-works-354n) [ENG]
- [Advanced Metaprogramming](https://www.youtube.com/watch?v=9C53Aq9r7T8) [PL] `video`
- [Managing Translations in Elixir With Yata](https://www.youtube.com/watch?v=X_mrAq17gvs) [PL] `video`
- [Concurrency and parallelism with Elixir and BEAM](https://medium.com/@patrykbak/concurrency-and-parallelism-with-elixir-and-beam-c683b2215c38) [ENG]
- [Awesome Elixir and CQRS](https://github.com/slashdotdash/awesome-elixir-cqrs) [ENG]
- [Resources to learn Elixir for PHP developers](https://patryk.it/resources-to-learn-elixir-for-php-developers/) [ENG]
- [Things Elixir's Phoenix Framework does right](https://scorpil.com/post/things-elixirs-phoenix-framework-does-right/) [ENG]
- [Supercharge your ExUnit skills in 10 minutes](https://medium.com/learn-elixir/supercharge-your-elixir-unit-testing-skills-in-10-minutes-a9c76d96e3b6) [ENG]
- [Buildings start-ups with Elixir](https://www.youtube.com/watch?v=icfvFFZUxZQ) [ENG] `video`
- [How to build a self-healing system using supervision tree in Elixir](https://kodius.com/blog/elixir-supervision-tree/) [ENG]
- [Ecto Preloads in Phoenix Contexts](https://medium.com/@damonvjanis/ecto-preloads-in-phoenix-contexts-167d11e5405e) [ENG]
- [Elixir on Kubernetes](https://www.youtube.com/watch?v=AjdD6gJHqBU) [PL] `video`
- [Elixir at fintech with Brex](https://elixir-lang.org/blog/2020/06/23/growing-with-elixir-at-brex/) [ENG]
- [Preloading Nested Associations with Ecto](https://thoughtbot.com/blog/preloading-nested-associations-with-ecto) [ENG]
- [Using Event Sourcing and CQRS with Incident](https://pedroassumpcao.ghost.io/event-sourcing-and-cqrs-using-incident-part-1/) [ENG]
- [On Elixir Metaprogramming](https://www.christianblavier.com/on-elixir-metaprogramming/) [ENG]
- [Event-Driven architecture in Elixir](https://www.youtube.com/watch?v=8qDXG7tnl9w) [ENG] `video`
- [Fast Elixir](https://github.com/devonestes/fast-elixir) [ENG]
- [Killer Elixir-Tips](https://github.com/blackode/elixir-tips) [ENG]
- [Iteration, Recursion, and Tail-call Optimization in Elixir](https://blog.appsignal.com/2019/03/19/elixir-alchemy-recursion.html) [ENG]
- [When to use Elixir language?](https://www.amberbit.com/blog/2018/5/15/when-to-use-elixir-language/) [ENG]

### Golang
- [Introducing Clean Architecture by refactoring a Go project](https://threedots.tech/post/introducing-clean-architecture/) [ENG]
- [Combining DDD, CQRS, and Clean Architecture by refactoring a Go project](https://threedots.tech/post/ddd-cqrs-clean-architecture-combined/) [ENG]

### Books
- "Applying UML and patterns" - Craig Larman
- "Domain-Driven Design: Tackling Complexity in the Heart of Software" - Eric Evans
- "Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML" - Jim Arlow
- "Building Evolutionary Architectures" - Patrick Kua, Rebecca Parsons, Neal Ford
- "Just Enough Software Architecture: A Risk Driven Approach" - George H. Fairbanks
- "A Philosophy of Software Design" - John Ousterhout
- "Monolith to Microservices" - Sam Newman

### Junior devs
- [Clean Code](https://www.youtube.com/watch?v=0HQT0r4rokk) [PL] `video`
- [Clean Code in PHP](https://github.com/jupeter/clean-code-php) [ENG]

### Interresting
- [Difference between `isset()` and `array_key_exists()` in PHP](https://stackoverflow.com/questions/3210935/difference-between-isset-and-array-key-exists) [ENG]
- [How to append data into PHP array correclty](https://stackoverflow.com/questions/559844/whats-better-to-use-in-php-array-value-or-array-pusharray-value/559859#559859) [ENG]
- [Period against comma in PHP](https://stackoverflow.com/questions/1466408/difference-between-period-and-comma-when-concatenating-with-echo-versus-return) [ENG]
- [PHP rules, good practices, security](https://github.com/dseguy/clearPHP/tree/master/rules) [ENG]
- [List of Big-O for PHP functions](https://stackoverflow.com/questions/2473989/list-of-big-o-for-php-functions/2484455#2484455) [ENG]
- [4 Tricks to boost script performance in PHP](https://dev.to/devmount/4-php-tricks-to-boost-script-performance-ol1) [ENG]

### Version control
- [Semantic versioning](https://semver.org/) [ENG]
- [Successfull git branching](https://nvie.com/posts/a-successful-git-branching-model/) [ENG]
- [Git-Flow Cheatsheet](https://danielkummer.github.io/git-flow-cheatsheet/) [ENG]

### Funny
- [Podlaski git](https://github.com/maciejkorsan/podlaskigit) [PL]
- [Ślůnski git](https://github.com/andrzej3393/slunskigit) [PL]
- [Junior IT Rekruter](https://www.junioritrekruter.pl/)[PL]