Object-Oriented Programming
Organizing code around objects that bundle data and behavior.
Backend Engineer
Junior
Write correct code, ship small changes safely, ask good questions.
- ClassA blueprint for creating objects.
- AbstractionExposing what something does while hiding how it does it.
- Access Modifierspublic, private and protected: who may see a member.
- ConstructorThe method that initializes a new object.
- Field / PropertyA piece of data stored on an object.
- InheritanceA class reusing and extending another class.
- MethodA function that belongs to an object or class.
- ObjectAn instance of a class holding its own state.
- EncapsulationHiding internal state behind a public interface.
- Getters and SettersMethods controlling access to a field.
- Method OverridingA subclass replacing a parent class's method.
- Object-Oriented ProgrammingOrganizing code around objects that bundle data and behavior.
- Static MemberA field or method that belongs to the class rather than an instance.
- this / selfThe reference to the current object inside a method.
- PolymorphismOne interface with many implementations chosen at runtime.
- Method OverloadingSeveral methods with the same name but different parameters.
Mid-level
Own a feature end to end without hand-holding.
Core: start here
- Composition over InheritanceBuilding behavior by combining objects instead of deep class hierarchies.
4 more mid-level concepts
- Special MethodsMethods the language calls implicitly, like __eq__ or toString.
- Abstract ClassA class that can't be instantiated and leaves some methods to subclasses.
- Mixin / TraitReusable behavior added to classes without inheritance.
- InterfaceA contract of methods a type promises to implement.
Data Engineer
Junior
Build and fix pipelines from clear specs; write correct SQL.
- ClassA blueprint for creating objects.
- AbstractionExposing what something does while hiding how it does it.
- Access Modifierspublic, private and protected: who may see a member.
- ConstructorThe method that initializes a new object.
- Field / PropertyA piece of data stored on an object.
- InheritanceA class reusing and extending another class.
- MethodA function that belongs to an object or class.
- ObjectAn instance of a class holding its own state.
- EncapsulationHiding internal state behind a public interface.
- Getters and SettersMethods controlling access to a field.
- Method OverridingA subclass replacing a parent class's method.
- Object-Oriented ProgrammingOrganizing code around objects that bundle data and behavior.
- Static MemberA field or method that belongs to the class rather than an instance.
- this / selfThe reference to the current object inside a method.
- PolymorphismOne interface with many implementations chosen at runtime.
- Method OverloadingSeveral methods with the same name but different parameters.
Mid-level
Own pipelines and models end to end, including their quality.
- Special MethodsMethods the language calls implicitly, like __eq__ or toString.
- Abstract ClassA class that can't be instantiated and leaves some methods to subclasses.
- Mixin / TraitReusable behavior added to classes without inheritance.
- InterfaceA contract of methods a type promises to implement.
- Composition over InheritanceBuilding behavior by combining objects instead of deep class hierarchies.
Frontend Engineer
Junior
Build UI that works, ship small changes safely, ask good questions.
- ClassA blueprint for creating objects.
- AbstractionExposing what something does while hiding how it does it.
- Access Modifierspublic, private and protected: who may see a member.
- ConstructorThe method that initializes a new object.
- Field / PropertyA piece of data stored on an object.
- InheritanceA class reusing and extending another class.
- MethodA function that belongs to an object or class.
- ObjectAn instance of a class holding its own state.
- EncapsulationHiding internal state behind a public interface.
- Getters and SettersMethods controlling access to a field.
- Method OverridingA subclass replacing a parent class's method.
- Object-Oriented ProgrammingOrganizing code around objects that bundle data and behavior.
- Static MemberA field or method that belongs to the class rather than an instance.
- this / selfThe reference to the current object inside a method.
- PolymorphismOne interface with many implementations chosen at runtime.
Mid-level
Own a feature end to end without hand-holding.
- Method OverloadingSeveral methods with the same name but different parameters.
- Abstract ClassA class that can't be instantiated and leaves some methods to subclasses.
- Mixin / TraitReusable behavior added to classes without inheritance.
- Prototypal InheritanceJavaScript's model where objects inherit directly from other objects.
- InterfaceA contract of methods a type promises to implement.
- Composition over InheritanceBuilding behavior by combining objects instead of deep class hierarchies.