Handbook:
  - Development:
    - Development Environment and Tools:
      - Environment Setup:
        - Vagrant and VirtualBox
      - Automation Scripts @stop
      - Common File Formats @stop:
        - YAML
        - JSON
        - Markdown
        - XML
      - Time Management @stop
      - Editors @stop:
        - Sublime
        - Atom
      - IDEs @stop:
        - Visual Studio
        - MonoDevelop
        - Eclipse
        - IntelliJ
        - NetBeans
      - Diff and Merge Tools @stop:
        - DiffMerge
        - WinMerge
      - Linux skillset @stop
      - Developing with Docker @stop:
        - Docker concepts
        - Docker Compose
      - Choosing the right language @stop
    - Code Development Lifecycle:
      - Documenting @stop:
        - Principles and Frameworks
        - Lightweight Markup Languages
        - Mind Mapping Tools
      - Version Control:
        - Tools @stop
        - Git
        - SVN @stop
        - TFS @stop
        - CVS @stop
        - Perforce @stop
        - How to write commit messages and release notes @stop
      - Testing:
        - Unit Test @stop
        - Property Based Testing
        - Integration and System Test @stop
        - Performance and Memory check (Big O) @stop
        - Test Code Coverage check @stop
        - Load and stress tests @stop
        - Static Analysis:
          - Code Duplication Analysis
          - Spell Check
        - Effective Peer Code Review @stop
        - Root cause analysis @stop
        - Effective problem solving - Debugging Mindset @stop
      - Continuous Integration (CI) @stop:
        - TravisCI
        - CircleCI
        - Jenkins
      - Testing with Docker @stop
    - Software Development Processes @stop
  - Production:
    - Deployment Management:
      - Virtualization @stop
      - Containerization:
        - Deploying with Docker
        - Docker orchestration @stop
      - Automation @stop:
        - Ansible
        - Puppet
        - Chef
        - Terraform
      - Build Servers @stop:
        - Jenkins
      - Deployment workflows @stop:
        - Using a staging environment
        - Green-Blue deployments
      - Production tests (Acceptance-Smoke-Sanity) @stop
      - Continuous Deployment-Delivery (CD) @stop
    - DevOps @stop:
      - Building a solid infrastructure (monitoring, alerting, logging)
      - High Availability
      - Auto Scaling
    - NOC (Network Operation Center) @stop
  - Coding:
    - Code Quality:
      - Technical Debt
      - General Coding Best Practices:
        - Avoiding Side-Effects
      - Optimization and Refactoring:
        - Continuous Improvements
      - Clean Code and Code Smells:
        - General Overview @stop
        - Common Smells - Patterns and Remedies @stop
        - Clean Design
      - Software quality metrics @stop
    - Development Models:
      - Test First Approaches:
        - Principles @stop
        - Hands on practices @stop
        - Supporting Frameworks @stop
        - Test Driven Development (TDD) @id=test-driven-development
      - Code Composition @stop:
        - Principles
        - IoC, DIP, DI:
          - Frameworks:
            - MEF
            - Unity
        - Composite Applications:
          - Principles (Vertical Concerns)
          - Frameworks:
            - Microsoft PRISM
      - Domain Specific Language (DSL) Based Development Model @stop:
        - Internal vs External DSL
        - Externalization of code
        - Supporting Frameworks
      - Defensive Programming @stop
    - Design patterns @stop
    - Programming Languages:
      - Python Tips
      - Polyglotism @stop:
        - Side-by-side languages clusters syntax comparisons
    - Regular Expressions - Syntax, Patterns and Tools
    - Anonymous methods and lambda expressions @stop
    - Developing an Interpreter @stop
    - Frameworks and Libraries @stop
    - Ecosystem-Community-Open Source:
      - Repository Hosting Services:
        - GitHub
        - GitLab
        - BitBucket @stop
      - How to choose an open source license @stop
    - Common Standards @stop:
      - Coding style standards
      - Medical Domain Specific Standards:
        - DICOM
        - HLStandards
    - Web Development @stop:
      - Web Development Toolkits:
        - UI Toolkit:
          - Bootstrap
          - Foundation
          - Kendo UI
          - Material UI
        - UI Frameworks:
          - Angular
          - React
          - Vue
        - Testing Libraries:
          - Mocha.js
          - Jasmine
          - QUnit
        - Validators:
          - W3C website Validator
    - Security @stop
    - Databases @stop
    - Cryptography
  - Soft Skills (The Human Factor) @stop:
    - How to effectively interact with other people
    - Difficult Conversations
    - Effective Communications with Teams
    - Effective Communications with Managers
    - Global Cultural Differences
    - Influencing without being judgmental
    - How to interview (skill testing):
      - TestDome.com
  - Video Series
