This post originally appeared on JustinDFuller.com.
Are you struggling to find projects to showcase to potential employers? Have you been practicing LeetCode as you prepare to interview for a Software Development job? Do you occasionally practice a Kata on Codewars to keep your skills from getting rusty?
If you answered yes to any of these questions, you should consider saving every practice problem you do in a public git repo, like Github.
Projects are a great way to learn, but most people don't have time to work on big projects in their free time. Another option is to work on algorithmic problems. You've got an almost 100% chance of running into at least one algorithm question if you are interviewing, plus they are a good way to learn a new programming language.
If you have been a developer for years, practicing algorithm problems is a great way to keep your skills sharp—particularly on a groggy Monday morning when you are having trouble getting started, or on a Friday afternoon when you are feeling unmotivated. A quick practice problem can get your brain moving.
I recently started learning C++. To keep track of what I am learning I created a practice problem repo of my own that I hope to see grow over time.
What do I plan to do with it?
Code review myself.
- From time to time I will come back to the code and review it. I'll ask myself, "based on what I have learned, is this still the best way to implement this?" If the answer is no, I will create a new one and document what I misunderstood when I originally wrote the code.
Use it as a knowledge repository.
- I may have a similar problem pop up in a real application in the future. Now I have a knowledge repo that demonstrates how I solved it the first time.
What can you use it for?
- Learning a new programming language.
- Practice each new concept you learn and save it for review later; make sure you don't just copy and paste examples, though!
- Tracking your improvement over time.
- Occasionally review your old code. What have you learned since you wrote it?
- A personal knowledge repository.
- When you get a tough problem at work, maybe you've done something similar before—now you have a way to remember.
- A showcase for potential employers.
- New college graduate or long-time developer, there's no better way to show your skill than to have a potential employer see your code.
Hi, I’m Justin Fuller. I’m so glad you read my post! I need to let you know that everything I’ve written here is my own opinion and is not intended to represent my employer. All code samples are my own.
(open source and trusted by devs everywhere ❤️)