How To Build a DevOps Portfolio for Junior
Step By Step Guide For Building DevOps Portfolio Even If You Don't Have Professional Experience Yet
Intro
Using these guidelines and spending a few hours a day for a few months you can get a portfolio better than 95% of people aiming to obtain their first DevOps job, and I bet even some people already holding it.
I assume you already have some starter-level skills, maybe took some courses, but don’t have any real-world experience to showcase, so literally, nothing to put into your resume or maybe only a little.
Let’s try to fix this!
1. Prepare Learning Resources
Sign for free learning portals, like Udemy/Coursera/Udacity/etc
Get yourself familiar with how to research, read and apply tech guidelines (like this one) on Medium, GitHub or official vendors documentation.
Researching YouTube would be handy as well
Don’t start any particular course, just keep them handy in order to us any of them any time!
2. Create a GitHub Account
Sign up for a free GitHub account to host your code and showcase your projects.
Make sure to fill out your profile with relevant information and a professional photo.
Create a first pet project:
“Hello world” would be the obvious first step
Then try to add something extra complexity, like pulling some data from public APIs and playing around with it, like filtering and sorting
If you already have some work from your courses — try to package those into a repo and publish them into your account
3. Create a Docker Hub Account
Sign up for a free Docker Hub account to host your Docker images and showcase your containerized projects.
Package your previous script into a Docker image and publish it into a Docker Hub.
Make sure your code is designed to run as a service and follows Dockerfile best practices.
4. Sign up for a Free Tier Cloud Account
Every major Cloud provider(AWS, GCP, Azure) offers a free tier on different conditions.
AWS, for example, offers a free tier account for one year, which includes a variety of cloud services such as EC2, S3, RDS and etc.
This is a significant opportunity to set up a playground cloud environment for free as well as build and host a portfolio of personal and professional projects.
You can switch to a paid subscription after a year if it makes sense or shut down the account by your choice.
Sign up for an account
And start exploring AWS services (or any other Cloud provider of your choice)
Try its Command Line Interface and make sure you are comfortable with it. For awscli you can use this cheatsheet.
Enrich your code from previous steps with some manipulations with AWS resources, like:
- Store your captured data on S3
Try to spin up some resources
with IaC tools like Terraform using next guide.
You can play around with it locally with LocalStack if you are afraid of spinning up something expensive in AWS.
Spin up a DynamoDB table or Redis cache and insert data into it
5. Come Up With a Personal Project
Think of a personal project that you would like to work on, such as a simple web application, chatbot or a script that automates a task.
Use this project to showcase your skills and knowledge.
Think of something very simple on this stage. You will be able to increase complexity as you go.
Code it in the scripting language of your choice.
Some more ideas generation tips for such a project are:
Check some job descriptions for Junior DevOps/SRE positions on Indeed and Glassdoor, pick tools and technologies and try to mimic them in your environment.
Check Freelancing sites like UpWork and Fiverr, filter one-time tasks with the lowest price and try to mimic them in your environment.
Just Google around or ask ChatGPT.
Pick something with a very small scope, which will take you not more than a couple of days to implement it end-to-end.
You can increase complexity later.
6. Build a CI/CD pipeline:
Implement a CI/CD to build and deploy you project. This will demonstrate your knowledge of continuous integration and delivery.
Use GitHub actions to package your work into a Docker image and publish it to Docker Hub.
Then use another repo to deploy it to your Cloud environment using out-of-the-box like AWS ECS.
This AWS guideline explains how to create ECS thru UI
But at some point you would need to do it with IaC framework, like Terraform. You could use this article
Later on, you can get fancy and increase complexity, using EKS, Lambdas, etc.
Right now your goal is to compose an end-to-end pipeline for your project, and focus on that, so you have your application deployed and available.
7. Present Your Project:
Write a comprehensive Readme on your project and commit it to your repo.
Ideally draw a diagram with tools like Miro, Lucid, Asciiflow.
Set up a personal blog on a platform like Medium or WordPress.
Use this blog to share your journey, experiences, and projects with the community.
You can write it in a form of a story, make it entertaining, people would love it this way.
8. Join Communities
After you have your work packaged it’s time to show it to a broader audience and ask. for feedback.
Register to several Slack communities
Join next Subredits
Subscribe to my newsletter in order to get updated, when we grow a community.
Share your links and ask for feedback.
Check the rules of the communities and follow them.
Be patient, and incorporate feedback back in your project.
Typically this is where you could get the most feedback and suggestion to where you move next.
Try to participate in Meetups and local communities online and in person. They usually encourage speakers even on a starter level. This is a chance for you to get in a front of people.
Once you engage a little bit, you can consider other kinds of events you can find for free, like hackathons and boot camps, which will help you to get in front of people and help you to find a job in a non-obvious way.
8. Start Contributing to Open-Source
As you gain some expertise as a next step you can consider contributing to an open-source project.
Find an open-source project that interests you
Look for a project that aligns with your interests and skills.
You can find open-source projects on platforms like GitHub, GitLab, or Bitbucket.
Read the project documentation
Before contributing to a project, make sure to read its documentation thoroughly.
This will give you a good understanding of the project’s goals, architecture, and coding standards.
Look for issues to solve
Browse the project’s issue tracker for bugs or feature requests that you can help with.
Look for issues labeled as “beginner-friendly” or “good first issue” to get started. This could be as simple as fixing a bug or contributing to documentation.
Fork the project and make changes
Fork the project to your own GitHub account and make changes to fix the issue you chose.
Make sure to follow the project’s coding standards and write clean, maintainable code.
Submit a pull request
Once you’ve made your changes, submit a pull request to the project’s maintainers. Include a clear description of your changes and why you made them.
Be responsive to feedback and be willing to make further changes if requested by the maintainers.
9. Create a LinkedIn Account:
Sign up for a free LinkedIn account and fill out your profile with relevant information, including your education, work experience, and skills.
Package your Linkedin profile with your accomplishments:
Describe your personal projects as a professional experience. Include links to the GitHub repo and/or public links if they are available.
Include freelance experience if you have such
Describe open-source contributions and activities
Include activities in community events, like speaking at meet-ups, etc
Connect with others in the DevOps community and share your projects and blog posts. (Follow me and feel free to connect).
Feel in your skill in the endorsement section and exchange endorsements with the community.
Conclusion
Eventually, at some point, you’d be able to land freelancing gigs from UpWork, Fiverr, or similar, which may provide you with that first battle-tested professional experience.
One trick you can do — is to mimic specific tasks, you can find on those portals, in your environment even before you apply for them — so it can serve as proof in your pitch.
Let’s see what would the structure of your portfolio may look like:
After completing these steps in approximately a few months you would get a pretty solid portfolio at no cost, which will become your asset forever and can be grown over time.