Skip to Content
Technology & EngineeringSoftware Engineering

Software Engineering

Topics

  • Architecture & Design Patterns
  • Clean Code & Best Practices
  • Backend Development
  • Frontend Development
  • Testing & Quality Assurance
  • Performance Optimization
  • Java String Object
  • Loop Unrolling
  • Thread Local Allocation Buffer (TLAB)
  • DRAM Bank
  • Non Uniform Memory Access Aware Allocator (NUMA)
  • Java Distributed Technologies (RMI, JMX, JMS)
  • Java Synchronizers
  • Thread Starvation Deadlock
  • Beginning Concurrent Marking
  • Brooks-style Indirection Pointer Concurrent Compaction

Architecture Patterns

  • Layered (N-Tier) Architecture
  • Client-Server Architecture
  • Microservices Architecture
  • Event-Driven Architecture
  • Service-Oriented Architecture (SOA)
  • Serverless Architecture
  • Hexagonal Architecture (Ports & Adapters)
  • Clean Architecture
  • Peer-to-Peer Architecture
  • Model-View-Controller (MVC)

Design Patterns

Creational Patterns

  • Singleton
  • Factory Method
  • Abstract Factory
  • Builder
  • Prototype

Structural Patterns

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

Behavioral Patterns

  • Observer
  • Strategy
  • Command
  • Chain of Responsibility
  • State
  • Template Method
  • Mediator
  • Memento
  • Iterator
  • Visitor

Concepts

  • Big Data - Analyzing huge data sources to bring business value with the usage of different technologies
  • ADR - Architectural Decision Records - document that describes architectural decision based on context, options, solutions and consequences

Definition of Done

  • Technical DoD - code, tests
  • Business DoD - readiness for market

Definition of Ready

  • readiness of task to get started

12 Factor App

  1. Codebase
  2. Dependencies
  3. Config
  4. Backing Services
  5. Build, release, run
  6. Processes
  7. Port Binding
  8. Concurrency
  9. Disposability
  10. Dev & Prod Parity
  11. Logs
  12. Admin Processes
Last updated on