In every professional area, there’s the chicken and egg problem: I don’t have a job because I don’t have experience, I don’t have experience because I don’t have a job.
Fortunately, as a software engineer, we have several options to get experience without a job like creating a project from scratch, open source collaborations, getting an internship, meetups, and hackathons.
Creating a project from scratch
If you can create something new, very innovative, that solves a problem for many people, that would be great. If not, don’t lose time waiting for that million dollar idea and start working on a simple application. Working on a simple and well-defined project has the advantage that you won’t expend time thinking about the requirements instead of working on the code. Even another to-do app will do the trick.
Starting a project from an idea and getting it to the finish line will probably help you to:
- Learn about the life cycle of a software project.
- Interact with languages, tools, good practices, design patterns and more of both sides of the application (front and back end).
- Get experience with databases.
- Work with a web server.
- Acquire knowledge of a version control system (I suggest you to use
You can work on this project alone or with some friends. Having more people will help to get the experience of how to work on a team which is a very important skill to have.
When you finish this first project, don’t stop. Start working on a new idea, use new tools, design patterns so you can keep learning and increasing your experience.
After this, you are able to use these projects as a portfolio to show your experience to future employers.
Open source collaborations
Working on an open source (OS) project could give some of the things commented above and also:
- Give you exposure which is great for other people to know about your work.
- Get feedback that helps you to get better every day.
- Learn from others and probably from some of the best in the world.
- You are already helping on a project that solves a problem for many people.
- Your Github profile (or on any other platform where the project is hosted) becomes your portfolio.
Collaborating on the OS community could even help you get a job, you’ll think is a pretty rare case but it happened to me. If you don’t get the job directly by working on OS projects, you will still get all the benefits I already mentioned.
Don’t be afraid because you don’t have much experience. Most of the big OS projects have tickets labeled like
good first issue. Start by reading those, clone the project, run it, use breakpoints (or console logs), start reading and understanding the code, don’t be afraid to ask for help on the ticket if you can’t find the solution.
The open source community is very open (pun intended) so start collaborating today.
Getting an internship
It doesn’t matter if it is paid or not, the important thing here is to learn and get experience. I can tell you that this work for sure because I got my first job as a junior developer being an intern first.
My first job was as a Technical Support but what I really wanted to do was to create software, so I applied for a C# Junior Developer position in a very small company and I didn’t get the job due to my lack of experience. However, the company contacted me and other people in the same situation and offer us an internship and the possibility to get the job after it.
I left my job and accepted the internship. I took this opportunity to show them that I am a fast learner and that I can bring value to the company. We were tasked with a pet project and I was the first one that finished the requirements and I even add things that were out of the scope but good for the project. As you already know, I got the job.
Attending to the events of the local communities is very useful to learn new things and meet new people. I know people that got their jobs on venues like this.
Being in a place with people more experienced than you is a blessing since you will be absorbing a lot of knowledge and you could even meet your future employer. Also, being part of meetups is a good sign for a company looking for a junior developer.
Plus, sometimes you could get free pizza.
These events are very refreshing, I’ve participated in about 4 of these.
This is like a meetup but you also get to create something by yourself. You will be creating a project from scratch with some new friends in a very short amount of time and have the possibility of winning some prizes. Sounds fun, right?
Being out there in a hackathon proof that you are someone of initiatives that want to learn more and love challenges. Also, since companies are usually there looking for new talents, you could be being interviewed and you haven’t even noticed.
No more excuses, start getting experience NOW.
Do you know any other option to get experience? Do you have more suggestions that I didn’t cover? Do you need any help to get started with this? Please comment below.