7 Alternatives to a Software Engineering Internship
Fadi Boulos
Providing tech startups with top Lebanese engineers while reducing the brain drain in Lebanon
When I posted about some alternatives to an internship for software engineering students, I didn't know that this post will be my all-time high in terms of engagement. It even triggered some controversy!
There's a clear need for students to know what could replace their summer internship in case they weren't successful in finding one. With the team at Supportful , we set to work on a comprehensive guide to detail each alternative, its benefits, and how to go about it. This work will take some time to see the light, and we'll definitely make use of some advice. Here are the areas we're exploring for this guide:
1. Foundational Online Courses
Some courses are a must if you want to become a software engineer. You might have taken similar courses at college, but revisiting the foundational concepts is a jumpstart for your software engineering career.
There are so many options in this space and most are free. Here are some of them:
You can also check freeCodeCamp that has a 100% free curriculum to get you to your first job.
2. Coding Bootcamps
I like to think of bootcamps as the new educational institutions. Throughout these intensive programs, you get to learn a lot on a topic through a hands-on approach. A bootcamp spanning 4, 8, or 12 weeks is a great alternative to internships.
In Lebanon, I recommend going for SE Factory 's programs. SE Factory offers coding bootcamps with a focus on practical skills and job readiness for both computer science students and students with no technical background.
If you want to go for a focused bootcamp, ZAKA | ??? is the leading AI bootcamp in the MENA region. They offer both foundational and advanced AI courses.
You might be wondering: "I'm supposed to make some money or at least not pay any during an internship. Those bootcamps will on the contrary cost me money!" First, some of these bootcamps are free. Second, consider the amount you'll pay as an investment in your future.
3. Open-Source Projects
Many people think that open-source projects are exclusive to software engineering gurus. They're not. There are issues in these projects labeled "easy", "good first issue", "beginner", etc. Contributing to such projects is a great way to work on real projects and start building a reputation in the tech community.
To find those beginner issues, you can search in your favorite project for issues with that label. For example, you can go to the electron project and search for beginner friendly issues. As of the time of writing this article, there are 5 such issues that are open. You can also check this page listing beginner issues by project.
If you don't have a specific project in mind, you can go to this website featuring a nice list of projects that might have good first issues. Stefan Maric has also created a useful page with relevant searches for beginner issues.?Just go to this page and click on any of the hyperlinked labels to find issues with that label across all of GitHub's repositories.
4. Side Projects
When you do an interesting internship, you'll most likely work on real-life projects. So why not be proactive and work on a real project when you can't find an internship?
领英推荐
To come up with an idea for the project, just think about something you or someone around you needs in their daily life. It can be a way to automate a task, a browser extension to save time, or a product that helps a small business.
While you won't be mentored by anyone, you'll gain a lot of experience and knowledge by working on such an end-to-end project. Tip: put a deadline for the project and work according to a defined scope.
5. Interview Preparation
What if you didn't land that internship because you performed poorly at the interview? Fortunately, there are many ways to prepare for the next interview and hone your skills at the same time. I strongly recommend going over LeetCode's top 150 interview questions and solving these problems.
You can also use any of HackerRank's interview preparation kits to become prepared for all types of questions during an interview.
6. Volunteering?
When two candidates applying for a job have the same skillset and experience, many recruiters prefer the person that has volunteering experience or has done community work. If you can't find an internship this summer, why not gain a different experience that will pay off in the future?
Besides making the resume nicer, volunteering for a cause will do you good. You will see life from a different angle and your soft skills will improve. Most importantly, giving back to the world is in itself a great experience.
In Lebanon, The Volunteer Circle helps connect volunteers to the right opportunity within an organization. If you're not in Lebanon, there should be similar platforms that feature the volunteering vacancies in your country.
7. Tech Communities & Events
Tech communities are places to learn, grow, and build connections. And there are a ton of them! The largest two are Stack Overflow and GitHub where you can both contribute and get help from peers.
Local communities are a no-brainer if you want to make a career in software engineering. Start off by looking up communities in your city. Communities can be backed by Big Tech, such as Google Developer Groups, Google Developer Students Clubs, AWS User Groups, and MongoDB User Groups. Others could be themed around a specific topic such as AI or gaming. And there are also independent communities such as the fast-growing Lebanese community Develeb .
You should also join global communities to build your international network. Remote work can help you land a job with a multinational company while working from your home in a tiny rural village. Here are some of the communities around popular technologies that are worth a check: Node on Slack, Angular on Discord, React on Discord (Reactiflux), and Java on Discord (Together Java).
These communities often organize online and in-person events. Make sure to attend these to grow both your network and your knowledge.
To recap, the 7 alternatives to a software engineering internship are:
If you have ideas for the guide we're building or comments on any of the above alternatives, please share them in the comments or via DM.