Alternatives To Leetcode

ALTERNATIVES TO LEETCODE

March 6, 2023

Most people who are looking to build a tech project portfolio and learn new skills consider leetcode the main way to go. While leetcode is a great resource for practicing algorithmic problem-solving and has been the point of entry for most software engineering jobs, it has some limitations in that there is limited real-world relevance.

At the end of the day, leetcode may not necessarily reflect the type of challenges that you will encounter in your day to day work as a software engineer.

There are plenty of other ways to gain practical experience and showcase your skills that do not involve endless hours of algorithmic practice. Therefore, it is important to supplement your leetcode practice with other learning opportunities that are closer to real-world projects and expose you to critical areas of software engineering. The goal is to not only secure a job but also develop a well-rounded set of skills that will help you succeed as a software engineer.

If you are looking to build a strong portfolio, expand your skillset or explore alternative ways to learn and land your dream job, here are some things you can to do gain practical experience and showcase your talents as a software engineer:

Project-based learning

One of the best ways to learn to how to code is through project-based learning. Project-based learning involves working on real-world projects and building applications from scratch rather than focusing solely on memorizing syntax and solving coding problems. This approach allows you to learn coding concepts while simultaneously gaining experience on how to build functional software.

Building projects is an excellent way to gain practical experience and showcase your skills. Think of a project you’d like to build and then start working on it. You can leverage online resources if you get stuck to complete your project.

This process also improves your confidence in new skills by putting your knowledge to the test. Start with small projects and gradually work your way up to more complex ones. If you are looking for some project ideas you can check out this Github repository on project-based learning with a lot of options in various programming languages.

Hackathons & Open-Source

My first experience in coding when I was a computer science student was going to Hackathons on campus and in different cities. Although they sound intimidating, hackathons are an amazing way to immerse yourself in a theme-based, time-bound project. They help you build new software, meet other developers and learn new skills. You can also explore online options such as Hack At Home: Hack@Home – Devpost and HackerEarth which have hackathons that might match your interest.

Open-source projects are also a resource for learning how to code. By contributing to open-source projects, you can gain hands-on experience working on real-world codebases while also learning from more experienced developers. 

Blogs, Interactive Coding Platforms & Online Forums

Reading blogs and online forums can help you stay up to date with the latest trends and best practices in technology. I am big fan of Spotify’s tech blog but tons of other tech companies such as Google and Netflix run tech blogs with helpful information. If you want more interactive platforms, Hacker Noon and reddit are popular forums where developers discuss various topics related to technology. Here are some communities that I am a apart of on reddit:

These are low-effort but sure ways engage in coding communities, connect with other developers and learn from their experiences. You can ask questions, share code, and participate in discussions to improve your skills.

Take Online Courses

There are many online courses available that cover a wide range of computer science topics such as programming languages, data structures, algorithms, web development and more. Some of the platform you can use include: Coursera, edX, Udacity Udemy and Codecademy. These sites offer courses from top universities and industry experts that are designed for beginners, intermediate and advanced levels, a majority of which are free.

Online courses are a great way to learn new programming concepts and techniques. Take advantage of their interactive coding platforms to have a more engaging way to learn to how to code and a supportive learning community.

Another underrated and free resource is YouTube. YouTube is a treasure trove of coding tutorials and resources. There’s a wealth of knowledge available on YouTube from beginner-friendly tutorials to advanced concepts. You can find channels dedicated to specific programming languages or topics such as web development, machine learning, and data science.

CS50 and Freecodecamp are just two of my favorite YouTube channels out there.

Conclusion

All in all, do not limit yourself to just one way of learning and building your portfolio. Leetcode is great for practicing algorithms, but it’s not the only way to learn and build. By exploring alternative ways, you’ll gain more practical experience, have fun, and meet new people along the way. Whether you choose project-based learning, contributing to open-sources or following YouTube tutorials, the key is to find a method that works best for you and fits your learning style.

Remember that learning computer science is a lifelong process, and there are many ways to approach it. Keep exploring and trying new things, and don’t be afraid to ask for help when you need it. So, sit back and dive into the world of software engineering beyond leetcode.

Keep building, keep practicing, keep learning!

Top