Skip to content

Commit

Permalink
added roadmap
Browse files Browse the repository at this point in the history
  • Loading branch information
fabiocicerchia committed Jun 9, 2020
1 parent 8d1ef29 commit 2fc214b
Show file tree
Hide file tree
Showing 23 changed files with 794 additions and 334 deletions.
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ The resources might have a tag `must-learn` because the author considers those a
- [Industry Trends](docs/mixed/TRENDS.md)
- [Mix](docs/mixed/MIXED.md)

## Roadmap

- [Entry](roadmap/ENTRY.md)
- [Intermediate](roadmap/INTERMEDIATE.md)
- [Advanced](roadmap/ADVANCED.md)

## Contribution

Have a look at the [contribution docs](CONTRIBUTING.md) for details.
Expand Down
28 changes: 14 additions & 14 deletions docs/hard-skills/COMMUNICATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

## UI/UX

- [Learn the Basics of Color Theory to Know What Looks Good](https://lifehacker.com/learn-the-basics-of-color-theory-to-know-what-looks-goo-1608972072)
- [How Typography Affects Conversions](https://neilpatel.com/blog/how-typography-affects-conversions/)
- [whocanuse.com](https://whocanuse.com/)
- [Can I use... Support tables for HTML5, CSS3, etc](https://caniuse.com/) `must-learn`
- [UI Testing Best Practices](https://github.com/NoriSte/ui-testing-best-practices)
- [Learn the Basics of Color Theory to Know What Looks Good](https://lifehacker.com/learn-the-basics-of-color-theory-to-know-what-looks-goo-1608972072) `Roadmap:Advanced`
- [How Typography Affects Conversions](https://neilpatel.com/blog/how-typography-affects-conversions/) `Roadmap:Advanced`
- [whocanuse.com](https://whocanuse.com/) `Roadmap:Entry`
- [Can I use... Support tables for HTML5, CSS3, etc](https://caniuse.com/) `Roadmap:Entry` `must-learn`
- [UI Testing Best Practices](https://github.com/NoriSte/ui-testing-best-practices) `Roadmap:Entry`

## Copywriting

Expand All @@ -15,12 +15,12 @@

## SEO

- [34 Ways To Improve SEO Rankings in 2020](https://www.quicksprout.com/ways-to-improve-seo-ranking/)
- [The On-Page SEO Cheat Sheet](https://neilpatel.com/2015/07/07/the-on-page-seo-cheat-sheet/)
- [How to Create a Site Structure That Will Enhance SEO](https://neilpatel.com/blog/site-structure-enhance-seo/)
- [A Breakdown of HTML Usage Across ~8 Million Pages (& What It Means for Modern SEO)](https://moz.com/blog/a-breakdown-of-html-usage-across-8-million-pages) `must-learn`
- [The SEMrush Website Migration Checklist](https://www.semrush.com/blog/website-migration-checklist/)
- [The Complete SEO Checklist For 2020](https://backlinko.com/seo-checklist)
- [The Complete 51-Point SEO Checklist For 2020](https://www.clickminded.com/seo-checklist/)
- [The Ultimate SEO Checklist for 2020](https://www.reliablesoft.net/seo-checklist/)
- [On-Page SEO Checklist for 2020](https://www.gotchseo.com/on-page-seo/)
- [34 Ways To Improve SEO Rankings in 2020](https://www.quicksprout.com/ways-to-improve-seo-ranking/) `Roadmap:Intermediate`
- [The On-Page SEO Cheat Sheet](https://neilpatel.com/2015/07/07/the-on-page-seo-cheat-sheet/) `Roadmap:Advanced`
- [How to Create a Site Structure That Will Enhance SEO](https://neilpatel.com/blog/site-structure-enhance-seo/) `Roadmap:Advanced`
- [A Breakdown of HTML Usage Across ~8 Million Pages (& What It Means for Modern SEO)](https://moz.com/blog/a-breakdown-of-html-usage-across-8-million-pages) `Roadmap:Entry` `must-learn`
- [The SEMrush Website Migration Checklist](https://www.semrush.com/blog/website-migration-checklist/) `Roadmap:Intermediate`
- [The Complete SEO Checklist For 2020](https://backlinko.com/seo-checklist) `Roadmap:Intermediate`
- [The Complete 51-Point SEO Checklist For 2020](https://www.clickminded.com/seo-checklist/) `Roadmap:Intermediate`
- [The Ultimate SEO Checklist for 2020](https://www.reliablesoft.net/seo-checklist/) `Roadmap:Intermediate`
- [On-Page SEO Checklist for 2020](https://www.gotchseo.com/on-page-seo/) `Roadmap:Entry`
12 changes: 6 additions & 6 deletions docs/hard-skills/DATABASES.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Databases

- [A Visual Explanation of SQL Joins](https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/) `must-learn`
- [Normalization of Database](https://www.studytonight.com/dbms/database-normalization.php) `must-learn`
- [A Primer on ACID Transactions: The Basics Every Cloud App Developer Must Know](https://blog.yugabyte.com/a-primer-on-acid-transactions/) `must-learn`
- [Understanding Database Sharding](https://www.digitalocean.com/community/tutorials/understanding-database-sharding)
- [Four Data Sharding Strategies We Analyzed in Building a Distributed SQL Database](https://blog.yugabyte.com/four-data-sharding-strategies-we-analyzed-in-building-a-distributed-sql-database/)
- [Five sharding data models and which is right](https://www.citusdata.com/blog/2017/08/28/five-data-models-for-sharding/)
- [A Visual Explanation of SQL Joins](https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/) `Roadmap:Entry` `must-learn`
- [Normalization of Database](https://www.studytonight.com/dbms/database-normalization.php) `Roadmap:Entry` `must-learn`
- [A Primer on ACID Transactions: The Basics Every Cloud App Developer Must Know](https://blog.yugabyte.com/a-primer-on-acid-transactions/) `Roadmap:Entry` `must-learn`
- [Understanding Database Sharding](https://www.digitalocean.com/community/tutorials/understanding-database-sharding) `Roadmap:Advanced`
- [Four Data Sharding Strategies We Analyzed in Building a Distributed SQL Database](https://blog.yugabyte.com/four-data-sharding-strategies-we-analyzed-in-building-a-distributed-sql-database/) `Roadmap:Advanced`
- [Five sharding data models and which is right](https://www.citusdata.com/blog/2017/08/28/five-data-models-for-sharding/) `Roadmap:Advanced`
102 changes: 51 additions & 51 deletions docs/hard-skills/DESIGN.md
Original file line number Diff line number Diff line change
@@ -1,71 +1,71 @@
# Code Design

- [Microservices](https://martinfowler.com/articles/microservices.html)
- [Clean Code Cheat Sheet](https://www.bbv.ch/images/bbv/pdf/downloads/V2_Clean_Code_V3.pdf) `must-learn`
- [Pragmatic Programming Cheat Sheet](https://cheatography.com/marconlsantos/cheat-sheets/pragmatic-programming/)
- [BeckDesignRules](https://martinfowler.com/bliki/BeckDesignRules.html)
- [Essential XP: Emergent Design](https://ronjeffries.com/xprog/classics/expemergentdesign/)
- VIDEO [Mixed Paradigms: The Method to Madness. Venkat Subramaniam, Agile developer, Inc](https://www.youtube.com/watch?v=QYBRifsWHD0) `must-learn`
- Sander Hoogendoorn: How Thinking Small is Changing Software Development Big Time [Video @ GOTO 2019](https://www.youtube.com/watch?v=YCQMiFF9QXM) | [Slides](https://www.slideshare.net/aahoogendoorn/its-a-small-world-after-all-how-thinking-small-changes-software-big-time)
- Kevlin Henney: Enterprise Programming Tricks For Clean Code [Video](https://www.youtube.com/watch?v=dC9vdQkU-xI) | [Slides](https://www.slideshare.net/Kevlin/clean-coders-hate-what-happens-to-your-code-when-you-use-these-enterprise-programming-tricks-77305014) `must-learn`
- BOOK [Clean Code](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)
- [Microservices](https://martinfowler.com/articles/microservices.html) `Roadmap:Advanced`
- [Clean Code Cheat Sheet](https://www.bbv.ch/images/bbv/pdf/downloads/V2_Clean_Code_V3.pdf) `Roadmap:Entry` `must-learn`
- [Pragmatic Programming Cheat Sheet](https://cheatography.com/marconlsantos/cheat-sheets/pragmatic-programming/) `Roadmap:Entry`
- [BeckDesignRules](https://martinfowler.com/bliki/BeckDesignRules.html) `Roadmap:Entry`
- [Essential XP: Emergent Design](https://ronjeffries.com/xprog/classics/expemergentdesign/) `Roadmap:Intermediate`
- VIDEO [Mixed Paradigms: The Method to Madness. Venkat Subramaniam, Agile developer, Inc](https://www.youtube.com/watch?v=QYBRifsWHD0) `Roadmap:Entry` `must-learn`
- Sander Hoogendoorn: How Thinking Small is Changing Software Development Big Time [Video @ GOTO 2019](https://www.youtube.com/watch?v=YCQMiFF9QXM) | [Slides](https://www.slideshare.net/aahoogendoorn/its-a-small-world-after-all-how-thinking-small-changes-software-big-time) `Roadmap:Entry`
- Kevlin Henney: Enterprise Programming Tricks For Clean Code [Video](https://www.youtube.com/watch?v=dC9vdQkU-xI) | [Slides](https://www.slideshare.net/Kevlin/clean-coders-hate-what-happens-to-your-code-when-you-use-these-enterprise-programming-tricks-77305014) `Roadmap:Entry` `must-learn`
- BOOK [Clean Code](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882) `Roadmap:Entry`

## OOP

- [Seven Virtues of a Good Object](https://www.yegor256.com/2014/11/20/seven-virtues-of-good-object.html)
- [Getters/Setters. Evil. Period.](https://www.yegor256.com/2014/09/16/getters-and-setters-are-evil.html) `must-learn`
- [Objects Should Be Immutable](https://www.yegor256.com/2014/06/09/objects-should-be-immutable.html)
- [Why NULL is Bad?](https://www.yegor256.com/2014/05/13/why-null-is-bad.html)
- [SOLID, GRASP, and Other Basic Principles of Object-Oriented Design](https://dzone.com/articles/solid-grasp-and-other-basic-principles-of-object-o) `must-learn`
- [DDD Reference](https://domainlanguage.com/ddd/reference/)
- [Design Patterns](https://sourcemaking.com/design_patterns) `must-learn`
- [DESIGN PATTERNS](https://refactoring.guru/design-patterns) `must-learn`
- [High Cohesion, Loose Coupling](https://thebojan.ninja/2015/04/08/high-cohesion-loose-coupling/)
- [Summary of a four days DDD training](https://medium.com/@t.ferro184/summary-of-a-four-days-ddd-training-74103a6d99a1)
- [Design Patterns for Humans!](https://github.com/kamranahmedse/design-patterns-for-humans)
- [Object Calisthenics](https://williamdurand.fr/2013/06/03/object-calisthenics/) `must-learn`
- Pim Elshoff: Technically DDD [Video @ DPC2018](https://www.youtube.com/watch?v=JpcNeeetijo) | [Slides](https://speakerdeck.com/pelshoff/technically-ddd-v3)
- VIDEO [GOTO 2017 • The Many Meanings of Event-Driven Architecture • Martin Fowler](https://www.youtube.com/watch?v=STKCRSUsyP0) `must-learn`
- BOOK [Design Patterns](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612)
- BOOK [Domain-Driven Design: Tackling Complexity in the Heart of Software](https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215)
- BOOK [The Anatomy Of Domain-Driven Design - Booklet](https://leanpub.com/theanatomyofdomain-drivendesign)
- [Seven Virtues of a Good Object](https://www.yegor256.com/2014/11/20/seven-virtues-of-good-object.html) `Roadmap:Entry`
- [Getters/Setters. Evil. Period.](https://www.yegor256.com/2014/09/16/getters-and-setters-are-evil.html) `Roadmap:Entry` `must-learn`
- [Objects Should Be Immutable](https://www.yegor256.com/2014/06/09/objects-should-be-immutable.html) `Roadmap:Entry`
- [Why NULL is Bad?](https://www.yegor256.com/2014/05/13/why-null-is-bad.html) `Roadmap:Entry`
- [SOLID, GRASP, and Other Basic Principles of Object-Oriented Design](https://dzone.com/articles/solid-grasp-and-other-basic-principles-of-object-o) `Roadmap:Entry` `must-learn`
- [DDD Reference](https://domainlanguage.com/product/domain-driven-design-reference/) `Roadmap:Intermediate`
- [Design Patterns](https://sourcemaking.com/design_patterns) `Roadmap:Entry` `must-learn`
- [DESIGN PATTERNS](https://refactoring.guru/design-patterns) `Roadmap:Entry` `must-learn`
- [High Cohesion, Loose Coupling](https://thebojan.ninja/2015/04/08/high-cohesion-loose-coupling/) `Roadmap:Intermediate`
- [Summary of a four days DDD training](https://medium.com/@t.ferro184/summary-of-a-four-days-ddd-training-74103a6d99a1) `Roadmap:Intermediate`
- [Design Patterns for Humans!](https://github.com/kamranahmedse/design-patterns-for-humans) `Roadmap:Entry`
- [Object Calisthenics](https://williamdurand.fr/2013/06/03/object-calisthenics/) `Roadmap:Entry` `must-learn`
- Pim Elshoff: Technically DDD [Video @ DPC2018](https://www.youtube.com/watch?v=JpcNeeetijo) | [Slides](https://speakerdeck.com/pelshoff/technically-ddd-v3) `Roadmap:Intermediate`
- VIDEO [GOTO 2017 • The Many Meanings of Event-Driven Architecture • Martin Fowler](https://www.youtube.com/watch?v=STKCRSUsyP0) `Roadmap:Advanced` `must-learn`
- BOOK [Design Patterns](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612) `Roadmap:Entry`
- BOOK [Domain-Driven Design: Tackling Complexity in the Heart of Software](https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215) `Roadmap:Intermediate`
- BOOK [The Anatomy Of Domain-Driven Design - Booklet](https://leanpub.com/theanatomyofdomain-drivendesign) `Roadmap:Intermediate`

## Functional

- [Don't Be Scared Of Functional Programming](https://www.smashingmagazine.com/2014/07/dont-be-scared-of-functional-programming/)
- [So You Want to be a Functional Programmer (Part 1)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536)
- [So You Want to be a Functional Programmer (Part 2)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-2-7005682cec4a)
- [So You Want to be a Functional Programmer (Part 3)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-3-1b0fd14eb1a7)
- [So You Want to be a Functional Programmer (Part 4)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-4-18fbe3ea9e49)
- [So You Want to be a Functional Programmer (Part 5)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-5-c70adc9cf56a)
- [So You Want to be a Functional Programmer (Part 6)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-6-db502830403)
- [Benefits of Functional Programming by Example](https://medium.com/@nickmccurdy/benefits-of-functional-programming-by-example-76f1135b0b18)
- [Don't Be Scared Of Functional Programming](https://www.smashingmagazine.com/2014/07/dont-be-scared-of-functional-programming/) `Roadmap:Intermediate`
- [So You Want to be a Functional Programmer (Part 1)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536) `Roadmap:Intermediate`
- [So You Want to be a Functional Programmer (Part 2)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-2-7005682cec4a) `Roadmap:Intermediate`
- [So You Want to be a Functional Programmer (Part 3)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-3-1b0fd14eb1a7) `Roadmap:Intermediate`
- [So You Want to be a Functional Programmer (Part 4)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-4-18fbe3ea9e49) `Roadmap:Intermediate`
- [So You Want to be a Functional Programmer (Part 5)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-5-c70adc9cf56a) `Roadmap:Intermediate`
- [So You Want to be a Functional Programmer (Part 6)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-6-db502830403) `Roadmap:Intermediate`
- [Benefits of Functional Programming by Example](https://medium.com/@nickmccurdy/benefits-of-functional-programming-by-example-76f1135b0b18) `Roadmap:Intermediate`

## Algorithms

- [IDEA – nonverbal algorithm assembly instructions](https://idea-instructions.com/)
- [Algorithms](https://www.geeksforgeeks.org/fundamentals-of-algorithms/)
- [Algorithms {fundamental techniques}](https://en.wikibooks.org/wiki/Algorithms)
- Joshua Thijssen: Paradoxes and theorems every developer should know [Video @ DPC2017](https://www.youtube.com/watch?v=JBUIIQnVfBQ) | [Slides](https://speakerdeck.com/jaytaph/paradoxes-and-theorems-every-developer-should-know-3) `must-learn`
- BOOK [Algorithms in a Nutshell](https://www.amazon.com/Algorithms-Nutshell-Desktop-Quick-Reference/dp/1491948922)
- [IDEA – nonverbal algorithm assembly instructions](https://idea-instructions.com/) `Roadmap:Entry`
- [Algorithms](https://www.geeksforgeeks.org/fundamentals-of-algorithms/) `Roadmap:Entry`
- [Algorithms {fundamental techniques}](https://en.wikibooks.org/wiki/Algorithms) `Roadmap:Entry`
- Joshua Thijssen: Paradoxes and theorems every developer should know [Video @ DPC2017](https://www.youtube.com/watch?v=JBUIIQnVfBQ) | [Slides](https://speakerdeck.com/jaytaph/paradoxes-and-theorems-every-developer-should-know-3) `Roadmap:Entry` `must-learn`
- BOOK [Algorithms in a Nutshell](https://www.amazon.com/Algorithms-Nutshell-Desktop-Quick-Reference/dp/1491948922) `Roadmap:Entry`

## Refactoring

- [Refactoring](https://sourcemaking.com/refactoring)
- BOOK [Refactoring](https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0134757599) `must-learn`
- BOOK [Refactoring to Patterns](https://www.amazon.com/Refactoring-Patterns-Joshua-Kerievsky/dp/0321213351)
- [Refactoring](https://sourcemaking.com/refactoring) `Roadmap:Intermediate`
- BOOK [Refactoring](https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0134757599) `Roadmap:Intermediate` `must-learn`
- BOOK [Refactoring to Patterns](https://www.amazon.com/Refactoring-Patterns-Joshua-Kerievsky/dp/0321213351) `Roadmap:Intermediate`

## Antipatterns

- [9 Anti-Patterns Every Programmer Should Be Aware Of](https://sahandsaba.com/nine-anti-patterns-every-programmer-should-be-aware-of-with-examples.html)
- [Seven Microservices Anti-patterns](https://www.infoq.com/articles/seven-uservices-antipatterns/)
- [AntiPatterns](https://sourcemaking.com/antipatterns)
- [9 Anti-Patterns Every Programmer Should Be Aware Of](https://sahandsaba.com/nine-anti-patterns-every-programmer-should-be-aware-of-with-examples.html) `Roadmap:Intermediate`
- [Seven Microservices Anti-patterns](https://www.infoq.com/articles/seven-uservices-antipatterns/) `Roadmap:Advanced`
- [AntiPatterns](https://sourcemaking.com/antipatterns) `Roadmap:Intermediate`

## Testing

- [Mocks Aren't Stubs](https://martinfowler.com/articles/mocksArentStubs.html)
- [Introduction to Test Driven Development (TDD)](http://agiledata.org/essays/tdd.html) `must`
- [The beginner's guide to BDD (behaviour-driven development)](https://inviqa.com/blog/bdd-guide) `must`
- [Types Of Software Testing: Different Testing Types With Details](https://www.softwaretestinghelp.com/types-of-software-testing/)
- [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html) `must`
- BOOK [Test Driven Development: By Example](https://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530)
- [Mocks Aren't Stubs](https://martinfowler.com/articles/mocksArentStubs.html) `Roadmap:Intermediate`
- [Introduction to Test Driven Development (TDD)](http://agiledata.org/essays/tdd.html) `Roadmap:Entry` `must`
- [The beginner's guide to BDD (behaviour-driven development)](https://inviqa.com/blog/bdd-guide) `Roadmap:Intermediate` `must`
- [Types Of Software Testing: Different Testing Types With Details](https://www.softwaretestinghelp.com/types-of-software-testing/) `Roadmap:Entry`
- [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html) `Roadmap:Entry` `must`
- BOOK [Test Driven Development: By Example](https://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530) `Roadmap:Entry`
Loading

0 comments on commit 2fc214b

Please sign in to comment.