hminhit / study-path

An organized learning path about Clean Code, Test-Driven Development, Legacy Code, Refactoring, Domain-Driven Design and Microservice Architecture

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This study path is released under the CC BY-SA 4.0 license

Getting Started

Session 1: SOLID and Clean Code

Session 2: Test-Driven Development

Session 3: Refactoring

Session 4: Working with Legacy Code

Session 5: TDD and "Friends"

Session 6: Practice with a new Programming Language

Principles and Practices are not dependent on any particular programming language, rather they act as support or enabler to learn and get comfortable with programming languages and tools we never used before.

Now that you have learned something about the good principles and practices of software development, try to grab a new programming language which you never used before and try to repeat some of the Code Katas you already have done previously:

If you are looking for more Code Katas to learn and practice with your new programming language, try to give a look at Kata-Log.

Session 7: Deploy your application

  • Read The Twelve-Factor App before you start
  • Write an example application
  • Publish the code on a GitHub repository
  • Organize your work in User Stories (e.g. Trello)
  • Setup a development environment (e.g. Vagrant/Ansible)
  • Setup a CI environment (e.g. Travis)
  • Deploy your application (e.g. Heroku)
  • Test the deployed application
  • Continuous Delivery
  • Describe your Continuous Delivery process (Can it be improved ? How ?)

Session 8: Domain-Driven Design

Session 9: Microservice Architecture

Session 10: Further topics

Recommended Readings

In this section I will provide a list of recommended books readings that have not been mentioned directly in this study path, but of significant importance.

About

An organized learning path about Clean Code, Test-Driven Development, Legacy Code, Refactoring, Domain-Driven Design and Microservice Architecture