- Introduction
 - Architecture
 - Ruby on Rails Architecture
 - Node.js Architecture
 - Front-end Architecture
 - iOS Architecture
 - Android Architecture
 - React Native Architecture
 - Django Architecture
 - Real-Time Architecture
 - Design Principles
 - Design Patterns
 - Refactoring
 - Code Style
 - Ruby Code Style
 - Python Code Style
 - JavaScript Code Style
 - SCSS Code Style
 - iOS Code Style
 - Testing
 - Ruby on Rails Testing
 - Django Testing
 - Node.js Testing
 - React and React Native Testing
 - iOS Testing
 - Manual Testing
 - Managing Dependencies
 - Ruby Dependencies
 - Python Dependencies
 - JavaScript Dependencies
 - iOS Dependencies
 - Android Dependencies
 - Data Layer
 - API
 - Internationalization
 - Security
 - Technologies Research
 - UI Design
 - Node.js Libraries
 - Team Roles
 - Systems Engineer Role
 - Lead Developer Role
 - Developer Role
 - Tester Role
 - Client Developer Communication
 - Error tracking
 
Testing
General rules
- Don’t use offensive language in testing data.
 - Always consider data loading speed - having too many objects will slow down test suite.
 - Prefer to use real models instead of mocks to have more real-life test cases.
 
Tips
- When you can’t find cause for an issue and you know a commit when code worked, try using git bisect to identify bad commit.
 
