Our Blog
We help junior tech professionals, such as developers and designers, to grow.
DevOps Practical Experience with Home Lab
Satoshi S. 2024-11-18
Intro
This summer I had an opportunity to learn DevOps skills through MLH Fellowship x Meta Production Engineering program. If you want to know about the program, please have a look at my LinkedIn post.
Before the program, I had some experience deploying web applications using Digital Ocean droplets(VPS). I'm hosting some of my work with them. However, I lacked a solid foundation in efficiently deploying applications through various technologies such as Docker, GitHub Actions, proxy servers, etc.
Throughout the program, I gained essential production engineering skills and had a chance to talk with many production engineers from Meta. One of the highlights was a mock interview with a production engineer manager. I received detailed feedback on my technical and system interview performance. The feedback said that I had a decent catalog of commands with a high level of knowledge of what they could do, and I would benefit from more hands-on experience with a Unix System. I felt reading multiple Linux books for the interview paid off and getting more interested in gaining practical experience as a production engineer.
My HomeLab
One of my mentors inspired me to explore a home server setup after showcasing his physical server projects during a session. I realized that building a home server could be a great way to gain practical Linux server experience.
After some research, I decided to buy a mini-computer (NucBox G3) and use CloudFlare to host websites from my home network.
So far & future
Completed:
- Installed Ubuntu server on the mini-computer
- Setup the network and integrated with Cloudflare
- Build a CI/CD pipeline for my Flask portfolio project
- Create a dataset for Kaggle with cronjob
Future Plan
- Improve the Flask portfolio by enhancing the design and adding tests
- Experiment with deploying applications built with other frameworks, such as React and Next.js
Conclusion
Although I've been using Linux for about 3 years, I've realized there's still so much to learn to maximize productivity as a developer. I'm sure I will improve my Linux skills with time and hands-on experience.
While I'm unsure of the exact role I'll take in the future, I'm certain DevOps skills will be invaluable even if I become a front-end developer.