Resources to practice your coding skills

0
362

The only way to develop your coding skills and improve your employability as a software engineer is to practice with coding challenges, building side projects, and to contribute to open source. Here is a list of resources you can use to do all that.

Let me know what you think in the comments section below!

Coding challenges

Sites

LeetCode is one of the best online resource providing a rich library of more than 300 real coding interview questions for you to practice from using one of the 7 supported languages – C, C++, Java, Python, C#, JavaScript, Ruby.

Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.

Advent of Code is a series of small programming puzzles for a variety of skill levels. They are self-contained and are just as appropriate for an expert who wants to stay sharp as they are for a beginner who is just learning to code. Each puzzle calls upon different skills and has two parts that build on a theme.

Books

Exercises for Programers gives you 57 programming challenges to help you develop your coding skills. This book is good for jr-mid level programmers.

Cracking the Coding Interview t is an awesome compilation of problems and strategies for doing well in a Tech interview.

Open Source

Freecodecamp | How to contribute to open source. This is a list of resources for people who are new to contributing to open source.

Open Source Guides are a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project.

First Contributions 🚀✨ Help beginners contribute to open source projects

Awesome First PR Opportunities A list of awesome beginners-friendly projects.

Side Projects

Choose any project and try building it with the technologies you are interested in learning.  If you have a hard time figuring out what to build, just think about an app you like and try to rebuild it yourself.

Remember to include all your projects in you GitHub Account 😉.

Side Projects Ideas

1. A note-taking app. Build a simple tool to take notes.You can add cool features like auto saving. Use https://simplenote.com/ as an example. If you think is too hard, you can use an external editor component to learn how it works like https://github.com/facebook/draft-js.

2. A calendar app, like google calendar, where you can make and keep track of appointments. Example https://richonrails.com/articles/building-a-basic-calendar-in-ruby-on-rails

3. FTP Client. Build a simple FTP client, and support secure file transfer.

4. HTTP Server. To understand how http works, build one. Follow a tutorial like this one. https://ruslanspivak.com/lsbaws-part1/ or http://www.rubyguides.com/2016/08/build-your-own-web-server/

5. Todo list. You can implement this as a web or mobile app. If you want to take it to the next level, separate the back end and front end. So, create the front end as a iPhone or android app, and create your own API for retrieving the list, making a new item, and marking an item as complete.

6. Build a web scraper. You can make a tool that takes an url and returns the content of the url as html or xml.

7. An expense tracker. Create a simple interface you can add expenses and categorize them. Generate monthly reports in html, or csv.

8. Lunch picker. An app for helping decided where go to lunch. It can be simple and pick from a range of options you know you like at random, or more complex and use an API like Foursquare or Google Reviews and take into account location, price, reviews, and type of cuisine.

9. Realtime Free Image search app. You can use the Unplash API for the high quality pictures. You can make it that users can bookmark their favorite pictures.

10. Habit Tracker. Build an app to track your daily and weekly habits. Morning routines, gym sessions, running, meditation, and more. Make mobile friendly so that you can use on the go.

11. An email newsletter app. Use Mailchimp as an example and try to building any of its feature.

More side projects ideas

40 Side Project Ideas for Software Engineers

✅ Every time you build a to-do list app, a puppy 🐕 dies 😢

Remember Sharing is caring!