How to get experience as a new developer
Published: 2022-12-27 20:40:19

Here are several ways for you to gain experience as a new developer, in no particular order.

## Practice

Practice is critical for almost anything, and coding is no different. Instead of watching another tutorial, put into practice the concepts you just learned to solidify your understanding. Most tutorials, books, and courses will give you opportunities to practice, and you should complete all of them. In addition to those, however, here are some more ways you can practice.

- [Exercism.io](https://exercism.org/)
- [Codekata.com](http://codekata.com/)
- [Codewars.com](https://www.codewars.com/)
- [Coding Dojo](https://codingdojo.org/kata/)

## Projects

An excellent way for you to get experience is by building projects. Once you can create more complex applications, you should put some of them in your GitHub profile, resume, and portfolio.

Here are some links and resources to give you some project ideas.

- [https://javascript30.com/](https://javascript30.com/)
- [https://www.frontendmentor.io/](https://www.frontendmentor.io/)
- [Project ideas for web developers](https://github.com/RealToughCandy/project-ideas-for-web-developers)
- [Florin Pop - App ideas](https://github.com/florinpop17/app-ideas)
- [100 days 100 projects challenge](https://www.florin-pop.com/blog/2019/09/100-days-100-projects/)

### Bonus

Here is a list of free public APIs you can use to build your projects.

- [https://github.com/public-apis/public-apis](https://github.com/public-apis/public-apis)

## Freelancing

Freelancing is one of the best ways to gain experience as a new developer. This is the approach I took when [teaching myself how to code](https://www.howtocode.io/posts/how-i-taught-myself-how-to-code). Instead of trying to make money, I was working for the experience I could put on my resume, which was more valuable than money.

People will not pay you very much when you are just starting and have little experience. When you start out, your skills are not worth much because you don’t have any yet. This will change over time as you get better and gain more experience.

We all have to start somewhere.

Here are some ideas to get you started freelancing:

- See if you can help a family member’s business or friend.
- Churches usually have outdated websites that need a lot of work. Offer to work on their website for free, and I doubt they will say no.
- Restaurants notoriously have horrendous websites. Ask if you can rebuild the website for a local restaurant in your area.
- Look at the websites for various small businesses in your area. Ask the owner if you can rebuild, update, optimize, etc.
- Remember, it’s hard for anyone to say no when you offer free work, as they have nothing to lose.

### Freelance Websites

- [Upwork](https://www.upwork.com/)
- [Fiverr](https://www.fiverr.com/)
- [Replit Bounties](https://replit.com/site/bounties)

### Freelance Tech & Tools

- [WordPress](https://wordpress.org/) is the most popular CMS in the world. If you are freelancing, you have to know it.
- [Shopify](https://www.shopify.com/) is one of the most popular e-commerce platforms in the world. If you want to do e-commerce, you need to know it.
- [Squarespace](https://www.squarespace.com/) is also incredibly popular as it allows you to build beautiful websites and stores without coding.

## Open source

The best way to gain real-world experience is by doing open-source work. This can be incredibly intimidating initially, but the payoff is well worth it.

When you are just starting, the best way to get started is by submitting PRs (pull requests) with fixes for typos, grammar, broken links, and things like that. This requires little to no skill and involves you in the open-source community. Maintainers always appreciate when people correct mistakes or broken links in their docs.

If you are brand new and have never created a PR, or you don’t even know what that means, take this free course to learn how GitHub, PRs, and open source work:

- [How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github)

Here are some ways to get started in open source:

- As I mentioned, submit fixes to documentation sites for typos, grammar, and broken links.
- Look at the issues tab on any GitHub repo for beginner-friendly issues. Lots of repos on GitHub will label beginner-friendly issues with things like “first-time contributor.”
- [A list of awesome beginners-friendly projects](https://github.com/MunGell/awesome-for-beginners)
- [Open Source for Developers – A Beginner's Handbook to Help You Start Contributing](https://www.freecodecamp.org/news/a-practical-guide-to-start-opensource-contributions/)
- [First Timers Only - a list of open source projects for newbies](https://www.firsttimersonly.com/)

## Hackathons

Hackathons are another great way to gain experience as a new developer. They may seem intimidating at first, but many hackathons are beginner friendly and welcoming.

A lot of them are virtual nowadays, too, since Covid.

- [Major League Hacking](https://mlh.io/)
- [Devpost](https://devpost.com/)
- [Hacker Earth](https://www.hackerearth.com/challenges/hackathon/)
- [Hackathon.com](https://www.hackathon.com/)
- [Devfolio](https://devfolio.co/hackathons)

## Internships

Some companies offer internships which can be another great option to get your foot in the door and gain real experience. I don’t suggest doing an internship for free. The company should be paying you for your time. The nice thing about internships is that the company will typically offer you a full-time position if they like working with you during the internship.

It is a great way to get experience and land your first job too.