5 ways to get practical experience in tech (so you can land a job)
You don't have to be employed in tech to get relevant hands-on experience. Here's how to build up your portfolio in order to get that future role.
Sep 23, 2024 • 7 Minute Read
Ever stare in bafflement at an entry-level tech position that requires three or more years of experience? It can feel like an infuriating paradox, especially in an industry where interviewers can often be more fixated on what you’ve done rather than what you know. You might ask yourself something like:
- “How do I get experience protecting enterprise-level systems without a corporate cybersecurity job?”
- “How can I become a DevOps practitioner without actual teams to assist?”, or
- “How do I show I’m good at cloud architecture without actual corporate infrastructure to build?”
This frustrated cry is pretty much discipline-agnostic: you’ll hear it from aspiring software developers, cloud architects, and network administrators alike. Thankfully, the solutions are fairly agnostic as well, and while the specifics of that experience varies from case to case, the methods of getting it don’t.
In this article, I’ll cover some industry-tested methods of getting experience before you get into your chosen field. Note that this is good practice for more than just making your resume as shiny as possible: you want to make sure you actually like doing what this profession entails, and the best way to do that is—you guessed it—getting practical, hands-on experience.
1. Start a hands-on project
Many tech professionals I know started out by spinning up a series of hobby projects. Here is how you should go about it:
- Determine your field of interest. E.g. “Cloud computing.”
- Research and identify a use case that would be enjoyable and fairly easy to build. E.g. “Setting up a static website in the cloud.”
- Go through the steps of building it, learning from your success and failures.
As you go about your project, you’ll often find you need to learn how to use certain services or products, or figure out new concepts. For example, I tasked myself with making an inclusive space simulation that would be fully screen-reader compatible. As I went about trying to achieve this, I learned all about the accessibility features of major game engines like Unity, Unreal, and Godot, studied linear algebra, and taught myself new OOP techniques. If someone were to ask me if I had inclusive game design experience, I could answer yes, all without having worked for a AAA game studio.
Example project ideas
Software development
- Create a calculator app (One of the friendliest coding projects for beginners, since calculation is built into most programming languages).
- Create a mobile application, such as an age calculator or expense tracker, then host it on the Google Play or Apple Store (The latter is a learning experience in itself)
- Create a portfolio website (Two birds with one stone, and improves your web skills)
- Create a ping-pong gaming app using Unreal or Unity
- Become a contributor for an existing project on GitHub (Great for showing collaborative skills)
AI and ML
- Set up an AI model that can detect sensitive combat
- Create a chatbot using NLP
- Set up an AI model that can conduct sentiment analysis
- Create an AI model that can detect if an image is of a chihuahua or a potato (There's more similarities than you'd think)
- Create an AI model that can predict a future trend
Cloud computing
I’d highly recommend checking out this excellent list of hands-on projects by AWS Machine Learning Hero Kesha Williams. Side note: Kesha actually got her start in ML with a hands-on project (The system works!).
- Launch a static website on S3
- Use CloudFormation to Launch an Amazon EC2 Web Server
- Publish Amazon CloudWatch metrics to a CSV file using AWS Lambda
- Deploy a simple React web app using AWS Amplify
Cybersecurity
- Build a packet sniffer
- Create a ransomware data recovery procedure
- Practice SQL injection attacks on TryHackMe
- Set up a credit card fraud detection solution
Data science
- Create an ethical web-scraping project
- Find a “dirty” data set and practice using data cleaning techniques and tools
- Create a data visualization project
- Conduct a sentiment analysis project
DevOps
- Build a CI pipeline using Jenkins or GitLab CI
- Containerize a simple web application using Docker
- Use Terraform or AWS CloudFormation to provision infrastructure
- Deploy a Kubernetes cluster
IT Ops
- Create a home lab (Check out https://www.reddit.com/r/homelab/)
- Set up some virtual machines (VMs) for Linux
- Set up a basic network with some nodes
2. Work on a cross-functional project
If you’re already employed, one way you can get exposure and experience in another field is to work alongside professionals who are already in it. For example, if you’re on a help desk and you collaborate with the cybersecurity team on a cross-functional project, this is something you can use to gain practical experience.
Note that this works both in non-technical and technical fields. For example, you might be in marketing and put your hand up to work on building a new marketing automation solution or website. You could be in records management and work with cybersecurity to set up secure records handling. The combinations of these are endless.
Note that you shouldn’t always wait for these projects to just happen. Think of ways a cross-functional project could help the business, and seize the initiative. Then, you’ll be the most likely person to be placed in the project, as you’re the one who proposed it and laid the groundwork.
3. Contract, temp, and volunteer work
Not everyone can afford to have a full time tech professional on the payroll, so one way to get hands-on experience is to fill this gap. There’s plenty of community groups, sporting clubs, and small businesses who desperately need someone with IT skills to help them out, and they typically don’t care about what’s on your resume.
In fact, it’s more than likely that if you put yourself out there, your biggest problem will be turning down work, not finding it. The second I got my first qualification in app design, every single person I told wanted to work with me on a project (“For the experience,” many would say, and these got turned down flat.) But my point is this: if you’re after hands-on experience you can attach to a client or company, this is a swift way to get it.
4. Hands-on labs
Hands-on labs are expert-led training scenarios provided for you in safe, provisioned environments. Why this emphasis on safety? Well, depending on what you’re trying to learn—cloud computing, for instance—you might need to set up a service in order to learn how to use it. Unfortunately, sometimes these systems can be configured incorrectly, resulting in some very scary bills. With hands-on labs, the provider sets this up instead and assumes the risk for you. With these provisioned environments, you also don’t have to worry about messing up your own infrastructure.
Unlike hands-on projects, which tend to be ad hoc, hands-on labs are constructed by someone who’s already familiar with all the benefits, nuances and pitfalls of the service you’re trying to learn. That means you’re effectively learning in the safest and most efficient way possible.
5. Sandbox environments
Sandbox environments are often confused with hands-on labs, since learning providers often package them together, and they both involve provisioned environments. The difference is that a hands-on lab is a specific scenario you’re tasked to complete in a provisioned environment, while a sandbox is just like it sounds—a safe space you can just go wild in to learn how something works.
The best learning experience is “all of the above”
None of the methods listed above are perfect. For example:
- Hands-on projects put all the burden on you to guide your own learning experience and assume any potential costs.
- Cross-functional projects assume you are working in an environment where you can spark these opportunities.
- Contract, temp, and volunteer work ties you to fulfilling other people’s expectations, often trading compensation for experience.
- Hands-on labs are curated, fast, and safe, but can often be focused on learning one specific thing.
- Sandboxes are a safe space where you can do nearly anything, but aren’t geared towards a specific project or skill.
It’s best that you do all of these to give yourself the most hands-on experience possible. You’ll naturally gravitate towards one of these, but you can use the others to shore up any gaps. E.g. You may prefer hands-on projects, but use hands-on labs to teach yourself a particular skill or service, and use a sandbox to test a particularly costly service you don’t want to try out under your own name (that is, until you’re completely familiar with it).
Conclusion
You don’t need a job in tech to get experience in the field. If you’re struggling to secure an interview or land a job only using certifications and self-study, use the techniques listed above. Not only will it give you the skills you need, it will give you an invaluable sense of confidence when you’re sitting an interview, and prepare you for the job when you land it.
Further reading
Want to know how to get a job in a specific field of technology, according to experts who are already in it? Check out these articles:
- How to become an AI expert (with no prior experience)
- How to become a cloud engineer (with no prior experience)
- How to become a software developer (with no prior experience)
- How to get into cybersecurity with no prior experience
- Starting in cybersecurity: FAQs about how to get your first job
Also, here are some other articles on our blog that can help:
- How to get into tech with no experience: 12 tips and tricks
- How to get a job at a major tech company
- The 10 most in-demand tech skills in 2024 (with skill tests)
- What are the best paying tech jobs to have in 2024?
- Tech interview and resume tips to stand out and get hired
- Cybersecurity jobs: Key skills, certificates, and traits leaders want