Skip to content

Latest commit

 

History

History
535 lines (267 loc) · 8.96 KB

roadmap.md

File metadata and controls

535 lines (267 loc) · 8.96 KB

Ruby Software Engineer

Computer Science

Architecture knowledge

Microservices

Domain-Driven Design

SOLID

Design Patterns

Event Sourcing

Object-Oriented Programming

Encapsulation
Inheritance
Polymorphism

Functional Programming

Distributed Systems

Code Standards and Code Review Process

Algorithms and data structures

Analysis

Data Structures

Lists
Stacks
Queues
Trees
Heaps
Graphs

Algorithms

Sorting algoritms
Reasearch algoritms

Systems Programming

Artificial Intelligence and Machine Learning

Hardware

Security and Encryption

Blockchain and Cryptocurrency

Databases

SQL

Indexes

Transactions

Principles

Relational

Multiversion Concurrency Control

Firebird
PostgreSQL
Oracle
MySQL

Blocking

MySQL

ACID

Object-oriented

NOSQL

CAP Theorem

BASE

Graph database

OrientDB
Neo4j

Document base

MongoDB

Column base

Redis
ClickHouse

Wide column base

Time series

Search Engines

Elasticseaerch

Sphinx

Message Broker

Kafka

RabbitMQ

Amazon Simple Queue Service

Computer Network

Open Systems Interconnection model

gRPC

REST API

GraphQL

SOAP

DNS

Protocols

IP

TCP

UDP

HTTP

TLS

SSL

Websocket

Authorization and Authentication

Authorization

Authentication

OAuth

JWT

Cookie

Operating System

Types

Batch

Time-Sharing

Distributed

Network

Real-Time

Processes and Threads

Threads

Scheduling

Multi-Threading

Memory Management

Virtual Memory

Virtual Memory

File system

I/O

Virtualization

OS-level Virtualisation

Docker

x86 Virtualization

VirtualBox
VMware

Command Language

Bash

Zsh

Software Development Processes

Testing

Test-driven development

Behavior-driven development

Build Systems

Make

Maven

Ant

Gradle

Bug tracking systems

Jira

Redmine

TFS

Version Control

Git

Deployment

Continuous Integration

Continuous Delivery

Estimations

Planning Poker

Debugging

Troubleshooting

Logging

Monitoring

Orchestration

Ansible

Puppet

Kubernetes

Management

Methodologies and Frameworks

SCRUM
Kanban
Extreme Programming
The Twelve-Factor App

Paradigms and Models

Agile
Waterfall

Time Management

Pareto analysis
Getting Things Done
Pomodoro

Ruby

Datatypes and Objects

Numbers

Text

Arrays

Hashes

Ranges

Symbols

Boolean and Nil

Objects

Expressions and Operators

Literals and Keyword Literals

Variable References

Constant References

Method Invocations

Assigments

Operators

Statements and Control Structures

Conditionals

Loops

Iterators and Enumerable Objects

Blocks

Altering Control Flow

Exceptions and Exception Handling

BEGIN and END

Threads, Fibers, and Continuations

Metods, Procs, Lambdas, and Closures

Defining Simple Methods

Methods

Procs and Lambdas

Closures

Method Objects

Functional Programming

Classes and Modules

Method Visibility

Subclassing and Inheritance

Object Creation and Initialization

Modules

Loading and Requiring Modules

Singleton Methods and the Eigenclass

Method Lookup

Constant Lookup

Reflection and Metaprogramming

Types, Classes and Modules

Evaluating Strings and Blocks

Variables and Constants

Methods and Parentheses

Hooks

Tracing

ObjectSpace and GC

Custom Control Structures

Missing Methods and Missing Constants

Dynamically Creating Methods

Alias Chaining

Domain-Specific Languages

The Ruby Platform

Strings

Regular Expressions

Numbers and Math

Dates and Times

Colleactions

Files and Directories

Inpit/Output

Networking

Threads and Concurrency / Parralellism in Ruby

Rails

Models

Views

Controllers

Components