Self-Taught Learning Journey

Early 2000s

Visual Scripting & Game Development Foundations

Game logic, event-driven programming, game development fundamentals

Began software development journey experimenting with visual scripting tools like Game Maker and Warcraft 3 Editor. Learned basic logic, event-driven programming, and game development fundamentals through hands-on experimentation.

  • Game Maker: Visual scripting, sprite management, game loops
  • Warcraft 3 Editor: Custom maps, triggers, event systems
  • Foundation in logic and problem-solving
gamemaker warcraft3
2005-2006

Object-Oriented Programming & Algorithmics

OOP principles, data structures, algorithms, desktop development

Transitioned to Visual Studio, starting with Visual Basic 6 and advancing to C#. Deep dive into object-oriented programming, algorithmics, and data structures using C for low-level programming understanding.

  • Visual Basic 6: Windows Forms, event-driven desktop apps
  • C#/.NET: Object-oriented design, desktop applications
  • Algorithmics & Data Structures in C: Arrays, linked lists, trees, sorting algorithms
  • OOP fundamentals: Classes, inheritance, polymorphism, encapsulation
vb6 visualbasic csharp dotnet c visualstudio
2006

Linux, Open Source & Command-Line Mastery

Unix systems, open-source development, build tools, shell scripting

Switched from Visual Studio to GCC on Linux, opening up the world of open-source development. Immersed in Linux distributions, package management, kernel configurations, and command-line proficiency.

  • Linux ecosystem: Multiple distributions, package managers
  • GCC toolchain: Compilation, linking, debugging
  • Make: Build automation and dependency management
  • Bash scripting: Automation, system administration
  • Unix philosophy: Small, composable tools
linux gcc make bash unix
2006-2007

GUI Development & Advanced C++

Cross-platform GUI development, design patterns, modular architecture

Developed solid understanding of C++ and Qt framework. Focused on object-oriented programming, design patterns, and modular architecture with emphasis on clean, efficient, reusable code.

  • Qt Framework: Cross-platform GUI development
  • C++ OOP: Templates, STL, memory management
  • Design Patterns: Singleton, Factory, Observer
  • CMake: Build configuration and cross-platform compilation
cpp qt cmake
2007-2009

Python & Scripting Automation

Dynamic programming, scripting, automation, rapid prototyping

Wrote numerous scripts in Python (Python 2), exploring dynamic programming, automation, and rapid prototyping. Applied Python for system automation and data processing tasks.

  • Python scripting: Automation, file processing, system tasks
  • Dynamic typing: Rapid development and prototyping
  • Standard library: OS interaction, file handling, networking
python python2
2009-2010

Ruby & Open Source Contribution

Ruby language, open-source collaboration, game engine internals

Learned Ruby and participated in open-source community. Contributed to discussions around SuperTuxKart (C++ game engine), gaining exposure to advanced concepts: physics engines, rendering pipelines, and networking.

  • Ruby: Elegant syntax, metaprogramming, blocks/iterators
  • Open Source: Community collaboration, code review, version control
  • SuperTuxKart participation: Physics engines, 3D rendering, network protocols
  • Advanced C++: Game engine architecture, performance optimization
ruby cpp git

Hobbies

Open Source Contribution

Contributing to open-source projects, participating in community discussions, and exploring emerging technologies

Music & Multi-Instrumental Practice

Multi-instrumentalist with focus on traditional and classical instruments, tuning systems, and musical theory

System Architecture & Design Patterns

Exploring scalable architectures, design patterns, performance optimization, and software craftsmanship

Developer Tooling

Custom workflow optimization, automation scripts, and productivity tool development

Technical Interests

  • Software Architecture & Design Patterns
  • Performance Optimization & Scalability
  • Open Source Software & Community
  • Linux & Unix Systems Administration
  • Developer Experience & Tooling
  • Database Design & Query Optimization
  • API Design & RESTful Architecture
  • Containerization & Infrastructure as Code