π GitHub
π¬ Live Demo
Introduction
This summer, I had the incredible opportunity to work as a Production Engineer Intern for Major League Hacking Fellowship in their Site Reliability Track, sponsored by Meta. Throughout this experience, I, along with 11 other individuals, embarked on the journey of learning DevOps tools while building a portfolio website with a CI/CD pipeline.
Highlights
π We kick-started the project by creating a basic Flask website using Jinja templates. I dived deep into CSS and learned Bootstrap to enhance the website’s responsiveness and visual appeal. This was a personal goal of mine because my CSS skills could use an upgrade!
Week 1 Portfolio
Week 6 Portfolio
Embracing the Agile Scrum process, each week I actively participated in stand-up notes and retrospectives, promoting effective communication and continuous improvement within the team.
π§ GitHub collaboration was taken to new heights as I played a pivotal role in opening issues, creating feature branches, and initiating pull requests. These efforts contributed to smoother and more organized development cycles.
Here is one of my first pull request ever:πΆπΌ Baby’s First Pull Request
Then I decided to level up my pull request game when writing tests for a fellow internπͺπ₯ Pull Request Level-Up
π I successfully deployed the website on a virtual private server using a Digital Ocean droplet, honing my Linux skills by working with Bash commands and crafting various scripts with loops and conditional statements, and commands like curl, awk, and jp. I even automated the process of running my portfolio in the background before moving it into a container.
π» My scriptwriting skills improved significantly throughout the experience. I wrote a seamless script that deployed updates from GitHub, streamlining our development workflow and reducing downtime.
Redeploy script in the beginning using tmux
Redeploy script using custom create service
Redeploy script using docker
π§ͺ An essential milestone was learning about unit testing, integration testing, and system testing. I implementing Test-Driven Development (TDD) principles in order to create comprehensive tests to ensure the database connection and API endpoints were functioning as expected, prioritizing robustness and code quality.
π³ Working with Docker was a highlight, as I learned more about YAML and mastered Docker and Docker Compose to configure containers for MySQL and MyPortfolio. I also implemented a container for a reverse proxy server using NGINX for handling SSL certificates.
π― The fellowship provided an excellent opportunity to sharpen my interview skills, tackling coding challenges and introductory system design questions. Additionally, I had the privilege of engaging in technology discussions with esteemed mentors broadening my perspectives and fostering a growth-oriented mindset.
What’s Next
I’m incredibly grateful for the Major League Hacking Fellowship, which not only offered hands-on technical experience but also enabled collaboration with exceptional individuals in the tech industry.
During the next six weeks of this internship, I will be learning about continuous integeration, monitoring, networking, and troubleshooting!
I’m excited to apply everything I’ve learned and continue contributing to the ever-evolving world of technology!