Technical knowledge and skills
Everything that I've learned by either teaching myself, through coursework, or my job.
1) Orange progress bars denotes a skill that I just began learning.
2) Solid gold stars denotes a skill that is my personal favorite.
3) Outlined gold stars denotes a skill that was my favorite but has been replaced by an alternate skill for whatever reason.
Certifications
C)ISSO: Certified Information Systems Security Officer
Earned by passing Mile2's C)ISSO Certification Exam, which also served as the final exam for my CSC 5272 Principles of Cyber Security course.
Certificate Code: 23068-168-262-9086 April 2023 - April 2026
Languages
Any kind of language used in software engineering or development
Ruby 3
Completely spoiled me as a software engineer and programmer.
100%Python 3
Python is an incredible language overall but I can never stop raving about how powerful and elegant list comprehensions are in the language!
100%Elixir 1.7
The language with the most game-changing potential and powered by a wonderful community.
90%JavaScript
Lately, the transition to sending HTML over the wire (i.e., HotwireHotwire, LiveView, etc.) has drastically reduced the need for me to work directly with JavaScript.
70%C
Used primarily for my Operating Systems course.
85%C++
Dived in deep for several courses: Parallel Computing I: Programming, Computer Graphics I, Computer Science I & II, Problem Solving and Programming, and from teaching myself Unreal Engine 5.
90%Go
Built my initial personal website in Go using Hugo, but then transitioned to Next.js, and the learning came to a grinding halt. Nevertheless, I' always on the lookout for a new project that will push me to learn this language
70%Rust
After hearing numerous success stories (ex. InfluxDB's performance gains after transitioning from Go to Rust), I spent some time learning the basics of the language. Moreover, it's always refreshing to work with functional programming!
55%Java
55%C#
A great language that I always prioritzie to learn, but just cannot get around to despite using it for a year when I took Game Programming and Design I & II during grad school.
65%Lua
Pleasant language that is used in Roblox, which I was learning for my graduate-level Game Programming and Design II course.
65%SQL
Realizing my over-dependence on ORMs to basically write SQL for me, which needs to change...
80%HTML & CSS
There is no escaping this dynamic duo...
100%
Libraries
Frameworks, packages, gems, APIs, etc.
Rails
Web development simplified; insanely productive to work with, easyily deployable to every cloud service, and constantly innovated on by the core team and community. Without a doubt, Rails will allow small teams to easily and rapidly build an MVP in a few weeks and revolutionize entire markets. Only bad thing about it is how it completely spoiled me, and finding myself having to adjust my expectations when working with different tech stacks.
100%Scrapy
My initial foray in web scraping became tedious and frustrating when I was writing web crawlers in Ruby from scratch. Thankfully, I found Scrapy, which alleviated every technical hurdle I encountered and is the reason why I was able to learn and accomplish so much over the Summer of 2021.
100%Phoenix
I've been working with Phoenix just prior to its v1.0 release. Furthermore, my desire to learn the Phoenix framework landed me an incredible software engineering internship opportunity at InfluxData. While I was there, my co-intern and I built a user onboarding simulator for the Backend Engineering team test against the InfluxDB Cloud serivce, which was also was built with Elixir & Phoenix.
90%Tailwind CSS
The one tool that single-handedly made me enjoy front-end development work.
95%React.js
After dancing around this, and at times outright avoiding it (thanks Hotwire and LiveView!), I recently took the plunge and began tinkering around with a small app built on React.js + Next.js (see below).
75%Next.js
Fun fact: This website is built with Next.js!
70%Bootstrap 5
Ocassionally turn to Bootstrap, but mostly use Tailwind CSS nowadays.
80%OpenGL
Learned about graphics programming and the rendering pipeline in my Computer Graphics I course during grad school. Worked in-depth with C & C++ using OpenGL to render a world containing basic random objects. Furthermore, learned techniques for rendering shaders, local, and global illumination using ray tracing. Finally, recreated 3D rendered models of real-world objects by using Python & OpenCV, COLMAP, and MeshLab.
80%Pthreads
Wrote a C++ program that computes the addition of two 256x256 matrices using Pthreads, which can be viewed on GitHub.
75%OpenMP
Wrote a C++ program that computes the addition of two 2048x2048 matrices using MPI on 8 processors, which can be viewed on GitHub.Additionally, I wrote another program that multiplies two square matrices using 1, 2, 4, 8, 16, and 32 threads that successfully ran on the university's grid computing service.
75%MPI
Wrote a parallelized implementation of the Odd-Even Sort algorithm in C++ using MPI, which can be viewed on GitHub.
75%
Databases
Database Management Systems, ORMs, techniques, concepts, etc.
PostgreSQL
The ultimate RDBMS and typically my #1 choice for a new project's database.
90%MySQL
My #2 RDBMS choice when starting development on a new application.
80%NoSQL Databases
Honestly, I am looking for a new app to build that would beneft from using NoSQL databases just so I can dive in deeper and learn more about it.
75%GraphQL
Currently working with GraphQL on my project, Servitor, which is built using Elixir, Phoenix, and Absinthe package.
75%ActiveRecord
Sometimes I forget this is a standalone system outside of the Rails framework
100%SQLalchemy & Alembic
Much stricter and more nuanced than ActiveRecord, but that's not a bad thing.
85%Ecto
Enjoyable to use overall and appreciate the explicit nature compared to other analagous systems, like ActiveRecord.
80%Meilisearch
The search engine I use in all my personal projects that require robust search functionalities, especially for end-users. Replaced my previous method of using Opensearch via the searchkick gem
95%Elasticsearch & Opensearch
When I need something more powerful and robust than Meilisearch, I return to what I've been using for so many years.
85%Redis
Mostly thanks to Sidekiq!
75%Sidekiq
My default solution for processing background jobs, that is unless solid_queue takes over!
95%solid_queue
There is a good chance this will fully replace Sidekiq and Redis in future Rails apps that I undertake.
60%InfluxDB
Despite interning at InfluxData, I haven't come across a scenario requiring the use of a time-series database...yet.
60%
Cloud Services
Solutions for pushing Git commits to repos, running production apps on platforms using custom infrastructure, storing data, and running other essential services.
GitHub
Beyond using GitHub's repo features (Issues, PRs, Code Reviews, etc.), I's worked extensively with their other features, such as GitHub Actions, Codespaces, Projects, and Copilot.
100%GitLab
Looking forward to working on projects that incorporate GitLab in the DevSecOps' tech stack.
80%Heroku
My default platform for running all my apps for so many years. Still using it frequently, but there is definitely greater competition on the horizon...
90%Render
Rapidly becoming my go-to PaaS solution. Blueprints are an excellent feature that both simplifies and clarifies your infrastructure in readable YAML code.
85%Fly.io
Similar to my experiences with Render, Fly.io is also rising in my list of preferred deployment platforms.
80%AWS
Specifically worked with IAM, S3, CloudFront, Elastic Beanstalk, Route 53, EC2, Lambda, and Cloud9.
70%Meilisearch Cloud
Integrated services for my Rails app running in production.
90%Namecheap
Majority of my domains are handled through Namecheap with a few exceptions on AWS Route 53.
85%Cloudinary
Despite the cost, Cloudinary is a great solution if you're looking for a solution akin to AWS S3 but with a lot of exciting features. In fact, too many to justify using it and paying the potential cost.
80%Font Awesome
Simple and convenient way of adding icons to all my apps. Proudly supporting the Font Awesome team for a few years now!
100%CircleCI
The CI/CD tool our team used during my internship program at InfluxData.
80%
Video Game Engines
Used popular engines to create video games either for personal development or academic coursework.
Unreal Engine 5
Continuing to learn about game design, development, and programming by teaching myself the Unreal Engine. Moreover, there is the added benefit of working with C++!
80%Unity
Worked with Unity and C# heavily for my Game Programming and Design I & II courses. Built several games in the process; SuperShooter was the most comprehensive and technically demanding games we built. Despite my enjoyment working with Unity, I stepped away from the entire Unity platform after the company unveiled their new Unity Runtime Fee policy.
80%Roblox
Used for my Game Programming and Design II course specifically. While my overall impressions of Roblox Studio has changed for the better, I still prefer developing games using other video game engines and programming languages.
60%
Workstation
14” MacBook Pro, M1 Pro, 16GB RAM (2021)
I was using an Intel-based MacBook Pro prior to this and the difference is night and day. I've never heard the fans turn on a single time, even under the incredibly heavy loads I put it through with our various launch simulations.
Custom Built Gaming Rig
3070 RTX GPU, 16GB RAM, Windows 11, and all the storage space I could possibly need.
Development Tools
Sublime Text 4
I don't care if it's missing all of the fancy IDE features everyone else relies on, Sublime Text is still the best text editor ever made.
Sublime Merge
Excellent app to use in conjunction with the git CLI tool.
Visual Studio Code
When projects require a fancier setup and particular extensions that aren't available in Sublime Text 4.
iTerm2
Supercharged with ZSH and Powerlevel10k to really enhance the experience. However, none of this would mean anything if I do not have Homebrew, asdf (version manager), Xcode, Git, and NPM/Yarn installed to give a usable and productive CLI experience.
Homebrew
The first thing I install on any new Mac hardware (after Xcode).
asdf
The second thing I install on any new Mac hardware
NPM & Yarn
There is no escaping NPM and all my Rails apps use Yarn.
Xcode
The thing I have to install before working with any other dev tool on macOS. Also, I used Xcode to write and compile C++ programs when I was taking my undergraduate-level CS prereq courses.
Beekeeper Studio
Great software for working with databases. Has saved me from building about a thousand admin interfaces for my various projects over the years.
Postman
A reliable tool for working with APIs in any capacity.
Docker
Used heavily to run certain packages, notably Splash during Scrapy crawl sessions.