The software I use to bring my ideas to life.
One of my favorite ways to share my ideas is through code. Similar to how artists turn to their paintbrush during a moment of inspiration, I turn to my keyboard. Please enjoy this short journey through the tools that enable me to creatively express myself in this day and age.
Cloud Providers
Google Cloud Platform (GCP)
The best cloud provider for AI/ML products, K8 containerization, and startups using Firebase.
Amazon Web Services (AWS)
The most reliable & complete cloud experience with 200+ products, albeit not the fastest.
Microsoft Azure
A friendlier interface to AWS, but only better at integrating wtih Microsoft products.
Heroku
The simplest container-based cloud deployment platform for small projects or startups.
Data Engineering
MySQL
A popular relational database management system (RDBMS) using SQL under the hood.
PostgreSQL
An object-relational alternative to MySQL better suited for larger datasets, and write-heavy apps.
MongoDB
A NoSQL database alternative offering an elastic data storage model for read-heavy apps.
Hadoop
Processes and stores big data using MapReduce, a parallel and distributed programming algorithm.
Snowflake
A useful SaaS platform for managing data lakes, data warehouses, data engineering, and more.
Kafka
A scalable, high-throughput event streaming platform that can connect to virtually any data.
Spark
A real-time data processing alternative to Hadoop with lower latency and an interactive data mode.
Beam
A unified model for defining data pipelines that can run anywhere e.g. Spark, Dataflow, Flink.
Tableau
An excellent data visualization and BI tool for reporting and analyzing vast amounts of data.
Power BI
A simpler-to-use but less powerful alternative to Tableau for generating basic data visualizations.
Backend Stack
Node
A backend JS runtime environment primarily deployed for non-blocking, event-driven tasks.
Python
My favorite language, providing a beautiful syntax for data analysis, web scraping, and prototyping.
Cython
A faster superset of Python, supporting functions in C. The founder used to manage me at Google.
Java
Probably the most popular object-oriented programming language used by companies today.
C++
A blazing fast language that does not garbage collect. The syntax takes time to master.
C#
A higher-level language than C++ that can commonly be found in desktop apps.
Frontend Frameworks
React.js
My favorite library for building user interfaces, relying on the virtual DOM for speed.
Next.js
Delivers a highly-performant browser experience through SSR, typically deployed by Vercel.
Gatsby
An alternative to Next, delivering a fast webpage experience through static-site generation.
Angular
An opinionated frontend framework that enhances the dev experience through two-way data binding.
Frontend Data Management
GraphQL
A highly extensible query language for your APIs, only delivering the data you request.
Redux
A centralized state management solution that provides one-way data flow to React components.
Redux Saga
A popular middleware solution for handling asynchronous side effects in reducers.
MobX
A less popular alternative to Redux that can commonly be found in legacy enterprise code.
Frontend Design
Figma
An intuitive design tool for cross-functionally collaborating on product mocks.
Material UI
The most popular React component library that adheres to Material Design standards.
Tailwind CSS
A utility-first CSS framework that can build any design, directly from your HTML markup.
Bootstrap
The most popular general-purpose styling library used in websites today.
Test-Driven Development
Jest
The most popular unit-testing framework for JavaScript applications.
Storybook
A popular integration test framework for simulating React components in isolation.
JUnit
A popular unit testing framework for Java codebases. Selenium is better in some cases.
PyTest
A unit testing framework for Python codebases that is easy to set up and get started with.
Application Development
Docker
Offers isolated container runtimes to provide a consistent experience across platforms.
Kubernetes
The best platform for scaling and managing containerized applications. Developed by Google.
GitLab
My preferred platform for managing VCS, CI/CD, issue tracking, code review, and more.
GitHub
The most popular cloud-based VCS. Especially useful for hosting open-source projects.
IDEs
Visual Studio Code
Currently, my favorite IDE for web development.
Visual Studio for C++
I use this when writing computation-heavy code.
WebStorm
Also useful for web development, but not free.
PyCharm
Currently, I use this mostly to write web-scrapers.
Android Studio
A full-fledged IDE for Android App development.
Xcode
Not the biggest fan, but it's required for iOS dev :/.