Core Languages

Languages I use regularly and am confident shipping production code with

Python

Primary language for data engineering, automation, and backend development. Comfortable with standard library, third-party packages, and writing clean, maintainable code.

Experience with: Pandas, NumPy, Streamlit, file I/O, error handling, object-oriented programming, functional programming patterns.

SQL

Writing queries for data analysis, designing schemas, optimizing performance, and understanding database fundamentals.

Experience with: SELECT queries, JOINs, aggregations, subqueries, indexing, normalization, SQLite for development.

HTML & CSS

Building semantic, accessible web pages with modern CSS techniques. Mobile-first responsive design using Flexbox and Grid.

Experience with: Semantic HTML5, CSS custom properties, responsive layouts, CSS Grid, Flexbox, BEM methodology.

JavaScript

Writing vanilla JavaScript for DOM manipulation, event handling, and adding interactivity to web applications.

Experience with: ES6+ syntax, async/await, fetch API, working with JSON, event listeners, basic DOM manipulation.

Data & Backend Tools

Technologies for building data systems and backend infrastructure

Pandas

Data manipulation and analysis—reading files, cleaning data, filtering, grouping, joining datasets, and transforming data for analysis or storage.

Used extensively in OSC-Coach for real-time filtering and in data pipeline projects for ETL operations.

NumPy

Numerical computing—working with arrays, performing mathematical operations, handling large datasets efficiently.

Currently using in data processing pipelines for numerical transformations and statistical calculations.

SQLite

Lightweight database for development and production use. Schema design, query optimization, handling concurrent access, and data integrity.

Implemented in OSC-Coach for user progress tracking with proper foreign key relationships.

Streamlit

Building interactive data applications with Python. Creating dashboards, handling user input, managing application state.

Used to deploy OSC-Coach as a web application accessible to multiple users simultaneously.

Tools & Workflow

Development tools and practices for professional software engineering

Git & GitHub

Version control, branching strategies, pull requests, code reviews, and collaboration workflows. Managing repositories, writing clear commit messages.

All projects tracked in Git with meaningful commit history. Comfortable with resolving conflicts and managing branches.

VS Code

Primary development environment. Extensions for Python, linting, formatting, debugging, and Git integration.

Configured for efficient workflow with custom shortcuts, integrated terminal, and debugging configurations.

Command Line

Comfortable with terminal workflows—navigating directories, running scripts, managing processes, using pipes and redirects.

Bash/Zsh for automation scripts and development tasks. PowerShell on Windows environments.

Documentation

Writing clear README files, inline comments, API documentation, and technical specifications. Using Markdown for formatting.

Believe documentation is as important as code—it enables collaboration and makes projects maintainable.

Currently Learning

Technologies I'm actively studying and building projects with

API Development

Learning to design and build RESTful APIs with Python. Understanding HTTP methods, status codes, authentication, and API best practices.

Next step: Build a production-ready API for a data service with proper error handling and documentation.

Docker & Containers

Understanding containerization for consistent development and deployment environments. Writing Dockerfiles, managing containers, docker-compose for multi-service applications.

Next step: Containerize existing projects and deploy to cloud platforms.

Cloud Platforms

Exploring AWS and GCP for deploying applications, managing databases, and building cloud-native systems. Learning S3, EC2, Cloud Functions, and managed databases.

Next step: Deploy a full application stack on cloud infrastructure with proper monitoring.

System Design

Studying how to architect scalable, reliable systems. Understanding trade-offs, choosing appropriate data structures, designing for failure, and optimizing performance.

Next step: Design and implement a distributed system handling concurrent requests at scale.

PostgreSQL

Moving from SQLite to production-grade databases. Learning PostgreSQL-specific features, query optimization, indexing strategies, and transaction management.

Next step: Migrate an existing project to PostgreSQL and optimize for production workloads.

Testing & CI/CD

Learning to write unit tests, integration tests, and set up continuous integration pipelines. Understanding testing best practices and automated deployment workflows.

Next step: Add comprehensive test coverage to existing projects and set up automated deployment.

Learning Approach

I learn by building. When I want to understand a technology, I create a project that requires using it. This approach forces me to confront real problems, debug actual errors, and understand trade-offs—knowledge that doesn't come from tutorials alone.

I also study production systems—reading engineering blogs, analyzing open-source codebases, and understanding architectural decisions made by experienced teams. Real-world patterns teach better than contrived examples.

The goal isn't to know every technology superficially. It's to build deep competence in core areas (data engineering, backend systems) while maintaining breadth across the stack. Quality over quantity.

Skill Progression

My roadmap for technical growth

Foundation (Current)

Solid grasp of Python, SQL, data structures, and algorithms. Can build functional applications, process data efficiently, and write maintainable code. Comfortable with Git, command line, and development workflows.

Intermediate (Next 6 months)

Deploy applications to cloud platforms, build and consume APIs, work with Docker containers, implement comprehensive testing, and understand system design patterns. Start contributing to production codebases.

Advanced (12+ months)

Design and implement distributed systems, optimize for scale and reliability, make informed architectural decisions, and mentor others. Build data infrastructure handling millions of records. Contribute meaningfully at companies working at scale.